)]}'
{
  "log": [
    {
      "commit": "2624565caacedd740fce7803fe2c162842aa5df4",
      "tree": "fe177bad8d72bfefa138a3abd7f8c7b92f549169",
      "parents": [
        "4906f3b4cddc3e4d62955ed386598561f95602c0"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:11 2008 +0100"
      },
      "message": "ide: use wait_drive_not_busy() in drive_cmd_intr() (take 2)\n\nUse wait_drive_not_busy() in drive_cmd_intr().\n\nv2:\n* Fix wait_drive_not_busy() comment (noticed by Sergei).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "4906f3b4cddc3e4d62955ed386598561f95602c0",
      "tree": "fcf2ef00e2d6625ae521a83d101a3c7a92ae5c6a",
      "parents": [
        "4d7a984bdcbdda69fc6b2a4a655415140270aa7b"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:11 2008 +0100"
      },
      "message": "ide: kill DATA_READY define\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "4d7a984bdcbdda69fc6b2a4a655415140270aa7b",
      "tree": "92d331aa25949277fe76354dfdaf5a5d6e62aaf4",
      "parents": [
        "79f21b84d94c02b941818df282b61f2a5a028722"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Jan 26 20:13:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:11 2008 +0100"
      },
      "message": "ide: task_end_request() fix\n\ntask_end_request() modified to always call ide_end_drive_cmd()\nfor taskfile requests.  Previously, ide_end_drive_cmd() was\ncalled only when IDE_TFLAG_FLAGGED was set.  Also,\nide_dma_intr() is modified to use task_end_request().\n\nEnables TASKFILE ioctls to get valid register outputs on\nsuccessful completion.\n\nBart:\n- ported it over recent IDE changes\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "657cc1a8f6cd6a9e2974cba3af9fccd8c25e06ad",
      "tree": "4f1542ec2738993193ac4c02cba78aa4ed981f80",
      "parents": [
        "3687221f28058c40e2c57a286decd0caeac67382"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:10 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:10 2008 +0100"
      },
      "message": "ide: set IDE_TFLAG_IN_* flags before queuing/executing command\n\n* Add IDE_TFLAG_{HOB,TF,DEVICE} defines.\n\n* Set IDE_TFLAG_IN_* flags in {do_rw,ide_no_data,ide_raw}_taskfile() users.\n\n* Remove no longer needed -\u003etf_flags setup from ide_end_drive_cmd().\n\nThere should be no functionality changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "35cf2b94d0ecb7034cfa05dd725721538bbb83fc",
      "tree": "6c3681f06b078626aeeb8de1e28bbdd458f95c70",
      "parents": [
        "63c4467805c9b23231d8bc9b61305b2013f9fea2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Jan 26 20:13:10 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:10 2008 +0100"
      },
      "message": "ide: fix -\u003eio_32bit race in ide_taskfile_ioctl()\n\nIn ide_taskfile_ioctl(), there was a race condition involving\ndrive-\u003eio_32bit.  It was cleared and restored during ioctl\nrequests but there was no synchronization with other requests.\nSo, other requests could execute with the altered -\u003eio_32bit\nsetting or updated drive-\u003eio_32bit could be overwritten by\nide_taskfile_ioctl().\n\nThis patch adds IDE_TFLAG_IO_16BIT flag to indicate to\nide_pio_datablock() that 16-bit I/O is needed regardless of\ndrive-\u003eio_32bit settting.\n\nBart:\n- ported it over recent IDE changes\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9e47be0c97f7357b80e91dc0632e9cce2eb025e0",
      "tree": "7047b2b3c9ac094b801d376e4bbb95292b1962ac",
      "parents": [
        "3a5015cc9d7051ce8e706ef48276d8484aac0c4b"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:09 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:09 2008 +0100"
      },
      "message": "ide: remove broken disk byte-swapping support\n\nRemove broken disk byte-swapping support:\n- it can cause a data corruption on SMP (or if using PREEMPT on UP)\n- all data coming from disk are byte-swapped by taskfile_*_data() which\n  results in incorrect identify data being reported by /proc/ide/ and IOCTLs\n- \"hdx\u003dbswap/byteswap\" kernel parameter has been broken on m68k host drivers\n  (including Atari/Q40 ones) since 2.5.x days (because of \u0027hwif\u0027 zero-ing)\n- byte-swapping is limited to PIO transfers (for working with TiVo disks on\n  x86 machines using user-space solutions or dm-byteswap should result in\n  much better performance because DMA can be used)\n\nFor previous discussions please see:\n\nhttp://www.ussg.iu.edu/hypermail/linux/kernel/0201.0/0768.html\nhttp://lkml.org/lkml/2004/2/28/111\n\n[ I have dm-byteswap device mapper target if somebody is interested\n  (patch is for 2.6.4 though but I\u0027ll dust it off if needed). ]\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "81ca691981da718727281238b435dcf1528d2fda",
      "tree": "4c4845a77d94fe91bd7d1345bf9d992852b8d572",
      "parents": [
        "4f52a32994f9e05fb8ae1a9ba3f20cd0b55145b7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:08 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:08 2008 +0100"
      },
      "message": "ide: add ide_set_irq() inline helper\n\nThere should be no functionality changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ade2daf9c6e57845fe83a24e0a9fa1c03c6e91b1",
      "tree": "68070062d6306442caee50630c4213c911eb9064",
      "parents": [
        "8ac4ce742c66100931b6f2d7a36b0df08bc721fe"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:07 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:07 2008 +0100"
      },
      "message": "ide: make remaining built-in only IDE host drivers modular (take 2)\n\n* Make remaining built-in only IDE host drivers modular, add ide-scan-pci.c\n  file for probing PCI host drivers registered with IDE core (special case\n  for built-in IDE and CONFIG_IDEPCI_PCIBUS_ORDER\u003dy) and then take care of\n  the ordering in which all IDE host drivers are probed when IDE is built-in\n  during link time.\n\n* Move probing of gayle, falconide, macide, q40ide and buddha (m68k arch\n  specific) host drivers, before PCI ones (no PCI on m68k), ide-cris (cris\n  arch specific), cmd640 (x86 arch specific) and pmac (ppc arch specific).\n\n* Move probing of ide-cris (cris arch specific) host driver before cmd640\n  (x86 arch specific).\n\n* Move probing of mpc8xx (ppc specific) host driver before ide-pnp (depends\n  on ISA and none of ppc platform that use mpc8xx supports ISA) and ide-h8300\n  (h8300 arch specific).\n\n* Add \"probe_vlb\" kernel parameter to cmd640 host driver and update\n  Documentation/ide.txt accordingly.\n\n* Make IDE_ARM config option visible so it can also be disabled if needed.\n\n* Remove bogus comment from ide.c while at it.\n\nv2:\n* Fix two issues spotted by Sergei:\n  - replace ENOMEM error value by ENOENT in ide-h8300 host driver\n  - fix MODULE_PARM_DESC() in cmd640 host driver\n\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "cbb010c180294a5242a7681555c28737d9dd26ab",
      "tree": "073883d1dc672bb38021563ca0d9cd762cd5abf2",
      "parents": [
        "57c802e84f9c759c3d1794a9dbe81bc10444df62"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:06 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:06 2008 +0100"
      },
      "message": "ide: drop \u0027initializing\u0027 argument from ide_register_hw()\n\n* Rename init_hwif_data() to ide_init_port_data() and export it.\n\n* For all users of ide_register_hw() with \u0027initializing\u0027 argument set\n  hwif-\u003epresent and hwif-\u003ehold are always zero so convert these host\n  drivers to use ide_find_port()+ide_init_port_data()+ide_init_port_hw()\n  instead (also no need for init_hwif_default() call since the setup\n  done by it gets over-ridden by ide_init_port_hw() call).\n\n* Drop \u0027initializing\u0027 argument from ide_register_hw().\n\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "57c802e84f9c759c3d1794a9dbe81bc10444df62",
      "tree": "e8774704b3394b12efbb787022cc11b48a13dec0",
      "parents": [
        "8f8e8483f667d79739007b25f0e59a540fb9fa51"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:05 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:05 2008 +0100"
      },
      "message": "ide: add ide_init_port_hw() helper\n\n* Add ide_init_port_hw() helper.\n\n* rapide.c: convert rapide_locate_hwif() to rapide_setup_ports()\n  and use ide_init_port_hw().\n\n* ide_platform.c: convert plat_ide_locate_hwif() to plat_ide_setup_ports()\n  and use ide_init_port_hw().\n\n* sgiioc4.c: use ide_init_port_hw().\n\n* pmac.c: add \u0027hw_regs_t *hw\u0027 argument to pmac_ide_setup_device(),\n  setup \u0027hw\u0027 in pmac_ide_{macio,pci}_attach() and use ide_init_port_hw()\n  in pmac_ide_setup_device().\n\nThis patch is a preparation for the future changes in the IDE probing code.\n\nThere should be no functionality changes caused by this patch.\n\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: Jeremy Higdon \u003cjeremy@sgi.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b0d5bc27ce995adaafbc114b92fa76815025c94e",
      "tree": "ee3cd3336be0cbb32b9b823bac0a051c0e531c04",
      "parents": [
        "151575e4644f917d3a9f83c777ac3543284954f8"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Sat Jan 26 20:13:05 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:05 2008 +0100"
      },
      "message": "ide: Fix build break caused by \"ide: remove ideprobe_init()\"\n\nFix build break of powerpc holly_defconfig:\n\nIn file included from arch/powerpc/platforms/embedded6xx/holly.c:24:\ninclude/linux/ide.h:1206: error: \u0027CONFIG_IDE_MAX_HWIFS\u0027 undeclared here (not in a function)\n\nThere\u0027s no need to have a sized array in the prototype, might as well\nturn it into a pointer.\n\nIt could probably be argued that large parts of the include file can be\ncovered under #ifdef CONFIG_IDE, but that\u0027s a larger undertaking.\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "151575e4644f917d3a9f83c777ac3543284954f8",
      "tree": "766f73e934b270972b5875cc36cbc98e2e3b7469",
      "parents": [
        "71518342bfdfbe508ee325ab5e20984ba2da7de2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:05 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:05 2008 +0100"
      },
      "message": "ide: remove ideprobe_init()\n\n* Rename ide_device_add() to ide_device_add_all() and make it accept\n  \u0027u8 idx[MAX_HWIFS]\u0027 instead of \u0027u8 idx[4]\u0027 as an argument.\n\n* Add ide_device_add() wrapper for ide_device_add_all().\n\n* Convert ide_generic_init() to use ide_device_add_all().\n\n* Remove no longer needed ideprobe_init().\n\nThere should be no functionality changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f01393e48c44e30f7c9a36c8b98a07b0232580fe",
      "tree": "d585310ef7ee6509285a96b849af2e544e5fea25",
      "parents": [
        "6dd9b8376adbee95ddc321cc83c7f641577e01f6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:03 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:03 2008 +0100"
      },
      "message": "ide: merge -\u003efixup and -\u003equirkproc methods\n\n* Assign drive-\u003equirk_list in -\u003equirkproc implementations:\n  - hpt366.c::hpt3xx_quirkproc()\n  - pdc202xx_new.c::pdcnew_quirkproc()\n  - pdc202xx_old.c::pdc202xx_quirkproc()\n\n* Make -\u003equirkproc void.\n\n* Move calling -\u003equirkproc from do_identify() to probe_hwif().\n\n* Convert it821x_fixups() to it821x_quirkproc() in it821x.c.\n\n* Convert siimage_fixup() to sil_quirkproc() in siimage.c, also remove\n  no longer needed drive-\u003epresent check from is_dev_seagate_sata().\n\n* Convert ide_undecoded_slave() to accept \u0027drive\u0027 instead of \u0027hwif\u0027\n  as an argument.  Then convert ide_register_hw() to accept \u0027quirkproc\u0027\n  argument instead of \u0027fixup\u0027 one.\n\n* Remove no longer needed -\u003efixup method.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "15ce926ada545cb078711bd9a18c083c93fa01d7",
      "tree": "9496cda87cae6ef3390c5f350741ad75418dfe8d",
      "parents": [
        "f37aaf9edeba3f4ae10d22aefc09c06af9ea39b6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:03 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:03 2008 +0100"
      },
      "message": "ide: merge -\u003edma_host_{on,off} methods into -\u003edma_host_set method\n\nMerge -\u003edma_host_{on,off} methods into -\u003edma_host_set method\nwhich takes \u0027int on\u0027 argument.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "4a546e046d562bcd389149591fa5a534c8f832ca",
      "tree": "ffc5c7bd088a0bf74744721b9cfcf18220a75fdf",
      "parents": [
        "378f577f7f75aa18a0eeafb044a491dcd5aeaa3d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:01 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:01 2008 +0100"
      },
      "message": "ide: remove -\u003eide_dma_on and -\u003edma_off_quietly methods from ide_hwif_t\n\n* Make ide_dma_off_quietly() and __ide_dma_on() always available.\n\n* Drop \"__\" prefix from __ide_dma_on().\n\n* Check for presence of -\u003edma_host_on instead of -\u003eide_dma_on.\n\n* Convert all users of -\u003eide_dma_on and -\u003edma_off_quietly methods\n  to use ide_dma_on() and ide_dma_off_quietly() instead.\n\n* Remove no longer needed -\u003eide_dma_on and -\u003edma_off_quietly methods\n  from ide_hwif_t.\n\n* Make ide_dma_on() void.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8704de8f296fcf6a4b2ff6bfd9a63974ad909b3e",
      "tree": "386dccd98e7fc77b0c6b45b999bf474c04851165",
      "parents": [
        "a530201afed5074dac69b29c519a1df59da97945"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:00 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Jan 26 20:13:00 2008 +0100"
      },
      "message": "cy82c693: add -\u003eset_dma_mode method\n\n* Fix SWDMA/MWDMA masks in cy82c693_chipset.\n\n* Add IDE_HFLAG_CY82C693 host flag and use it in ide_tune_dma() to\n  check whether the DMA should be enabled even if ide_max_dma_mode()\n  fails.\n\n* Convert cy82c693_dma_enable() to become cy82c693_set_dma_mode()\n  and remove no longer needed cy82c693_ide_dma_on().  Then set\n  IDE_HFLAG_CY82C693 instead of IDE_HFLAG_TRUST_BIOS_FOR_DMA in\n  cy82c693_chipset.\n\n* Bump driver version.\n\nAs a result of this patch cy82c693 driver will configure and use DMA on\nall SWDMA0-2 and MWDMA0-2 capable ATA devices instead of relying on BIOS.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "29bd17af7d8ffc16bb5eb286947495c166ea826e",
      "tree": "5c20c44b51bdb3573949d1dc23bc3d3927d759fa",
      "parents": [
        "2ba14a017a4ba8d2266316f481d4ad7400073d18",
        "2fe5c1d7eb88830b09c863a4b5b3279dc120f3af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:11:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:11:13 2008 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (31 commits)\n  ocfs2: clean up bh null checks\n  ocfs2: document access rules for blocked_lock_list\n  configfs: file.c fix possible recursive locking\n  configfs: dir.c fix possible recursive locking\n  configfs: Remove EXPERIMENTAL\n  ocfs2: bump version number\n  ocfs2/dlm: Clear joining_node on hearbeat node down\n  ocfs2: convert byte order of constant instead of variable\n  ocfs2: Update default cluster timeouts\n  ocfs2: printf fixes\n  ocfs2: Use generic_file_llseek\n  ocfs2: Safer read_inline_data()\n  ocfs2: Silence false lockdep warnings\n  [PATCH 2/2] ocfs2: cluster aware flock()\n  [PATCH 1/2] ocfs2: add flock lock type\n  ocfs2: Local alloc window size changeable via mount option\n  ocfs2: Support commit\u003d mount option\n  ocfs2: Add missing permission checks\n  [PATCH 2/2] ocfs2: Implement group add for online resize\n  [PATCH 1/2] ocfs2: Add group extend for online resize\n  ...\n"
    },
    {
      "commit": "2ba14a017a4ba8d2266316f481d4ad7400073d18",
      "tree": "6e86dcbbb7898eb747f1198e33961eb68bfcdb4d",
      "parents": [
        "99f1c97dbdb30e958edfd1ced0ae43df62504e07",
        "a984f58dd97f22f5113700322fed311a0ee29947"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:08:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:08:28 2008 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (67 commits)\n  fix drivers/ata/sata_fsl.c double-decl\n  [libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof()\n  pata_legacy: Merge winbond support\n  ata_generic: Cenatek support\n  pata_winbond: error return\n  pata_serverworks: Fix cable types and cosmetics\n  pata_mpc52xx: remove un-needed assignment\n  libata: fix off-by-one in error categorization\n  ahci: factor out AHCI enabling and enable AHCI before reading CAP\n  ata_piix: implement SIDPR SCR access\n  ata_piix: convert to prepare - activate initialization\n  libata: factor out ata_pci_activate_sff_host() from ata_pci_one()\n  [libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof()\n  pata_legacy: resychronize with upstream changes and resubmit\n  [libata] pata_legacy: typo fix\n  [libata] pata_winbond: update for new -\u003edata_xfer hook\n  pata_pcmcia: convert to new data_xfer prototype\n  libata annotations and fixes\n  libata: use dev_driver_string() instead of \"libata\" in libata-sff.c\n  ata_piix: kill unused constants and flags\n  ...\n"
    },
    {
      "commit": "d69a3ad6a0e47b2aa9b2b2ddfd385752132a4d34",
      "tree": "8e4a3283e9ce892217f69b1066d7933908652b00",
      "parents": [
        "e63aecb651ba73dffc62f9608ee1b7ae2a0ffd4b"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Oct 05 14:31:44 2007 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Jan 25 14:46:04 2008 -0800"
      },
      "message": "dlm: Split lock mode and flag constants into a sharable header.\n\nThis allows others to use the DLM constants without being tied to the\nfunction API of fs/dlm.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "b31fde6db2b76a9f7f59bf016652b46cff43f8da",
      "tree": "2af4c48ae97b9800604fc0b36bc5c274d46d4aa3",
      "parents": [
        "f31c338675872875e24f124af0689131b0c72600",
        "a999337b49fcdd2c4a475e97e4b8337ebdfa4abf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 13:59:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 13:59:51 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (509 commits)\n  V4L/DVB (7078): radio: fix sf16fmi section mismatch\n  V4L/DVB (7077): bt878: remove handcrafted PCI subsystem ID check\n  V4L/DVB (7075): Make a local function static\n  V4L/DVB (7074): DiB7000P: correct tuning problem for 7MHz channel\n  V4L/DVB (7073): DiB7070: Reception quality improved\n  V4L/DVB (7072): sets the MT2060 IF1 frequency according to EEPROM\n  V4L/DVB (7071): DiB0700: Start streaming the right way\n  V4L/DVB (7070): Fix some tuning problems\n  V4L/DVB (7069):  Support for myTV.t\n  V4L/DVB (7068): Add support for WinTV Nova-T-CE driver\n  V4L/DVB (7067): fix autoserach in the Hauppauge NOVA-T 500\n  V4L/DVB (7066):  ASUS My Cinema U3000 Mini DVBT Tuner\n  V4L/DVB (7065): Artec T14BR patches\n  V4L/DVB (7063): xc5000: Fix OOPS caused by missing firmware\n  V4L/DVB (7062): radio-si570x: Some fixes and new USB ID addition\n  V4L/DVB (7061): radio-si470x: Some cleanups\n  V4L/DVB (7060): em28xx: remove has_tuner\n  V4L/DVB (7059): cx88: Ensure the tuner is reset correctly\n  V4L/DVB (7058): IR corrections for the Pinnacle 800i\n  V4L/DVB (7056): tuner: suppress obsolete tuner i2c address warning for XC5000 tuners\n  ...\n"
    },
    {
      "commit": "f31c338675872875e24f124af0689131b0c72600",
      "tree": "cf12b28d52da1675ab32871abd2db455ffbfe920",
      "parents": [
        "0008bf54408d4c0637c24d34642f1038c299be95",
        "61a368c216897aa3bbee35b3f2e6db76ec73fad0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 13:57:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 13:57:26 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (67 commits)\n  ide: remove redundant DMA blacklist check from __ide_dma_on()\n  ide: cleanup ide_set_dma()\n  ide: remove redundant -\u003eide_dma_on call from set_using_dma()\n  sc1200: move DMA timings to timing tables\n  ide: add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag\n  sis5513: factor out UDMA programming code\n  pdc202xx_new: move PIO programming code to pdcnew_set_pio_mode()\n  ide: make \u0027extra\u0027 field in struct ide_port_info u8\n  ide: kill duplicate code in ide_dump_{ata,atapi}_status()\n  ide-disk: use ide_get_lba_addr()\n  ide: printk fix\n  ide: add ide_tf_read() helper\n  ide: fix registers loading order in ide_dump_ata_status()\n  ide-disk: use do_rw_taskfile() (take 2)\n  ide-disk: add ide_tf_set_cmd() helper\n  ide-disk: extend timeout for PIO-in commands\n  ide: remove \u0027handler\u0027 field from ide_task_t (take 2)\n  ide: use -\u003edata_phase to set -\u003ehandler in do_rw_taskfile()\n  ide: convert do_rw_taskfile() to use -\u003edata_phase\n  ide: merge flagged_taskfile() into do_rw_taskfile()\n  ...\n"
    },
    {
      "commit": "4db90a145292327b95b03f6dcd3352327235cc36",
      "tree": "c48ba5fc31e27d6fbdb8883151bdf237e7eb1920",
      "parents": [
        "428c6440ef933a3d9df5adfeb2cbb3ea7ebb6a68"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:18 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:18 2008 +0100"
      },
      "message": "ide: add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag\n\n* Add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag and use it to decide\n  what to do with transfer modes \u003c XFER_PIO_0 in ide_set_xfer_rate().\n\n* Set IDE_HFLAG_ABUSE_SET_DMA_MODE in host drivers that need it\n  (aec62xx, amd74xx, cs5520, cs5535, hpt34x, hpt366, pdc202xx_old,\n  serverworks, tc86c001 and via82cxxx) and cleanup -\u003eset_dma_mode\n  methods in host drivers that don\u0027t (IDE core code guarantees that\n  -\u003eset_dma_mode will be called only for modes which are present\n  in SWDMA/MWDMA/UDMA masks).\n\nWhile at it:\n\n* Add IDE_HFLAGS_HPT34X/HPT3XX/PDC202XX/SVWKS define in\n  hpt34x/hpt366/pdc202xx_old/serverworks host driver.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "3071a9d00b8684899d93f368e670c4de0293df29",
      "tree": "1fd259817ea0e513ff7db73c21309b5d97819da5",
      "parents": [
        "e62925dd26ef9594b8e4b9380b3211f6dae4ab96"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:17 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:17 2008 +0100"
      },
      "message": "ide: make \u0027extra\u0027 field in struct ide_port_info u8\n\nThe maximum value used currently for \u0027extra\u0027 field in struct ide_port_info\nis 240.\n\nMake \u0027extra\u0027 u8 so it packs nicely together with enablebits[] and \u0027chipset\u0027\nfields (ide_pci_enablebit_t is 3 bytes and hwif_chipset_t is 1 byte).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a501633c7d44087e806597d3a213d735346edd51",
      "tree": "b82d583f6e29beae7943860b01a0303985d197ea",
      "parents": [
        "1c904fcfbb0d8eef92ef42b1da378b4714143e46"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:17 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:17 2008 +0100"
      },
      "message": "ide-disk: use ide_get_lba_addr()\n\n* Export ide_get_lba_addr().\n\n* Convert idedisk_{read_native,set}_max_address() to use ide_get_lba_addr().\n\n* Remove incorrect comment from idedisk_read_native_max_address()\n  (noticed by Sergei).\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "c2b57cdc1d2976444d451a2a2e43e11b61ed0638",
      "tree": "f322e4d494d9688afd319fbe88afd6a526bb0154",
      "parents": [
        "d32444771b154c3ec37ebf6439004653560c2411"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:17 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:17 2008 +0100"
      },
      "message": "ide: add ide_tf_read() helper\n\n* Factor out code reading taskfile registers from ide_end_drive_cmd()\n  to the new ide_tf_read() helper.\n\n* Add IDE_TFLAG_IN_* taskfile flags to indicate the need to load\n  particular IDE taskfile register in ide_tf_read().\n\n* Update ide_end_drive_cmd() to set respective IDE_TFLAG_IN_* taksfile flags.\n\n* Add ide_get_lba_addr() for getting LBA sector address from taskfile struct.\n\n* Factor out code getting sector address from ide_dump_ata_status()\n  to the new ide_dump_sector() function.\n\n* Convert ide_dump_sector() to use ide_tf_read() and ide_get_lba_addr().\n\n* Remove no longer needed ide_read_24().\n\nThe only change in functionality caused by this patch is that\nide_dump_ata_status() no longer prints \"high\"/\"low\" parts of LBA48\nsector address (of course LBA48 sector address is still printed).\n\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f6e29e35cc0f9facf2eb0b0454f9b09021b5aa6f",
      "tree": "66f022af5e3b1a7ef5a0854c684604b6d2b64a9c",
      "parents": [
        "ba76ae3883ad9faa32a6b35271c6a407d6c96ca9"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:16 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:16 2008 +0100"
      },
      "message": "ide-disk: use do_rw_taskfile() (take 2)\n\n* Add IDE_TFLAG_DMA_PIO_FALLBACK taskfile flag to indicate the need\n  to skip loading taskfile registers in do_rw_taskfile().\n\n* Export do_rw_taskfile().\n\n* Convert __ide_do_rw_disk() to use do_rw_taskfile().\n\n* Unexport ide_tf_load().\n\n* Unexport {pre_task_out,task_in}_intr() and make it static.\n\n* Remove incorrect comment about do_rw_taskfile() from \u003clinux/ide.h\u003e.\n\nThere should be no functionality changes caused by this patch.\n\nv2:\n* Add missing blk_fs_request() check to task_dma_ok() (for VDMA).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "57d7366b78b74a9eef873e8212c03d8c2033a764",
      "tree": "5b3cefe3c08e765bf83050ddaf21e98b15f7949d",
      "parents": [
        "1192e528e064ebb9a578219731d2b0f78ca3c1ec"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:16 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:16 2008 +0100"
      },
      "message": "ide: remove \u0027handler\u0027 field from ide_task_t (take 2)\n\n* Add IDE_TFLAG_CUSTOM_HANDLER taskfile flag and use it for internal requests\n  which require custom handlers.  Check the flag in do_rw_taskfile() and set\n  handler accordingly.\n\n* Cleanup ide_init_{specify,restore,setmult}_cmd() and rename it to\n  ide_tf_set_{specify,restore,setmult}_cmd().\n\n* Make {set_geometry,recal,set_multmode}_intr() static.\n\n* Remove no longer needed \u0027handler\u0027 field from ide_task_t.\n\nv2:\n* \u0027handler\u0027 in do_rw_taskfile() must be set to NULL initially.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1192e528e064ebb9a578219731d2b0f78ca3c1ec",
      "tree": "d220412f152337618cbb19dac35c98016258e9b8",
      "parents": [
        "10d90157c83d4b6743c9063c36f9e7f27aa254b6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:16 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:16 2008 +0100"
      },
      "message": "ide: use -\u003edata_phase to set -\u003ehandler in do_rw_taskfile()\n\n* Use -\u003edata_phase to set -\u003ehandler in do_rw_taskfile() instead of\n  setting -\u003ehandler in callers of ide_raw_taskfile()/do_rw_taskfile().\n\n* Unexport task_no_data_intr() and make it static.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "10d90157c83d4b6743c9063c36f9e7f27aa254b6",
      "tree": "e4dd04ba916fee294629f7f6354d241f4f9b0619",
      "parents": [
        "1edee60e9d994f2b9a79b1333be39790683541fe"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:16 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:16 2008 +0100"
      },
      "message": "ide: convert do_rw_taskfile() to use -\u003edata_phase\n\n* Use task-\u003edata_phase in do_rw_taskfile() to decide what to do.\n\n* task-\u003eprehandler is only used by TASKFILE[_MULTI]_OUT so just\n  use pre_task_out_intr() directly and remove no longer needed\n  \u0027prehandler\u0027 field from ide_task_t.\n\n* Remove no longer needed ide_pre_handler_t type.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1edee60e9d994f2b9a79b1333be39790683541fe",
      "tree": "f180358d478d5f9366267afd8c9ff2104a2cb930",
      "parents": [
        "a7bbd20b50fb12b3a604c396b3d8a3449a43edcc"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:15 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:15 2008 +0100"
      },
      "message": "ide: merge flagged_taskfile() into do_rw_taskfile()\n\nBased on the earlier work by Tejun Heo.\n\ntask-\u003edata_phase \u003d\u003d TASKFILE_MULTI_{IN,OUT} vs drive-\u003emult_count \u003d\u003d 0\ncheck is needed also for ide_taskfile_ioctl() requests that don\u0027t have\nIDE_TFLAG_FLAGGED taskfile flag set.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "866e2ec9ce525de0e7c10d02ead8d85af27adffd",
      "tree": "a8bdbcd6405bc9eb5aecaeb68fdcf899e205401c",
      "parents": [
        "ac026ff254b32915bb14ba97a23b4019d137f181"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "message": "ide: remove \u0027tf_in_flags\u0027 field from ide_task_t\n\n* Add IDE_TFLAG_IN_DATA taskfile flag to indicate the need of reading\n  IDE_DATA_REG in ide_end_drive_cmd().\n\n  Set the new flag in ide_taskfile_ioctl() if -\u003ein_flags.b.data is set.\n\n* Add IDE_TFLAG_FLAGGED_SET_IN_FLAGS taskfile flag to indicate the\n  need of modifying -\u003ein_flags in ide_taskfile_ioctl().\n\n  Set the new flag in flagged_taskfile() and move the code modifying\n  -\u003etf_in_flags to ide_taskfile_ioctl().\n\n  While at it remove the bogus comment: -\u003etf_in_flags (except .b.data)\n  have no effect on selection of registers to read.\n\n* Remove no longer needed \u0027tf_in_flags\u0027 field from ide_task_t.\n\nAs the result we finally have the internals of HDIO_DRIVE_TASKFILE ioctl\nseparated from the core IDE code.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ac026ff254b32915bb14ba97a23b4019d137f181",
      "tree": "ab5687be210c4016d16fae7a8e51bfc1c41c4c42",
      "parents": [
        "7299a3918442dc9a5abb71b9f65b1dd17637c8c0"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "message": "ide: remove \u0027command_type\u0027 field from ide_task_t\n\n* Add \u0027data_buf\u0027 and \u0027nsect\u0027 variables in ide_taskfile_ioctl()\n  to cache data buffer pointer and number of sectors to transfer\n  (this allows us to have only one ide_diag_taskfile() call).\n\n* Add IDE_TFLAG_WRITE taskfile flag and use it to check whether\n  the REQ_RW request flag should be set.\n\n* Move -\u003ecommand_type handling from ide_diag_taskfile() to\n  ide_taskfile_ioctl() and use -\u003ereq_cmd instead of -\u003ecommand_type.\n\n* Add \u0027nsect\u0027 parameter to ide_raw_taskfile().\n\n* Merge ide_diag_taskfile() into ide_raw_taskfile().\n\n* Initialize -\u003edata_phase explicitly in idedisk_prepare_flush(),\n  ide_start_power_step() and ide_disk_special().\n\n* Remove no longer needed \u0027command_type\u0027 field from ide_task_t.\n\n* Add #ifndef/#endif __KERNEL__ to \u003clinux/hdreg.h\u003e around no\n  longer used by kernel IDE_DRIVE_TASK_* and TASKFILE_* defines.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7299a3918442dc9a5abb71b9f65b1dd17637c8c0",
      "tree": "50ace6bed3d1cc73a184270743d5c5d46ab4f2c7",
      "parents": [
        "f919790f8c929ab1b392ad1a0c2e1b53337b5071"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:14 2008 +0100"
      },
      "message": "ide: remove hwif-\u003eintrproc\n\nGiven that:\n\n* hpt366.c::hpt3xx_intrproc() is the only user of hwif-\u003eintrproc\n\n* hpt366.c::hpt3xx_quirkproc() sets drive-\u003equirk_list to 1 for quirky drives\n  which is a value unique to hpt366 host driver\n\nwe can remove hwif-\u003eintproc and just check for drive-\u003equirk_list \u003d\u003d 1\nin ide_do_request().\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f919790f8c929ab1b392ad1a0c2e1b53337b5071",
      "tree": "3b81af4512e5e4232af74f1bb1df6ede9a19a5fb",
      "parents": [
        "cd3dbc99da337f2130f3cb2691fbb65c8bf22337"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "message": "ide: remove SELECT_INTERRUPT()\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "cd3dbc99da337f2130f3cb2691fbb65c8bf22337",
      "tree": "c50ae590f17dc7f68d884b0f02c09c860c76c0e3",
      "parents": [
        "2fc573881957337c4ea1c84b92d2f27d076cad57"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "message": "ide: remove QUIRK_LIST()\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2fc573881957337c4ea1c84b92d2f27d076cad57",
      "tree": "790726063934a7ea8c384f2314d44bc03b22f779",
      "parents": [
        "932aead6d21b631b2058255981824008a6eae32e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:13 2008 +0100"
      },
      "message": "ide: add ide_pktcmd_tf_load() helper\n\nAdd ide_pktcmd_tf_load() helper and convert ATAPI device drivers to use it.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8e7657ae0f56c14882e53ffdae8055c2b1624de1",
      "tree": "93e8fbbf66d0a9f877b13d4534c6052713f3a268",
      "parents": [
        "790d1239898d4f893112280decd344d90f43ee96"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "message": "ide: remove atapi_ireason_t (take 3)\n\nRemove atapi_ireason_t.\n\nWhile at it:\n* replace \u0027HWIF(drive)\u0027 by \u0027drive-\u003ehwif\u0027 (or just \u0027hwif\u0027 where possible)\n\nv2:\n* v1 had CD and IO bits reversed in many places.\n\n* Use CD and IO defines from \u003clinux/hdreg.h\u003e.\n\nv3:\n* Fix incorrect \"(ireason \u0026 IO) \u003d\u003d test_bit()\". (Noticed by Sergei)\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "790d1239898d4f893112280decd344d90f43ee96",
      "tree": "a8ed2d8fedc4d62b28249d84db4c2904f738cbb3",
      "parents": [
        "e5f9f5a89a01abc2b9c09747452aeb9218d6bffd"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "message": "ide: remove ata_nsector_t, ata_data_t and atapi_bcount_t\n\nRemove ata_nsector_t, ata_data_t (unused) and atapi_bcount_t.\n\nWhile at it:\n* replace \u0027HWIF(drive)\u0027 by \u0027hwif\u0027\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "e5f9f5a89a01abc2b9c09747452aeb9218d6bffd",
      "tree": "6a09f9be2ccbc27ef0baf0001719a70240c02537",
      "parents": [
        "0e38a66a1e69821ab57a06d5a7b11f0df9275bf4"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "message": "ide: remove atapi_feature_t\n\nRemove atapi_feature_t.\n\nWhile at it:\n* replace \u0027HWIF(drive)\u0027 by \u0027hwif\u0027\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "0e38a66a1e69821ab57a06d5a7b11f0df9275bf4",
      "tree": "e287752203edfe30f3bdc5966eb8f4c91b508c45",
      "parents": [
        "22c525b976778cce5bb6f8fdcc70046168c54b1a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:12 2008 +0100"
      },
      "message": "ide: remove atapi_error_t (take 2)\n\nRemove atapi_error_t.\n\nWhile at it:\n* replace \u0027HWIF(drive)\u0027 by \u0027drive-\u003ehwif\u0027\n\nv2:\n* Add {ILI,EOM,LFS}_ERR defines to \u003clinux/hdreg.h\u003e.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "22c525b976778cce5bb6f8fdcc70046168c54b1a",
      "tree": "40ab6ef79aa8e059d55e8c55d19fdc4dfe7fdce3",
      "parents": [
        "6a2144146aa2e0eb60e48ba73ac0e1c51346edf6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "message": "ide: remove ata_status_t and atapi_status_t\n\nRemove ata_status_t (unused) and atapi_status_t.\n\nWhile at it:\n* replace \u0027HWIF(drive)\u0027 by \u0027drive-\u003ehwif\u0027 (or just \u0027hwif\u0027 where possible)\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6a2144146aa2e0eb60e48ba73ac0e1c51346edf6",
      "tree": "2fef7223ef38b8bd35b16b4006f6504370eb72c8",
      "parents": [
        "918337a85366ad0f1c4c08ebe45e4fb1e3a3c15f"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "message": "ide: CPU endianness doesn\u0027t matter for special_t\n\nspecial_t is used only internally by the IDE subsystem (it isn\u0027t\nrelated to hardware registers and isn\u0027t exported to the user-space).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "29ed2a5f8c4380959f18e9cbaff13bc61e09889c",
      "tree": "a248e118820c47d8286808643d42fcecd72e978e",
      "parents": [
        "14b89ef9814614f18a1fcae51e601e7e16a82ef7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:11 2008 +0100"
      },
      "message": "ide: remove REQ_TYPE_ATA_TASK\n\nBased on the earlier work by Tejun Heo.\n\nAll users are gone so we can finally remove it.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "807e35d695690011faa1ce3ad67dfc23c1e39bdc",
      "tree": "4b9b8328ea27896ea6050a90949d79f6e158d573",
      "parents": [
        "54688aa372cbc83c4361bfb9236f9bfe02168e19"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:10 2008 +0100"
      },
      "message": "ide: use ide_tf_load() in execute_drive_cmd()\n\n* Add IDE_TFLAG_OUT_DEVICE taskfile flag to indicate the need of writing\n  the Device register and handle it in ide_tf_load().\n\n  Update ide_tf_load() and {do_rw,flagged}_taskfile() users accordingly.\n\n* Use struct ide_taskfile and ide_tf_load() in execute_drive_cmd().\n\n* Make the debugging code dump all taskfile registers for both\n  REQ_ATA_TYPE_{CMD,TASK} requests and move it to ide_tf_load()\n  so it also covers REQ_ATA_TYPE_TASKFILE requests.\n\nThere should be no functionality changes caused by this patch\n(unless DEBUG is defined).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "4ee06b7e677da4c75f2fcc5fd850543852d18bf2",
      "tree": "0c7c4b1e2be3179cc25e95f4148577cd9047e398",
      "parents": [
        "f1ca6d37f991347b87d86430db42e2ab139d1b1d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:08 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:08 2008 +0100"
      },
      "message": "ide: remove stale ide.h \"configuration options\"\n\nRemove stale ide.h \"configuration options\":\n\n* INITIAL_MULT_COUNT - always defined to 0\n\n* SUPPORT_SLOW_DATA_PORTS - unused\n\n* OK_TO_RESET_CONTROLLER - always defined to 1\n\n* DISABLE_IRQ_NOSYNC - always defined to 0\n\nLeave SUPPORT_VLB_SYNC (defined to 0 for CRIS and FRV, otherwise to 1)\nfor now but disallow overriding it by \u003casm/ide.h\u003e.\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "74095a91ed02f6727b62d4416be00a041f2d7436",
      "tree": "033cc52877103739c5b55a2cfdd3bfaf6996d5d3",
      "parents": [
        "9a3c49be5c5f7388eefb712be9a383904140532e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "message": "ide: use do_rw_taskfile() in flagged_taskfile()\n\nBased on the earlier work by Tejun Heo.\n\n* Move setting IDE_TFLAG_LBA48 taskfile flag from do_rw_taskfile()\n  function to the callers.\n\n* Add IDE_TFLAG_FLAGGED taskfile flag for flagged taskfiles coming\n  from ide_taskfile_ioctl().  Check it instead of -\u003etf_out_flags.all.\n\n* Add IDE_TFLAG_OUT_DATA taskfile flag to indicate the need to load\n  IDE data register in ide_tf_load().\n\n* Add IDE_TFLAG_OUT_* taskfile flags to indicate the need to load\n  particular IDE taskfile registers in ide_tf_load().\n\n* Update do_rw_taskfile() and ide_tf_load() users to set respective\n  IDE_TFLAG_OUT_* taksfile flags.\n\n* Add task_dma_ok() helper.\n\n* Use IDE_TFLAG_FLAGGED taskfile flag to select HIHI mask in ide_tf_load().\n\n* Use do_rw_taskfile() in flagged_taskfile().\n\n* Remove no longer needed \u0027tf_out_flags\u0027 field from ide_task_t.\n\nThere should be no functionality changes caused by this patch.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9a3c49be5c5f7388eefb712be9a383904140532e",
      "tree": "5dc16604e155dcc6c14e65dc3cfce8605f2c8f82",
      "parents": [
        "9e42237f26cf517a3f682505f03a3a8d89b3b35d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "message": "ide: add ide_no_data_taskfile() helper\n\n* Add ide_no_data_taskfile() helper and convert ide_raw_taskfile() w/ NO DATA\n  protocol users to use it instead.\n\n* Set -\u003edata_phase explicitly in ide_no_data_taskfile()\n  (TASKFILE_NO_DATA is defined as 0x0000).\n\n* Unexport task_no_data_intr().\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9e42237f26cf517a3f682505f03a3a8d89b3b35d",
      "tree": "93b94dd8e1b1d9e257ed3ef84682bf4c0a22ad11",
      "parents": [
        "2bd06b23e2a099abbf550202f62cd433e01f83e7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:07 2008 +0100"
      },
      "message": "ide: add ide_tf_load() helper\n\nBased on the earlier work by Tejun Heo.\n\n* Add \u0027tf_flags\u0027 field (for taskfile flags) to ide_task_t.\n\n* Add IDE_TFLAG_LBA48 taskfile flag for LBA48 taskfiles.\n\n* Add IDE_TFLAG_NO_SELECT_MASK taskfile flag for __ide_do_rw_disk()\n  which doesn\u0027t use SELECT_MASK() (looks like a bug but it requires\n  some more investigation).\n\n* Split off ide_tf_load() helper from do_rw_taskfile().\n\n* Convert __ide_do_rw_disk() to use ide_tf_load().\n\nThere should be no functionality changes caused by this patch.\n\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "650d841d9e053a618dd8ce753422f91b493cf2f6",
      "tree": "70f81acbf856e4a4d8126bdf6d60144b374cc1a9",
      "parents": [
        "cd2a2d969761c26542095c01324201ca0b3ee896"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "message": "ide: add struct ide_taskfile (take 2)\n\n* Don\u0027t set write-only ide_task_t.hobRegister[6] and ide_task_t.hobRegister[7]\n  in idedisk_set_max_address_ext().\n\n* Add struct ide_taskfile and use it in ide_task_t instead of tfRegister[]\n  and hobRegister[].\n\n* Remove no longer needed IDE_CONTROL_OFFSET_HOB define.\n\n* Add #ifndef/#endif __KERNEL__ around definitions of {task,hob}_struct_t.\n\nWhile at it:\n\n* Use ATA_LBA define for LBA bit (0x40) as suggested by Tejun Heo.\n\nv2:\n* Add missing newlines. (Noticed by Sergei)\n\n* Use ~ATA_LBA instead of 0xBF. (Noticed by Sergei)\n\n* Use unnamed unions for error/feature and status/command.\n  (Suggested by Sergei).\n\nThere should be no functionality changes caused by this patch.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "cd2a2d969761c26542095c01324201ca0b3ee896",
      "tree": "fa95d329ac2f2ae3fca30833b8b0ec91aefbd243",
      "parents": [
        "1c029fd658baa2442e8e51dc9c819301cad95777"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:06 2008 +0100"
      },
      "message": "ide: remove task_ioreg_t typedef (take 2)\n\nRemove task_ioreg_t typedef from the kernel code (but leave it\nin \u003clinux/hdreg.h\u003e for #ifndef/#endif __KERNEL__ case).\n\nWhile at it also move sata_ioreg_t typedef under #ifndef/#endif __KERNEL__.\n\nv2:\nRemove name of the second parameter from ide_execute_command() declaration.\n(Noticed by Sergei).\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1c029fd658baa2442e8e51dc9c819301cad95777",
      "tree": "fbbfe6bb774001c9346ea0f772e5f4b0d469b989",
      "parents": [
        "866664d79f6a920af07e6503f64366f4c5b2d41f"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:05 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jan 25 22:17:05 2008 +0100"
      },
      "message": "ide: remove -\u003edma_master field from ide_hwif_t (take 5)\n\n* Convert cmd64x, hpt366 and pdc202xx_old host drivers to use\n  pci_resource_start(hwif-\u003epci_dev, 4) instead of hwif-\u003edma_master.\n\n* Remove no longer needed -\u003edma_master field from ide_hwif_t.\n\nv2:\n* Use the more readable \u0027hwif-\u003edma_base - (hwif-\u003echannel * 8)\u0027 instead of\n  pci_resource_start(hwif-\u003epci_dev, 4).\n\nv3:\n* Use hwif-\u003eextra_base in hpt366/pdc20xx_old + some cosmetic fixups over v2\n  (suggested by Sergei).\n\nv4:\n* Correct offsets in hpt3xxn_set_clock().\n\nv5:\n* Use hwif-\u003eextra_base in hpt366 for _real_ this time. (Noticed by Sergei)\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "0b394def21e7d3bd02aeee5570473582ce7984ec",
      "tree": "49ef5487de1439eb3087f3ee086537ecd464bfd3",
      "parents": [
        "9fad368b6dff95b8b009a6b8eed42a549a05b263"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Tue Dec 18 19:27:31 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Jan 25 19:04:07 2008 -0200"
      },
      "message": "V4L/DVB (6868): i2c-id.h: add I2C_DRIVERID_CS5345\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "05e997197e459a03df577ba49c34c1820957ee4a",
      "tree": "fd2e4b13b64933cd4197d2628dfb2ba4dd91ed85",
      "parents": [
        "761dacd25d9e9be2358df21a0f086bbb4cf1c789"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Tue Oct 30 05:41:54 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Fri Jan 25 19:01:47 2008 -0200"
      },
      "message": "V4L/DVB (6487): i2c-id: add M52790 driver ID\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "6d082592b62689fb91578d0338d04a9f50991990",
      "tree": "facef621798752724be64c3ded31a3c3fded1643",
      "parents": [
        "286100a6cf1c1f692e5f81d14b364ff12b7662f5"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:35 2008 +0100"
      },
      "message": "sched: keep total / count stats in addition to the max for\n\nRight now, the linux kernel (with scheduler statistics enabled) keeps track\nof the maximum time a process is waiting to be scheduled. While the maximum\nis a very useful metric, tracking average and total is equally useful\n(at least for latencytop) to figure out the accumulated effect of scheduler\ndelays. The accumulated effect is important to judge the performance impact\nof scheduler tuning/behavior.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "286100a6cf1c1f692e5f81d14b364ff12b7662f5",
      "tree": "00a6d3530bddfd522e89154ba7a6a75f7fb83932",
      "parents": [
        "5973e5b954848c63855a357ad4ff39882e3904f7"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched, futex: detach sched.h and futex.h\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "90739081ef8d5495d50abba9c5d333be9acd872a",
      "tree": "37dc5c626940a4bad6d9ffad81b7be12dc44f054",
      "parents": [
        "9745512ce79de686df354dc70a8d1a74d801892d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "softlockup: fix signedness\n\nfix softlockup tunables signedness.\n\nmark tunables read-mostly.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9745512ce79de686df354dc70a8d1a74d801892d",
      "tree": "9b64e2b2e6d2ae534beef136922082f21701c7b9",
      "parents": [
        "326587b840785c60f5dc18557235a23bafefd620"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched: latencytop support\n\nLatencyTOP kernel infrastructure; it measures latencies in the\nscheduler and tracks it system wide and per process.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e118adef232e637a8f091c1ded2fbf44fcf3ecc8",
      "tree": "80243829ae151f24519936a6a107b501ff813cc9",
      "parents": [
        "cc203d2422004498909c4886d1b94a2e388d973e"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "timers: don\u0027t #error on higher HZ values\n\nFor some crazy reason (trying to work around hw problem in i810) I wanted\nto use HZ around 4000.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6478d8800b75253b2a934ddcb734e13ade023ad0",
      "tree": "df4017269b8755735578445c0a8a9e8b3b2615e9",
      "parents": [
        "58b8a73ab8becfcaea84abc2a06038281efa4c8a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:33 2008 +0100"
      },
      "message": "sched: remove the !PREEMPT_BKL code\n\nremove the !PREEMPT_BKL code.\n\nthis removes 160 lines of legacy code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3d74453c34f8fd87674a8cf5b8a327c68f22e99",
      "tree": "cbbd46eb7b81f5c9d39a93604a206ac775084858",
      "parents": [
        "2d44ae4d7135b9aee26439b3523b43473381bc5f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "message": "hrtimer: fixup the HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback\n\nCurrently all highres\u003doff timers are run from softirq context, but\nHRTIMER_CB_IRQSAFE_NO_SOFTIRQ timers expect to run from irq context.\n\nFix this up by splitting it similar to the highres\u003don case.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48d5e258216f1c7713633439beb98a38c7290649",
      "tree": "6f8c98785015d56337e87ed56b23d39feeeaf846",
      "parents": [
        "614ee1f61f667b02165c1ae0c1357048dc6d94a0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "message": "sched: rt throttling vs no_hz\n\nWe need to teach no_hz about the rt throttling because its tick driven.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f505b16425a51270058e4a93441fe64de3dd435",
      "tree": "be21e711d93bc4d088b97c4a4f585a5044dbaa7d",
      "parents": [
        "fa85ae2418e6843953107cd6a06f645752829bc0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:30 2008 +0100"
      },
      "message": "sched: rt group scheduling\n\nExtend group scheduling to also cover the realtime classes. It uses the time\nlimiting introduced by the previous patch to allow multiple realtime groups.\n\nThe hard time limit is required to keep behaviour deterministic.\n\nThe algorithms used make the realtime scheduler O(tg), linear scaling wrt the\nnumber of task groups. This is the worst case behaviour I can\u0027t seem to get out\nof, the avg. case of the algorithms can be improved, I focused on correctness\nand worst case.\n\n[ akpm@linux-foundation.org: move side-effects out of BUG_ON(). ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa85ae2418e6843953107cd6a06f645752829bc0",
      "tree": "004130ac471247a29d3f6adfbfe61c474e725779",
      "parents": [
        "8f4d37ec073c17e2d4aa8851df5837d798606d6f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "message": "sched: rt time limit\n\nVery simple time limit on the realtime scheduling classes.\nAllow the rq\u0027s realtime class to consume sched_rt_ratio of every\nsched_rt_period slice. If the class exceeds this quota the fair class\nwill preempt the realtime class.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f4d37ec073c17e2d4aa8851df5837d798606d6f",
      "tree": "a9ac9063eca53e4d0110e8086f55241ea70ba993",
      "parents": [
        "02b67cc3ba36bdba351d6c3a00593f4ec550d9d3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "message": "sched: high-res preemption tick\n\nUse HR-timers (when available) to deliver an accurate preemption tick.\n\nThe regular scheduler tick that runs at 1/HZ can be too coarse when nice\nlevel are used. The fairness system will still keep the cpu utilisation \u0027fair\u0027\nby then delaying the task that got an excessive amount of CPU time but try to\nminimize this by delivering preemption points spot-on.\n\nThe average frequency of this extra interrupt is sched_latency / nr_latency.\nWhich need not be higher than 1/HZ, its just that the distribution within the\nsched_latency period is important.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02b67cc3ba36bdba351d6c3a00593f4ec550d9d3",
      "tree": "5185ad2d780974dc864f12d81d6c8b9fec73097b",
      "parents": [
        "03319ec8b06849051747a17aa2a0f9aba9277980"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 25 21:08:28 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:28 2008 +0100"
      },
      "message": "sched: do not do cond_resched() when CONFIG_PREEMPT\n\nWhy do we even have cond_resched when real preemption\nis on? It seems to be a waste of space and time.\n\nremove cond_resched with CONFIG_PREEMPT on.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "78f2c7db6068fd6ef75b8c120f04a388848eacb5",
      "tree": "994e8082a01c78e691bacb90c0f8368823c87767",
      "parents": [
        "fa717060f1ab7eb6570f2fb49136f838fc9195a9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:27 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:27 2008 +0100"
      },
      "message": "sched: SCHED_FIFO/SCHED_RR watchdog timer\n\nIntroduce a new rlimit that allows the user to set a runtime timeout on\nreal-time tasks their slice. Once this limit is exceeded the task will receive\nSIGXCPU.\n\nSo it measures runtime since the last sleep.\n\nInput and ideas by Thomas Gleixner and Lennart Poettering.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Lennart Poettering \u003cmzxreary@0pointer.de\u003e\nCC: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCC: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa717060f1ab7eb6570f2fb49136f838fc9195a9",
      "tree": "0338460dae3116563645e3bfa1ff5100d39826f8",
      "parents": [
        "8eb703e4f33488bf75829564d51d427e17f7cd4c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:27 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:27 2008 +0100"
      },
      "message": "sched: sched_rt_entity\n\nMove the task_struct members specific to rt scheduling together.\nA future optimization could be to put sched_entity and sched_rt_entity\ninto a union.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e260be673a15b6125068270e0216a3bfbfc12f87",
      "tree": "f50760606d395bf6faa9e865f814761a3c88d32c",
      "parents": [
        "e0ecfa7917cafe72f4a75f87e8bb5d8d51dc534f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "message": "Preempt-RCU: implementation\n\nThis patch implements a new version of RCU which allows its read-side\ncritical sections to be preempted. It uses a set of counter pairs\nto keep track of the read-side critical sections and flips them\nwhen all tasks exit read-side critical section. The details\nof this implementation can be found in this paper -\n\n\thttp://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf\n\nand the article-\n\n\thttp://lwn.net/Articles/253651/\n\nThis patch was developed as a part of the -rt kernel development and\nmeant to provide better latencies when read-side critical sections of\nRCU don\u0027t disable preemption.  As a consequence of keeping track of RCU\nreaders, the readers have a slight overhead (optimizations in the paper).\nThis implementation co-exists with the \"classic\" RCU implementations\nand can be switched to at compiler.\n\nAlso includes RCU tracing summarized in debugfs.\n\n[ akpm@linux-foundation.org: build fixes on non-preempt architectures ]\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "01c1c660f4b8086cad7a62345fd04290f3d82c8f",
      "tree": "bd09ab1fc3f9e267b1ea78f1a41b121175e1585a",
      "parents": [
        "c2d727aa2ff17a1c8e5ed1e5e231bb8579b27e82"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:24 2008 +0100"
      },
      "message": "Preempt-RCU: reorganize RCU code into rcuclassic.c and rcupdate.c\n\nThis patch re-organizes the RCU code to enable multiple implementations\nof RCU. Users of RCU continues to include rcupdate.h and the\nRCU interfaces remain the same. This is in preparation for\nsubsequently merging the preemptible RCU implementation.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c2d727aa2ff17a1c8e5ed1e5e231bb8579b27e82",
      "tree": "76b570288a72c1337920c5e60682316c554f00ee",
      "parents": [
        "c49443c538c1bbf50eda27e4a3711e9fc15176b0"
      ],
      "author": {
        "name": "Dipankar Sarma",
        "email": "dipankar@in.ibm.com",
        "time": "Fri Jan 25 21:08:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:23 2008 +0100"
      },
      "message": "Preempt-RCU: Use softirq instead of tasklets for\n\nThis patch makes RCU use softirq instead of tasklets.\n\nIt also adds a memory barrier after raising the softirq\ninorder to ensure that the cpu sees the most recently updated\nvalue of rcu-\u003ecur while processing callbacks.\nThe discussion of the related theoretical race pointed out\nby James Huang can be found here --\u003e http://lkml.org/lkml/2007/11/20/603\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb46984504048db946cd551c261df4e70d59a8ea",
      "tree": "e07343cc5967f74370c6b0290b67a225d868a99d",
      "parents": [
        "9a897c5a6701bcb6f099f7ca20194999102729fd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 25 21:08:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:22 2008 +0100"
      },
      "message": "sched: RT-balance, add new methods to sched_class\n\nDmitry Adamushko found that the current implementation of the RT\nbalancing code left out changes to the sched_setscheduler and\nrt_mutex_setprio.\n\nThis patch addresses this issue by adding methods to the schedule classes\nto handle being switched out of (switched_from) and being switched into\n(switched_to) a sched_class. Also a method for changing of priorities\nis also added (prio_changed).\n\nThis patch also removes some duplicate logic between rt_mutex_setprio and\nsched_setscheduler.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a897c5a6701bcb6f099f7ca20194999102729fd",
      "tree": "9c5415d5e2dd115660200cbd246fe1343cd5cd5c",
      "parents": [
        "4bf0b77158d581c952af237aec79d0604b78fe27"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 25 21:08:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:22 2008 +0100"
      },
      "message": "sched: RT-balance, replace hooks with pre/post schedule and wakeup methods\n\nTo make the main sched.c code more agnostic to the schedule classes.\nInstead of having specific hooks in the schedule code for the RT class\nbalancing. They are replaced with a pre_schedule, post_schedule\nand task_wake_up methods. These methods may be used by any of the classes\nbut currently, only the sched_rt class implements them.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32525d022ad52a5c14e80e130260431e16e294b6",
      "tree": "1a4addc080a63c57d817320ae917a7425f10b7ad",
      "parents": [
        "52d853431e8d9dc17ba94792123a3fe2bc039831"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:20 2008 +0100"
      },
      "message": "sched: whitespace cleanups in topology.h\n\nwhitespace cleanups in topology.h.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "52d853431e8d9dc17ba94792123a3fe2bc039831",
      "tree": "996455f11e380eda8a37b91de0ca9245f610a35f",
      "parents": [
        "b913176917399e92e6f741672038c73d7ce93be5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:20 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:20 2008 +0100"
      },
      "message": "sched: reactivate fork balancing\n\nreactivate fork balancing.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "57d885fea0da0e9541d7730a9e1dcf734981a173",
      "tree": "80f08ea6ed506e2aac30c89b8ae1eee7f008a378",
      "parents": [
        "7f51f298204ec0528422cd9b23feac12612c5665"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:18 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:18 2008 +0100"
      },
      "message": "sched: add sched-domain roots\n\nWe add the notion of a root-domain which will be used later to rescope\nglobal variables to per-domain variables.  Each exclusive cpuset\nessentially defines an island domain by fully partitioning the member cpus\nfrom any other cpuset.  However, we currently still maintain some\npolicy/state as global variables which transcend all cpusets.  Consider,\nfor instance, rt-overload state.\n\nWhenever a new exclusive cpuset is created, we also create a new\nroot-domain object and move each cpu member to the root-domain\u0027s span.\nBy default the system creates a single root-domain with all cpus as\nmembers (mimicking the global state we have today).\n\nWe add some plumbing for storing class specific data in our root-domain.\nWhenever a RQ is switching root-domains (because of repartitioning) we\ngive each sched_class the opportunity to remove any state from its old\ndomain and add state to the new one.  This logic doesn\u0027t have any clients\nyet but it will later in the series.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Christoph Lameter \u003cclameter@sgi.com\u003e\nCC: Paul Jackson \u003cpj@sgi.com\u003e\nCC: Simon Derr \u003csimon.derr@bull.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e7693a362ec84bb5b6fd441d8a8b4b9d568a7a0c",
      "tree": "078940540641a59aaf199695bfc6de3f062a987b",
      "parents": [
        "697f0a487f294e634a342764472b79375bb3158a"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:09 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:09 2008 +0100"
      },
      "message": "sched: de-SCHED_OTHER-ize the RT path\n\nThe current wake-up code path tries to determine if it can optimize the\nwake-up to \"this_cpu\" by computing load calculations.  The problem is that\nthese calculations are only relevant to SCHED_OTHER tasks where load is king.\nFor RT tasks, priority is king.  So the load calculation is completely wasted\nbandwidth.\n\nTherefore, we create a new sched_class interface to help with\npre-wakeup routing decisions and move the load calculation as a function\nof CFS task\u0027s class.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "73fe6aae84400e2b475e2a1dc4e8592cd3ed6e69",
      "tree": "97c7d6a866d75563082c422491fc423b47aca9d7",
      "parents": [
        "c7a1e46aa9782a947cf2ed506245d43396dbf991"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:07 2008 +0100"
      },
      "message": "sched: add RT-balance cpu-weight\n\nSome RT tasks (particularly kthreads) are bound to one specific CPU.\nIt is fairly common for two or more bound tasks to get queued up at the\nsame time.  Consider, for instance, softirq_timer and softirq_sched.  A\ntimer goes off in an ISR which schedules softirq_thread to run at RT50.\nThen the timer handler determines that it\u0027s time to smp-rebalance the\nsystem so it schedules softirq_sched to run.  So we are in a situation\nwhere we have two RT50 tasks queued, and the system will go into\nrt-overload condition to request other CPUs for help.\n\nThis causes two problems in the current code:\n\n1) If a high-priority bound task and a low-priority unbounded task queue\n   up behind the running task, we will fail to ever relocate the unbounded\n   task because we terminate the search on the first unmovable task.\n\n2) We spend precious futile cycles in the fast-path trying to pull\n   overloaded tasks over.  It is therefore optimial to strive to avoid the\n   overhead all together if we can cheaply detect the condition before\n   overload even occurs.\n\nThis patch tries to achieve this optimization by utilizing the hamming\nweight of the task-\u003ecpus_allowed mask.  A weight of 1 indicates that\nthe task cannot be migrated.  We will then utilize this information to\nskip non-migratable tasks and to eliminate uncessary rebalance attempts.\n\nWe introduce a per-rq variable to count the number of migratable tasks\nthat are currently running.  We only go into overload if we have more\nthan one rt task, AND at least one of them is migratable.\n\nIn addition, we introduce a per-task variable to cache the cpus_allowed\nweight, since the hamming calculation is probably relatively expensive.\nWe only update the cached value when the mask is updated which should be\nrelatively infrequent, especially compared to scheduling frequency\nin the fast path.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "82a1fcb90287052aabfa235e7ffc693ea003fe69",
      "tree": "826b464a248bebe259fe787f7b8d17d5626cf2c5",
      "parents": [
        "d0d23b5432fe61229dd3641c5e94d4130bc4e61b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "message": "softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks\n\nthis patch extends the soft-lockup detector to automatically\ndetect hung TASK_UNINTERRUPTIBLE tasks. Such hung tasks are\nprinted the following way:\n\n ------------------\u003e\n INFO: task prctl:3042 blocked for more than 120 seconds.\n \"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message\n prctl         D fd5e3793     0  3042   2997\n        f6050f38 00000046 00000001 fd5e3793 00000009 c06d8264 c06dae80 00000286\n        f6050f40 f6050f00 f7d34d90 f7d34fc8 c1e1be80 00000001 f6050000 00000000\n        f7e92d00 00000286 f6050f18 c0489d1a f6050f40 00006605 00000000 c0133a5b\n Call Trace:\n  [\u003cc04883a5\u003e] schedule_timeout+0x6d/0x8b\n  [\u003cc04883d8\u003e] schedule_timeout_uninterruptible+0x15/0x17\n  [\u003cc0133a76\u003e] msleep+0x10/0x16\n  [\u003cc0138974\u003e] sys_prctl+0x30/0x1e2\n  [\u003cc0104c52\u003e] sysenter_past_esp+0x5f/0xa5\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n 2 locks held by prctl/3042:\n #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#5){--..}, at: [\u003cc0197d11\u003e] do_fsync+0x38/0x7a\n #1:  (jbd_handle){--..}, at: [\u003cc01ca3d2\u003e] journal_start+0xc7/0xe9\n \u003c------------------\n\nthe current default timeout is 120 seconds. Such messages are printed\nup to 10 times per bootup. If the system has crashed already then the\nmessages are not printed.\n\nif lockdep is enabled then all held locks are printed as well.\n\nthis feature is a natural extension to the softlockup-detector (kernel\nlocked up without scheduling) and to the NMI watchdog (kernel locked up\nwith IRQs disabled).\n\n[ Gautham R Shenoy \u003cego@in.ibm.com\u003e: CPU hotplug fixes. ]\n[ Andrew Morton \u003cakpm@linux-foundation.org\u003e: build warning fix. ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "d0d23b5432fe61229dd3641c5e94d4130bc4e61b",
      "tree": "dbd5e2af9dcbeba8cdb0745fa22904102df8b8f1",
      "parents": [
        "95402b3829010fe1e208f44e4a158ccade88969a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "message": "cpu-hotplug: fix build on !CONFIG_SMP\n\nfix build on !CONFIG_SMP.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "95402b3829010fe1e208f44e4a158ccade88969a",
      "tree": "3b9895b47623b4673e3c11121980e5171af76bbe",
      "parents": [
        "86ef5c9a8edd78e6bf92879f32329d89b2d55b5a"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "message": "cpu-hotplug: replace per-subsystem mutexes with get_online_cpus()\n\nThis patch converts the known per-subsystem mutexes to get_online_cpus\nput_online_cpus. It also eliminates the CPU_LOCK_ACQUIRE and\nCPU_LOCK_RELEASE hotplug notification events.\n\nSigned-off-by: Gautham  R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "86ef5c9a8edd78e6bf92879f32329d89b2d55b5a",
      "tree": "7bf46885326a6fdbb0c3596855408e9a5634dd3a",
      "parents": [
        "d221938c049f4845da13c8593132595a6b9222a8"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "message": "cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus()\n\nReplace all lock_cpu_hotplug/unlock_cpu_hotplug from the kernel and use\nget_online_cpus and put_online_cpus instead as it highlights the\nrefcount semantics in these operations.\n\nThe new API guarantees protection against the cpu-hotplug operation, but\nit doesn\u0027t guarantee serialized access to any of the local data\nstructures. Hence the changes needs to be reviewed.\n\nIn case of pseries_add_processor/pseries_remove_processor, use\ncpu_maps_update_begin()/cpu_maps_update_done() as we\u0027re modifying the\ncpu_present_map there.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d221938c049f4845da13c8593132595a6b9222a8",
      "tree": "8eae6c7095a3d7d31d7435befc30019540a4d13e",
      "parents": [
        "6b2d7700266b9402e12824e11e0099ae6a4a6a79"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Fri Jan 25 21:08:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:01 2008 +0100"
      },
      "message": "cpu-hotplug: refcount based cpu hotplug\n\nThis patch implements a Refcount + Waitqueue based model for\ncpu-hotplug.\n\nNow, a thread which wants to prevent cpu-hotplug, will bump up a global\nrefcount and the thread which wants to perform a cpu-hotplug operation\nwill block till the global refcount goes to zero.\n\nThe readers, if any, during an ongoing cpu-hotplug operation are blocked\nuntil the cpu-hotplug operation is over.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e [For !CONFIG_HOTPLUG_CPU ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6b2d7700266b9402e12824e11e0099ae6a4a6a79",
      "tree": "d72c25b03150901ad8643f931186a11eb85635dc",
      "parents": [
        "a183561567b5446d3362b4839bd4f744f4b2af1e"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:00 2008 +0100"
      },
      "message": "sched: group scheduler, fix fairness of cpu bandwidth allocation for task groups\n\nThe current load balancing scheme isn\u0027t good enough for precise\ngroup fairness.\n\nFor example: on a 8-cpu system, I created 3 groups as under:\n\n\ta \u003d 8 tasks (cpu.shares \u003d 1024)\n\tb \u003d 4 tasks (cpu.shares \u003d 1024)\n\tc \u003d 3 tasks (cpu.shares \u003d 1024)\n\na, b and c are task groups that have equal weight. We would expect each\nof the groups to receive 33.33% of cpu bandwidth under a fair scheduler.\n\nThis is what I get with the latest scheduler git tree:\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n--------------------------------------------------------------------------------\nCol1  | Col2    | Col3  |  Col4\n------|---------|-------|-------------------------------------------------------\na     | 277.676 | 57.8% | 54.1%  54.1%  54.1%  54.2%  56.7%  62.2%  62.8% 64.5%\nb     | 116.108 | 24.2% | 47.4%  48.1%  48.7%  49.3%\nc     |  86.326 | 18.0% | 47.5%  47.9%  48.5%\n--------------------------------------------------------------------------------\n\nExplanation of o/p:\n\nCol1 -\u003e Group name\nCol2 -\u003e Cumulative execution time (in seconds) received by all tasks of that\n\tgroup in a 60sec window across 8 cpus\nCol3 -\u003e CPU bandwidth received by the group in the 60sec window, expressed in\n        percentage. Col3 data is derived as:\n\t\tCol3 \u003d 100 * Col2 / (NR_CPUS * 60)\nCol4 -\u003e CPU bandwidth received by each individual task of the group.\n\t\tCol4 \u003d 100 * cpu_time_recd_by_task / 60\n\n[I can share the test case that produces a similar o/p if reqd]\n\nThe deviation from desired group fairness is as below:\n\n\ta \u003d +24.47%\n\tb \u003d -9.13%\n\tc \u003d -15.33%\n\nwhich is quite high.\n\nAfter the patch below is applied, here are the results:\n\n--------------------------------------------------------------------------------\nCol1  | Col2    | Col3  |  Col4\n------|---------|-------|-------------------------------------------------------\na     | 163.112 | 34.0% | 33.2%  33.4%  33.5%  33.5%  33.7%  34.4%  34.8% 35.3%\nb     | 156.220 | 32.5% | 63.3%  64.5%  66.1%  66.5%\nc     | 160.653 | 33.5% | 85.8%  90.6%  91.4%\n--------------------------------------------------------------------------------\n\nDeviation from desired group fairness is as below:\n\n\ta \u003d +0.67%\n\tb \u003d -0.83%\n\tc \u003d +0.17%\n\nwhich is far better IMO. Most of other runs have yielded a deviation within\n+-2% at the most, which is good.\n\nWhy do we see bad (group) fairness with current scheuler?\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nCurrently cpu\u0027s weight is just the summation of individual task weights.\nThis can yield incorrect results. For ex: consider three groups as below\non a 2-cpu system:\n\n\tCPU0\tCPU1\n---------------------------\n\tA (10)  B(5)\n\t\tC(5)\n---------------------------\n\nGroup A has 10 tasks, all on CPU0, Group B and C have 5 tasks each all\nof which are on CPU1. Each task has the same weight (NICE_0_LOAD \u003d\n1024).\n\nThe current scheme would yield a cpu weight of 10240 (10*1024) for each cpu and\nthe load balancer will think both CPUs are perfectly balanced and won\u0027t\nmove around any tasks. This, however, would yield this bandwidth:\n\n\tA \u003d 50%\n\tB \u003d 25%\n\tC \u003d 25%\n\nwhich is not the desired result.\n\nWhat\u0027s changing in the patch?\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n\t- How cpu weights are calculated when CONFIF_FAIR_GROUP_SCHED is\n\t  defined (see below)\n\t- API Change\n\t\t- Two tunables introduced in sysfs (under SCHED_DEBUG) to\n\t\t  control the frequency at which the load balance monitor\n\t\t  thread runs.\n\nThe basic change made in this patch is how cpu weight (rq-\u003eload.weight) is\ncalculated. Its now calculated as the summation of group weights on a cpu,\nrather than summation of task weights. Weight exerted by a group on a\ncpu is dependent on the shares allocated to it and also the number of\ntasks the group has on that cpu compared to the total number of\n(runnable) tasks the group has in the system.\n\nLet,\n\tW(K,i)  \u003d Weight of group K on cpu i\n\tT(K,i)  \u003d Task load present in group K\u0027s cfs_rq on cpu i\n\tT(K)    \u003d Total task load of group K across various cpus\n\tS(K) \t\u003d Shares allocated to group K\n\tNRCPUS\t\u003d Number of online cpus in the scheduler domain to\n\t \t  which group K is assigned.\n\nThen,\n\tW(K,i) \u003d S(K) * NRCPUS * T(K,i) / T(K)\n\nA load balance monitor thread is created at bootup, which periodically\nruns and adjusts group\u0027s weight on each cpu. To avoid its overhead, two\nmin/max tunables are introduced (under SCHED_DEBUG) to control the rate\nat which it runs.\n\nFixes from: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n\n- don\u0027t start the load_balance_monitor when there is only a single cpu.\n- rename the kthread because its currently longer than TASK_COMM_LEN\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b47711bfbcd4eb77ca61ef0162487b20e023ae55",
      "tree": "b2a695dbd40f7ca2333664cf946ef34eda7b7dba",
      "parents": [
        "7556afa0e0e436cad4f560ee83e5fbd5dac9359a",
        "2e08c0c1c3977a5ddc88887dd3af1b26c433e9d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:44:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:44:29 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:\n  selinux: make mls_compute_sid always polyinstantiate\n  security/selinux: constify function pointer tables and fields\n  security: add a secctx_to_secid() hook\n  security: call security_file_permission from rw_verify_area\n  security: remove security_sb_post_mountroot hook\n  Security: remove security.h include from mm.h\n  Security: remove security_file_mmap hook sparse-warnings (NULL as 0).\n  Security: add get, set, and cloning of superblock security information\n  security/selinux: Add missing \"space\"\n"
    },
    {
      "commit": "eba0e319c12fb098d66316a8eafbaaa9174a07c3",
      "tree": "b2703117db9e36bb3510654efd55361f61c54742",
      "parents": [
        "df8dc74e8a383eaf2d9b44b80a71ec6f0e52b42e",
        "15e7b4452b72ae890f2fcb027b4c4fa63a1c9a7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:38:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 08:38:25 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (125 commits)\n  [CRYPTO] twofish: Merge common glue code\n  [CRYPTO] hifn_795x: Fixup container_of() usage\n  [CRYPTO] cast6: inline bloat--\n  [CRYPTO] api: Set default CRYPTO_MINALIGN to unsigned long long\n  [CRYPTO] tcrypt: Make xcbc available as a standalone test\n  [CRYPTO] xcbc: Remove bogus hash/cipher test\n  [CRYPTO] xcbc: Fix algorithm leak when block size check fails\n  [CRYPTO] tcrypt: Zero axbuf in the right function\n  [CRYPTO] padlock: Only reset the key once for each CBC and ECB operation\n  [CRYPTO] api: Include sched.h for cond_resched in scatterwalk.h\n  [CRYPTO] salsa20-asm: Remove unnecessary dependency on CRYPTO_SALSA20\n  [CRYPTO] tcrypt: Add select of AEAD\n  [CRYPTO] salsa20: Add x86-64 assembly version\n  [CRYPTO] salsa20_i586: Salsa20 stream cipher algorithm (i586 version)\n  [CRYPTO] gcm: Introduce rfc4106\n  [CRYPTO] api: Show async type\n  [CRYPTO] chainiv: Avoid lock spinning where possible\n  [CRYPTO] seqiv: Add select AEAD in Kconfig\n  [CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy\n  [CRYPTO] null: Allow setkey on digest_null \n  ...\n"
    },
    {
      "commit": "79a6ee42fd81be9abc6bdab08f932875924b26a5",
      "tree": "108b8bf6b13c7d06ebaf6c25de97494457fc9ee9",
      "parents": [
        "d462943afee8bff610258a82dba666e8ab72c9c8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 21:27:06 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 21:27:06 2008 -0800"
      },
      "message": "Kobject: fix coding style issues in kobject.h\n\nFinally clean up the odd spaces and other mess in kobject.h\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d462943afee8bff610258a82dba666e8ab72c9c8",
      "tree": "9046b34170b01ca0a134be0e7ad498f97611e121",
      "parents": [
        "5ed2c832ed256b18d90c2462369c62fd79312e6c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 21:04:46 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 21:04:46 2008 -0800"
      },
      "message": "Driver core: fix coding style issues in device.h\n\nFinally clean up the odd spaces and other mess in device.h\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fd04897bb20be29d60f7e426a053545aebeaa61a",
      "tree": "7cd86b2d9de79a70bdeb32997240af5e28be6d03",
      "parents": [
        "63b6971a0876b744e2fcf3c9df15d130501e1deb"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Jan 22 15:27:08 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:44 2008 -0800"
      },
      "message": "Driver Core: add class iteration api\n\nAdd the following class iteration functions for driver use:\n\tclass_for_each_device\n\tclass_find_device\n\tclass_for_each_child\n\tclass_find_child\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "ae72cddb2338bc36b991674a56a7bf70ae104d9e",
      "tree": "6054d3064d8d24f8919a9f226100a0b37862ece0",
      "parents": [
        "92b421416f8194aec87b1439487b5544e9ac8187"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri Jan 11 17:24:53 2008 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:43 2008 -0800"
      },
      "message": "Driver Core: constify the name passed to platform_device_register_simple\n\nThis name is just passed to platform_device_alloc which has its parameter\ndeclared const.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "af5ca3f4ec5cc4432a42a73b050dd8898ce8fd00",
      "tree": "3e5a3081b2802547f10da72c0026b4929d0e287b",
      "parents": [
        "528a4bf1d5ffed310d26fc1d82d45c02949f71cf"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Dec 20 02:09:39 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Driver core: change sysdev classes to use dynamic kobject names\n\nAll kobjects require a dynamically allocated name now. We no longer\nneed to keep track if the name is statically assigned, we can just\nunconditionally free() all kobject names on cleanup.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "528a4bf1d5ffed310d26fc1d82d45c02949f71cf",
      "tree": "fc66cc3597e7bcbe83881d16305a7f80605a5c2c",
      "parents": [
        "78a2d906b40fe530ea800c1e873bfe8f02326f1e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 20 08:13:05 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Kobject: remove kobject_unregister() as no one uses it anymore\n\nThere are no in-kernel users of kobject_unregister() so it should be\nremoved.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0f4dafc0563c6c49e17fe14b3f5f356e4c4b8806",
      "tree": "f4ded2831853cb6ea328d15d72871db6f8c22610",
      "parents": [
        "12e339ac6e31a34fe42396aec8fb1c0b43caf61e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Dec 19 01:40:42 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:39 2008 -0800"
      },
      "message": "Kobject: auto-cleanup on final unref\n\nWe save the current state in the object itself, so we can do proper\ncleanup when the last reference is dropped.\n\nIf the initial reference is dropped, the object will be removed from\nsysfs if needed, if an \"add\" event was sent, \"remove\" will be send, and\nthe allocated resources are released.\n\nThis allows us to clean up some driver core usage as well as allowing us\nto do other such changes to the rest of the kernel.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "12e339ac6e31a34fe42396aec8fb1c0b43caf61e",
      "tree": "28427e04e49ba7b5f1cabd9da33a9240f30acfae",
      "parents": [
        "6d06adfaf82d154023141ddc0c9de18b6a49090b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 09 12:14:34 2002 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:39 2008 -0800"
      },
      "message": "Kset: remove kset_add function\n\nNo one is calling this anymore, so just remove it and hard-code the one\ninternal-use of it.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6d06adfaf82d154023141ddc0c9de18b6a49090b",
      "tree": "a7a7e3c0458158cc6a93df457470c6fdd30a8c35",
      "parents": [
        "f9cb074bff8e762ef24c44678a5a7d907f82fbeb"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 19 11:26:50 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:39 2008 -0800"
      },
      "message": "Kobject: remove kobject_register()\n\nThe function is no longer used by anyone in the kernel, and it prevents\nthe proper sending of the kobject uevent after the needed files are set\nup by the caller.  kobject_init_and_add() can be used in its place.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f9cb074bff8e762ef24c44678a5a7d907f82fbeb",
      "tree": "50438fc90b8f6170dd8eb5d43712c61719a16304",
      "parents": [
        "e1543ddf739b22a8c4218716ad50c26b3e147403"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_init_ng() to kobject_init()\n\nNow that the old kobject_init() function is gone, rename\nkobject_init_ng() to kobject_init() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e1543ddf739b22a8c4218716ad50c26b3e147403",
      "tree": "584f63bf431368d366f2d156abc4ec85636dfe2f",
      "parents": [
        "b2d6db5878a0832659ed58476357eea2db915550"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: remove kobject_init() as no one uses it anymore\n\nThe old kobject_init() function is on longer in use, so let us remove it\nfrom the public scope (kset mess in the kobject.c file still uses it,\nbut that can be cleaned up later very simply.)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b2d6db5878a0832659ed58476357eea2db915550",
      "tree": "c7c9e98431078ca7b0405e8003bd905ab62df7c4",
      "parents": [
        "9e7bbccd0290e720e0874443932869c55f63d5a8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_add_ng() to kobject_add()\n\nNow that the old kobject_add() function is gone, rename kobject_add_ng()\nto kobject_add() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9e7bbccd0290e720e0874443932869c55f63d5a8",
      "tree": "80cc436d79f217809d3f7ecc07d621e5d6e050c3",
      "parents": [
        "ac3c8141f62f357169980ec21b7be6d29964a394"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: remove kobject_add() as no one uses it anymore\n\nThe old kobject_add() function is on longer in use, so let us remove it\nfrom the public scope (kset mess in the kobject.c file still uses it,\nbut that can be cleaned up later very simply.)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "edfaa7c36574f1bf09c65ad602412db9da5f96bf",
      "tree": "d591b80ff9229e4845e41d68e2f4c5aadb017027",
      "parents": [
        "09f82ea92822a7bbb7e816508abbda47ed54a77f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon May 21 22:08:01 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:36 2008 -0800"
      },
      "message": "Driver core: convert block from raw kobjects to core devices\n\nThis moves the block devices to /sys/class/block. It will create a\nflat list of all block devices, with the disks and partitions in one\ndirectory. For compatibility /sys/block is created and contains symlinks\nto the disks.\n\n  /sys/class/block\n  |-- sda -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  |-- sda1 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1\n  |-- sda10 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10\n  |-- sda5 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5\n  |-- sda6 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6\n  |-- sda7 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7\n  |-- sda8 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8\n  |-- sda9 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9\n  `-- sr0 -\u003e ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\n  /sys/block/\n  |-- sda -\u003e ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda\n  `-- sr0 -\u003e ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "e5dd12784617f0f1fae5f96a7fac1ec4c49fadbe"
}
