)]}'
{
  "log": [
    {
      "commit": "a54a52caad4bd6166cb7fa64e4e93031fa2fda5d",
      "tree": "728672fae35fd344619129e78213043dabacf099",
      "parents": [
        "01cb225dad8da2e717356fab03240e2f4a8d01bf"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed Jun 28 12:00:23 2006 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Thu Jun 29 11:07:14 2006 -0400"
      },
      "message": "[SCSI] iscsi: fixup set/get param functions\n\nReduce duplication in the software iscsi_transport modules by\nadding a libiscsi function to handle the common grunt work.\n\nThis also has the drivers return specifc -EXXX values for different\nerrors so userspace can finally handle them in a sane way.\n\nAlso just pass the sysfs buffers to the drivers so HW iscsi can\nget/set its string values, like targetname, and initiatorname.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "01cb225dad8da2e717356fab03240e2f4a8d01bf",
      "tree": "8accf53a998b27b61362aec3fe61e7b72c69bbde",
      "parents": [
        "332959cb521af6bb0281c7aae797f1f91dcb4c42"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed Jun 28 12:00:22 2006 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Thu Jun 29 11:06:59 2006 -0400"
      },
      "message": "[SCSI] iscsi: add target discvery event to transport class\n\nPatch from david.somayajulu@qlogic.com:\n\nAdd target discovery event. We may have a setup where the iscsi traffic\nis on a different netowrk than the other network traffic. In this case\nwe will want to do discovery though the iscsi card. This patch adds\na event to the transport class that can be used by hw iscsi cards that\nsupport this.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "332959cb521af6bb0281c7aae797f1f91dcb4c42",
      "tree": "a53da8d1f0b7ec2a0118d71590ff9e071919d6aa",
      "parents": [
        "f28e71617ddaf2483e3e5c5237103484a303743f"
      ],
      "author": {
        "name": "Martin Habets",
        "email": "errandir_news@mph.eclipse.co.uk",
        "time": "Wed Jun 28 15:40:36 2006 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Thu Jun 29 11:06:30 2006 -0400"
      },
      "message": "[SCSI] st: remove unused st_buffer.in_use\n\nI noticed that in_use in st_buffer is not used. The patch below\nagainst 2.6.17-rc3 removes it, assuming there is no future use for it.\nIt was tested in a sparc SS20 with a DLT4000.\n\nSigned-off-by: Martin Habets \u003cerrandir_news@mph.eclipse.co.uk\u003e\nAcked-by: Kai Mäkisara \u003ckai.makisara@kolumbus.fi\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "f28e71617ddaf2483e3e5c5237103484a303743f",
      "tree": "67627d2d8ddbf6a4449371e9261d796c013b1fa1",
      "parents": [
        "dc6a78f1af10d28fb8c395034ae1e099b85c05b0",
        "a39727f212426b9d5f9267b3318a2afaf9922d3b"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Jun 28 14:06:39 2006 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Jun 28 14:06:39 2006 -0400"
      },
      "message": "Merge ../linux-2.6/\n\nConflicts:\n\n\tdrivers/scsi/aacraid/comminit.c\n\nFixed up by removing the now renamed CONFIG_IOMMU option from\naacraid\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "dc6a78f1af10d28fb8c395034ae1e099b85c05b0",
      "tree": "531357a95f9dfa3df48d87073d52e7a3d8e25668",
      "parents": [
        "87cf89866790a373edcf88c12b64d6d38560acdd"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Jun 27 22:01:28 2006 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Jun 28 12:43:20 2006 -0400"
      },
      "message": "[SCSI] atp870u: reduce huge stack usage\n\nThe atp870u driver is the largest stack eater reported by checkstack\n(on x86_864, allmodconfig).  This converts the offending function\nto kmalloc+kfree struct atp_unit instead of allocating it on the stack.\nWas:\n0x0000164c atp870u_probe [atp870u]:\t\t\t3176\nNow:\n0x0000164c atp870u_probe [atp870u]:\t\t\t408\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "87cf89866790a373edcf88c12b64d6d38560acdd",
      "tree": "8ba41c842efdbff03b8753241fa1dd6919a16a33",
      "parents": [
        "547f9a218436ea35baf9a52e981753e44d9cff1f"
      ],
      "author": {
        "name": "Eric Moore",
        "email": "eric.moore@lsil.com",
        "time": "Tue Jun 27 16:09:26 2006 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Jun 28 12:41:52 2006 -0400"
      },
      "message": "[SCSI] mptsas: Adding 1078 ROC support\n\n* Adding 1078 ROC (Raid On Chip) Support - New host adapter\n\n* Moving all PCI Vendor/Device ids to using internal defines; a request\nfrom Christoph/James B. some time ago for when the next chip was added.\n\n* Removing SAS 1066/1066E Vendor/Device IDs, as there are no plans to\nmanufacture that controller.\n\nSigned-off-by: Eric Moore \u003cEric.Moore@lsil.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "547f9a218436ea35baf9a52e981753e44d9cff1f",
      "tree": "59a13af4b90e3f51bf2ca795765161062e44518a",
      "parents": [
        "65c92b09acf0218b64f1c7ba4fdabeb8b732c876"
      ],
      "author": {
        "name": "Eric Moore",
        "email": "eric.moore@lsil.com",
        "time": "Tue Jun 27 14:42:12 2006 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Jun 28 12:41:33 2006 -0400"
      },
      "message": "[SCSI] mptsas: wide port support\n\n* Wide port support added - using James Bottomley\u0027s new SAS wide port API.\n(There is a known problem in sas transport layer reported yesterday to\nJames. The Kobject dev.bus_ids for end devices are not unique across\nexpanders. I have added a work around in this patch, where I asigning\nan unique port identifier for every port within the host - this solves\nthe problem, but I expect a fix from James in the sas transport).\n\n* Adding target_alloc and target_destroy entry points, and moving code over\nfrom the slave entry points.\n\n* The renaming of some mptscsih_xxx functions declared in mptsas.c,\nto mptsas_xxx.\n\n* Target Reset moved from slave_destroy to hotplug work thread\nhandling (with regard to device removal). Also inhibit IO to end device\nwhile device is being broken down . Talked to James Smart about this\nat Linux Expo (with questions of how the fc transport handles this).\n\n* Cleaning up the kzalloc\u0027s, and kfree\u0027s\n\nSigned-off-by: Eric Moore \u003cEric.Moore@lsil.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "65c92b09acf0218b64f1c7ba4fdabeb8b732c876",
      "tree": "16569cf6039b7e4e810c710f91179292a847fd45",
      "parents": [
        "2076eb6ab8339bf09620a0160be3607bbbb61a50"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Wed Jun 28 12:22:50 2006 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Jun 28 12:40:54 2006 -0400"
      },
      "message": "[SCSI] scsi_transport_sas: introduce a sas_port entity\n\nthis patch introduces a port object, separates out ports and phys,\nwith ports becoming the primary objects of the tree.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "2076eb6ab8339bf09620a0160be3607bbbb61a50",
      "tree": "00733817a36c0f8f7c355e393c6f57dd754a6fe2",
      "parents": [
        "309bd271211caa5a04a8137649cebd7691376351"
      ],
      "author": {
        "name": "Eric Moore",
        "email": "eric.moore@lsil.com",
        "time": "Tue Jun 27 14:39:06 2006 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Jun 28 12:40:18 2006 -0400"
      },
      "message": "[SCSI] fusion : mpi header update\n\nMPI Header Update\n\nSigned-off-by: Eric Moore \u003cEric.Moore@lsil.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "309bd271211caa5a04a8137649cebd7691376351",
      "tree": "d7939cbc549d21e0e8c08c83c9f7001d5d5f116d",
      "parents": [
        "a144c5ae0956fb262e6c82624c82b1110a451437"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@us.ibm.com",
        "time": "Tue Jun 27 11:10:43 2006 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Jun 28 12:39:56 2006 -0400"
      },
      "message": "[SCSI] scsi: Device scanning oops for offlined devices (resend)\n\nIf a device gets offlined as a result of the Inquiry sent\nduring scanning, the following oops can occur. After the\ndisk gets put into the SDEV_OFFLINE state, the error handler\nsends back the failed inquiry, which wakes the thread doing\nthe scan. This starts a race between the scanning thread\nfreeing the scsi device and the error handler calling\nscsi_run_host_queues to restart the host. Since the disk\nis in the SDEV_OFFLINE state, scsi_device_get will still\nwork, which results in __scsi_iterate_devices getting\na reference to the scsi disk when it shouldn\u0027t.\n\nThe following execution thread causes the oops:\n\nCPU 0 (scan)\t\t\t\tCPU 1 (eh)\n\n---------------------------------------------------------\nscsi_probe_and_add_lun\n                        ....\n                                        scsi_eh_offline_sdevs\n                                        scsi_eh_flush_done_q\nscsi_destroy_sdev\nscsi_device_dev_release\n                                        scsi_restart_operations\n                                         scsi_run_host_queues\n                                          __scsi_iterate_devices\n                                           get_device\nscsi_device_dev_release_usercontext\n                                          scsi_run_queue\n                                            \u003c---OOPS---\u003e\n\nThe patch fixes this by changing the state of the sdev to SDEV_DEL\nbefore doing the final put_device, which should prevent the race\nfrom occurring.\n\nOriginal oops follows:\n\nBadness in kref_get at lib/kref.c:32\nCall Trace:\n[C00000002F4476D0] [C00000000000EE20] .show_stack+0x68/0x1b0 (unreliable)\n[C00000002F447770] [C00000000037515C] .program_check_exception+0x1cc/0x5a8\n[C00000002F447840] [C00000000000446C] program_check_common+0xec/0x100\n Exception: 700 at .kref_get+0x10/0x28\n    LR \u003d .kobject_get+0x20/0x3c\n[C00000002F447B30] [C00000002F447BC0] 0xc00000002f447bc0 (unreliable)\n[C00000002F447BB0] [C000000000254BDC] .get_device+0x20/0x3c\n[C00000002F447C30] [D000000000063188] .scsi_device_get+0x34/0xdc [scsi_mod]\n[C00000002F447CC0] [D0000000000633EC] .__scsi_iterate_devices+0x50/0xbc [scsi_mod]\n[C00000002F447D60] [D00000000006A910] .scsi_run_host_queues+0x34/0x5c [scsi_mod]\n[C00000002F447DF0] [D000000000069054] .scsi_error_handler+0xdb4/0xe44 [scsi_mod]\n[C00000002F447EE0] [C00000000007B4E0] .kthread+0x128/0x178\n[C00000002F447F90] [C000000000025E84] .kernel_thread+0x4c/0x68\nUnable to handle kernel paging request for \u003c7\u003ePCI: Enabling device: (0002:41:01.1), cmd 143\ndata at address 0x000001b8\nFaulting instruction address: 0xd0000000000698e4\nsym1: \u003c1010-66\u003e rev 0x1 at pci 0002:41:01.1 irq 216\nsym1: No NVRAM, ID 7, Fast-80, LVD, parity checking\nsym1: SCSI BUS has been reset.\nscsi2 : sym-2.2.2\ncpu 0x0: Vector: 300 (Data Access) at [c00000002f447a30]\n    pc: d0000000000698e4: .scsi_run_queue+0x2c/0x218 [scsi_mod]\n    lr: d00000000006a904: .scsi_run_host_queues+0x28/0x5c [scsi_mod]\n    sp: c00000002f447cb0\n   msr: 9000000000009032\n   dar: 1b8\n dsisr: 40000000\n  current \u003d 0xc0000000045fecd0\n  paca    \u003d 0xc00000000048ee80\n    pid   \u003d 1123, comm \u003d scsi_eh_1\nenter ? for help\n[c00000002f447d60] d00000000006a904 .scsi_run_host_queues+0x28/0x5c [scsi_mod]\n[c00000002f447df0] d000000000069054 .scsi_error_handler+0xdb4/0xe44 [scsi_mod]\n[c00000002f447ee0] c00000000007b4e0 .kthread+0x128/0x178\n[c00000002f447f90] c000000000025e84 .kernel_thread+0x4c/0x68\n\nSigned-off-by: Brian King \u003cbrking@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "a144c5ae0956fb262e6c82624c82b1110a451437",
      "tree": "5ce95ee7f08af2e2da257a8d7039e5c63b08db38",
      "parents": [
        "3bdad7bd253f17ead00b4af2e82f84e9522c95ac"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@us.ibm.com",
        "time": "Tue Jun 27 11:10:31 2006 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Wed Jun 28 12:39:06 2006 -0400"
      },
      "message": "[SCSI] scsi: Add allow_restart sysfs class attribute\n\nThis is a resend of a patch I generated in response to an email sent\nby Ruben Faelens \u003cparasietje@gmail.com\u003e. His original email to\nlinux-scsi requested a method in which he could spin down a scsi disk\nwhen not in use and have the kernel automatically spin it back up when\nan I/O was generated to the disk. The infrastructure to automatically\nspin a disk up has been in the scsi error handler for some time now,\nbut it is not enabled by default. This patch adds an sd sysfs attribute\nwhich allows userspace to enable this behavior.\n\nSigned-off-by: Brian King \u003cbrking@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "a39727f212426b9d5f9267b3318a2afaf9922d3b",
      "tree": "e42d5834dd5b0844552c076c1d264ab0e35396f6",
      "parents": [
        "936813a8807c5684c6a97f1081b31027403d4a93",
        "1f1bd5fc326a46d8c49132260f661b7cc954846f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:15:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:15:50 2006 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:\n  [netdrvr] Remove long-unused bits from Becker template drivers\n  [netdrvr] natsemi: minor cleanups\n  [netdrvr] natsemi: Separate out media initialization code\n  [PATCH] WAN: update info page for a bunch of my drivers\n  [PATCH] drivers/net/hamradio/dmascc.c: fix section mismatch\n  [PATCH] Fix phy id for LXT971A/LXT972A\n  [PATCH] DM9000 - minor code cleanups\n  [PATCH] DM9000 - do no re-init spin lock\n  [PATCH] DM9000 - check for MAC left in by bootloader\n  [PATCH] DM9000 - better checks for platform resources\n"
    },
    {
      "commit": "936813a8807c5684c6a97f1081b31027403d4a93",
      "tree": "bc3a1343ea1548195ab4e5dd11b1830f8b9cc52b",
      "parents": [
        "73a0e405dce7d720808536b708f7c738b413b1a2",
        "6a93096195305f6f2a39544a034e77e2e74d5799"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:13:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:13:56 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [MTD] NAND: Select chip before checking write protect status\n  [MTD] CORE mtdchar.c: fix off-by-one error in lseek()\n  [MTD] NAND: Fix typo in mtd/nand/ts7250.c\n  [JFFS2][XATTR] coexistence between xattr and write buffering support.\n  [JFFS2][XATTR] Fix wrong copyright\n  [JFFS2][XATTR] Re-define xd-\u003erefcnt as atomic_t\n  [JFFS2][XATTR] Fix memory leak with jffs2_xattr_ref\n  [JFFS2][XATTR] rid unnecessary writing of delete marker.\n  [JFFS2][XATTR] Fix ACL bug when updating null xattr by null ACL.\n  [JFFS2][XATTR] using \u0027delete marker\u0027 for xdatum/xref deletion\n  [MTD] Fix off-by-one error in physmap.c\n  [MTD] Remove unused \u0027nr_banks\u0027 variable from ixp2000 map driver\n  [MTD NAND] s3c2412 support in s3c2410.c\n  [MTD] Initialize \u0027writesize\u0027\n  [MTD] NAND: ndfc fix address offset thinko\n  [MTD] NAND: S3C2410 convert prinks to dev_*()s\n  [MTD] NAND: Missing fixups\n"
    },
    {
      "commit": "73a0e405dce7d720808536b708f7c738b413b1a2",
      "tree": "60cc93e993e89b0c83a549bd65647879ce37d9cc",
      "parents": [
        "03529d9f66b7995c67ddceb8f83258df3c9915da",
        "5493a0fcba8a94baa5c1d80aca21d6ae4b3b573e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:09:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:09:16 2006 -0700"
      },
      "message": "Merge git://oss.sgi.com:8090/nathans/xfs-2.6\n\n* git://oss.sgi.com:8090/nathans/xfs-2.6:\n  [XFS] Fixup whitespace damage in log_write, remove final warning.\n  [XFS] Rework code snippets slightly to remove remaining recent-gcc\n  [XFS] Fix realtime subvolume expansion, a porting bug b0rked it.  Coverity\n  [XFS] Remove a race condition where a linked inode could BUG_ON in\n  [XFS] Remove redundant directory checks from inode link operation.\n  [XFS] Remove a couple of no-longer-used macros.\n  [XFS] Reduce size of xfs_trans_t structure. * remove -\u003et_forw, -\u003et_back --\n  [XFS] remove unused behaviour lock - shrink XFS vnode as a side effect.\n  [XFS] * There is trivial \"inode \u003d\u003e vnode \u003d\u003e inode\" conversion, but only\n  [XFS] link(2) on directory is banned in VFS.\n"
    },
    {
      "commit": "03529d9f66b7995c67ddceb8f83258df3c9915da",
      "tree": "c16b506ebbb5644849f094c23976680906d64c1f",
      "parents": [
        "11bcab9071ac204b1ca2bb0514ad1641bc4c280b",
        "2154cfa6ba560401d25f6cc083fe3fb996cbb571"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:07:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 19:07:21 2006 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [PATCH] ata_piix: add ICH6/7/8 to Kconfig\n  [PATCH] sata_sil: disable hotplug interrupts on two ATI IXPs\n  [PATCH] libata: cosmetic updates\n  [PATCH] ata: add some NVIDIA chipset IDs\n  [PATCH] libata reduce timeouts\n  [PATCH] libata: implement ata_port_max_devices()\n  [PATCH] libata: make two functions global\n  [PATCH] libata: update ata_do_simple_cmd()\n  [PATCH] libata: move ata_do_simple_cmd() below ata_exec_internal()\n  [PATCH] libata: clear EH action on device detach\n  [PATCH] libata: implement and use ata_deh_dev_action()\n  [PATCH] libata: move ata_eh_clear_action() upward\n  [PATCH] libata.h needs scatterlist.h\n  [libata] sata_vsc: partially revert a PCI ID-related commit\n  [libata] Bump versions\n"
    },
    {
      "commit": "11bcab9071ac204b1ca2bb0514ad1641bc4c280b",
      "tree": "987d3a1b9f5b28d56317723e70aa16587c2aa729",
      "parents": [
        "d6fcb3b9cf776e3f748709cd3091a72cb3855c29"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:47:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:47:50 2006 -0700"
      },
      "message": "Properly delete sound/ppc/toonie.c\n\nThe previous \"delete\" had actually just truncated it to a zero\nsize, something that can easily happen if you just apply a patch.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6fcb3b9cf776e3f748709cd3091a72cb3855c29",
      "tree": "1b60436804d31c9500662e3b84f4b33a0d9dac6d",
      "parents": [
        "f17a2686b11453680e9662ef8bdc8d948d0dce18"
      ],
      "author": {
        "name": "Daniel Ritz",
        "email": "daniel.ritz-ml@swissonline.ch",
        "time": "Tue Jun 27 18:40:54 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:36:39 2006 -0700"
      },
      "message": "[PATCH] i2c-i801.c: don\u0027t pci_disable_device() after it was just enabled\n\nCommit 02dd7ae2892e5ceff111d032769c78d3377df970 (\"[PATCH] i2c-i801:\nMerge setup function\") has a missing return 0 in the _probe() function.\nThis means the error path is always executed and pci_disable_device() is\ncalled even when the device just got successfully enabled.\n\nHaving the SMBus device disabled makes some systems (eg.\nFujitsu-Siemens Lifebook E8010) hang hard during power-off.\n\nIntead of reverting the whole commit this patch fixes it up:\n- don\u0027t ever call pci_disable_device(), also not in the _remove() function\n  to avoid hangs\n- fix missing pci_release_region() in error path\n\nSigned-off-by: Daniel Ritz \u003cdaniel.ritz@gmx.ch\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f17a2686b11453680e9662ef8bdc8d948d0dce18",
      "tree": "8dc0dda0afe880fbd263825e2e07fe1d814f732e",
      "parents": [
        "01f7e67367f75257ea5e8e5a21eddba9fa660f17",
        "f40c562855294bf4e7268274d7461dc32c1e6b25"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:31:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:31:57 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: (25 commits)\n  [CIFS] Fix authentication choice so we do not force NTLMv2 unless the\n  [CIFS] Fix alignment of unicode strings in previous patch\n  [CIFS] Fix allocation of buffers for new session setup routine to allow\n  [CIFS] Remove calls to to take f_owner.lock\n  [CIFS] remove some redundant null pointer checks\n  [CIFS] Fix compile warning when CONFIG_CIFS_EXPERIMENTAL is off\n  [CIFS] Enable sec flags on mount for cifs (part one)\n  [CIFS] Fix suspend/resume problem which causes EIO on subsequent access to\n  [CIFS] fix minor compile warning when config_cifs_weak_security is off\n  [CIFS] NTLMv2 support part 5\n  [CIFS] Add support for readdir to legacy servers\n  [CIFS] NTLMv2 support part 4\n  [CIFS] NTLMv2 support part 3\n  [CIFS] NTLMv2 support part 2\n  [CIFS] Fix mask so can set new cifs security flags properly\n  CIFS] Support for older servers which require plaintext passwords - part 2\n  [CIFS] Support for older servers which require plaintext passwords\n  [CIFS] Fix mapping of old SMB return code Invalid Net Name so it is\n  [CIFS] Missing brace\n  [CIFS] Do not overwrite aops\n  ...\n"
    },
    {
      "commit": "01f7e67367f75257ea5e8e5a21eddba9fa660f17",
      "tree": "14e399438b86a86240c0d374ffb740e25ae9752a",
      "parents": [
        "f5c7726ffc994f1826415852e7196bcb6c664d44"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Tue Jun 27 13:27:02 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:30:14 2006 -0700"
      },
      "message": "[PATCH] m68knommu: use Kconfig RAM config options in 68328 startup code\n\nSwitch to using the new RAM Kconfig settings, instead of linker defined\nregions in ROM specific 68328 startup code.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f5c7726ffc994f1826415852e7196bcb6c664d44",
      "tree": "6037de0c9992db2b206892c56e7d5d354303b2a4",
      "parents": [
        "d046f6118bb2a207870e35db1411b958199a3750"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Tue Jun 27 13:27:13 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:30:14 2006 -0700"
      },
      "message": "[PATCH] m68knommu: use Kconfig RAM config options in 68360 ROM startup code\n\nSwitch to using the new RAM Kconfig settings, instead of linker defined\nregions in ROM specific 68360 startup code.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d046f6118bb2a207870e35db1411b958199a3750",
      "tree": "b4eb3db716ff957c9805904dca4c3c3fb11cead7",
      "parents": [
        "999567d829b191b2cb7fd8dee31d5bccc81d7c55"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Tue Jun 27 13:27:08 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:30:14 2006 -0700"
      },
      "message": "[PATCH] m68knommu: use Kconfig RAM config options in 68360 RAM startup code\n\nSwitch to using the new RAM Kconfig settings, instead of linker defined\nregions in RAM specific 68360 startup code.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "999567d829b191b2cb7fd8dee31d5bccc81d7c55",
      "tree": "f684df92c99b85bace4ae5875b608c01a3fd181f",
      "parents": [
        "0e702ab38b0eed1ea5968f3b60b352e814172c27"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Tue Jun 27 13:22:07 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:30:14 2006 -0700"
      },
      "message": "[PATCH] m68knommu: remove NO_FORMAT_VECi from ptrace.h header\n\nRemove NO_FORMAT_VEC conditional check. It is not used or defined anywhere.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0e702ab38b0eed1ea5968f3b60b352e814172c27",
      "tree": "98971ffff39b5b8e2bd630bcc81987468fceb455",
      "parents": [
        "83901fc1c786c642c576f51302d79df849ad7d71"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Tue Jun 27 13:19:33 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:30:14 2006 -0700"
      },
      "message": "[PATCH] m68knommu: FEC driver event/irq fixes\n\nCollection of fixes for the ColdFire FEC ethernet driver:\n\n. reworked event setting so that it occurs after the MII setup.\n  roucaries bastien \u003croucaries.bastien@gmail.com\u003e\n. Do not read cbd_sc in memory for each bit we test. Once per buffer is enough.\n. Overrun errors must increase `rx_fifo_errors\u0027, not `rx_crc_errors\u0027\n. No need for a special value to activate rx or tx.  Only write access matters.\n. Simplify parameter of eth_copy_and_sum : `data\u0027 has already the right value.\n. Some spelling fixes.\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83901fc1c786c642c576f51302d79df849ad7d71",
      "tree": "f8ea78c635f2ecdf495efff1172c715904556844",
      "parents": [
        "6b2652936b9e61df47664a8dde46872a74d7dba2"
      ],
      "author": {
        "name": "Willson Callan",
        "email": "wcallan@racepointmedia.com",
        "time": "Tue Jun 27 13:13:44 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:26:37 2006 -0700"
      },
      "message": "[PATCH] m68knommu: FEC driver set different priority/level on each IRQ\n\nSet different irq priority levels for each IRQ requested.\nAccording to the Freescale ColdFire documentation each separate IRQ\nmust have its own unique priority/level combination.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6b2652936b9e61df47664a8dde46872a74d7dba2",
      "tree": "b36ac6dc08719436b3dc3b8aecf0e0bd1b821d60",
      "parents": [
        "677177c5319f7079c22d04926c23b31166d7d405"
      ],
      "author": {
        "name": "Matt Waddel",
        "email": "Matt.Waddel@freescale.com",
        "time": "Tue Jun 27 13:10:56 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:26:37 2006 -0700"
      },
      "message": "[PATCH] m68knommu: FEC driver support for the ColdFire 523x CPU family\n\nAdd support for the FEC module in the ColdFire 532x CPU family.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "677177c5319f7079c22d04926c23b31166d7d405",
      "tree": "52fcf3e4c656dcbc6b2a1b0856ad8aaffb084f40",
      "parents": [
        "67bdd9842430f946213d0482862aae1ed8fd3ad0"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Tue Jun 27 13:05:33 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:26:37 2006 -0700"
      },
      "message": "[PATCH] m68knommu: avoid fec driver hang when link disappears\n\nAvoid requesting a `Graceful Transmit Stop\u0027 when link has disappeared,\nbecause that request cannot complete without link.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "67bdd9842430f946213d0482862aae1ed8fd3ad0",
      "tree": "d3c693bf9eb63ee70e9b7e060d99b4bbeb72acc0",
      "parents": [
        "9a6404b4d96aa82d05d8ed57e9eabea2b7920c7a"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Tue Jun 27 12:59:35 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:26:37 2006 -0700"
      },
      "message": "[PATCH] m68knommu: update m68knommu defconfnig\n\nUpdated defconfig for m68knommu arch. Includes recent changes to the clock\nand RAM configuration options.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a6404b4d96aa82d05d8ed57e9eabea2b7920c7a",
      "tree": "bcbed8e6650d8ec8953d85202c7eeab39be79fe8",
      "parents": [
        "121036e5c57dbf03882cce9eb810d6042683c925"
      ],
      "author": {
        "name": "Matt Waddel",
        "email": "Matt.Waddel@freescale.com",
        "time": "Tue Jun 27 12:50:53 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:26:36 2006 -0700"
      },
      "message": "[PATCH] m68knommu: build support for the Freescale 532x CPU family\n\nAdd build support for the M523x ColdFire CPU family.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "121036e5c57dbf03882cce9eb810d6042683c925",
      "tree": "96164d755afc227964cf5e668e9789090ca28062",
      "parents": [
        "3f787bff45e1880044e6ab3900b6a40214ae905f"
      ],
      "author": {
        "name": "Daniel Alomar",
        "email": "dalomar@serrasold.com",
        "time": "Tue Jun 27 12:49:11 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:26:36 2006 -0700"
      },
      "message": "[PATCH] m68knommu: build support for the Avnet/5282 board\n\nAdd support for the Avnet/5282 board.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3f787bff45e1880044e6ab3900b6a40214ae905f",
      "tree": "ea34ecc7c9e3cd8a704dca0e8769fed8189c6410",
      "parents": [
        "3c101cf024c3f126e174bf0d8946c587127e3c30"
      ],
      "author": {
        "name": "Philipe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Tue Jun 27 12:47:00 2006 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:26:36 2006 -0700"
      },
      "message": "[PATCH] m68knommu: remove useless compiler args\n\nHere is a small patch that made my kernel .text segment shrink by 8k IIRC\non my 5272-based board, by removing `-Wa,-S\u0027 from CFLAGS.\n\nThe `-Wa,-S\u0027 option prevents `gas\u0027 from using short forms of jsr.\nWithout it, `gas\u0027 replaces `jsr xxx.l\u0027 (6 bytes) by `jsr xxx@pc\u0027\n(4 bytes) when possible.  On 5272, both forms are equally fast.\n\nThe `-Wa,-m5307\u0027 option is useless, because gcc already gives it\nto `gas\u0027 from the `-m5307\u0027 option.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3c101cf024c3f126e174bf0d8946c587127e3c30",
      "tree": "3cdf3532e9abfa0d48ad210a4a3a6671ad498458",
      "parents": [
        "12e56b601f66a415f88e7d60f6b6707a19c430c9"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Jun 26 21:33:09 2006 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:25:03 2006 -0700"
      },
      "message": "[PATCH] voyager: add cpu_present_map\n\nVoyager stopped booting some time in the 2.6.16-2.6.17 timeframe;\nthe reason was that it doesn\u0027t have a cpu_present_map, so add\none.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "12e56b601f66a415f88e7d60f6b6707a19c430c9",
      "tree": "c294adb1c5c1f80bbb2de82e6e41da97b3f5800f",
      "parents": [
        "ca6f8792bd5281ebaf04bf23a43ed486e5e453a9",
        "c78059f0a948404fb515db6be4bca5ec93eecd2a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:22:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:22:13 2006 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb\n\n* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (26 commits)\n  V4L/DVB (4263): Fix warning when compiling on 64 bit machines\n  V4L/DVB (4261): Included required header for in-kernel compilation\n  V4L/DVB (4260): Stradis.c: make 2 functions static\n  V4L/DVB (4259): Pass an explicit log prefix to cx2341x_log_status\n  V4L/DVB (4257): Fix 64-bit compile warnings.\n  V4L/DVB (4255): Tda9887 default TOP value is 0x10\n  V4L/DVB (4254): Remove obsoleted tuner_debug option.\n  V4L/DVB (4253): IVTV VBI format description too long.\n  V4L/DVB (4252): Remove duplicate \u0027tda9887\u0027 in info messages.\n  V4L/DVB (4245): Reduce the amount of pvrusb2-sourced noise going into the system log\n  V4L/DVB (4244): Implement use of cx2341x module in pvrusb2 driver\n  V4L/DVB (4243): Exploit new V4L control features in pvrusb2\n  V4L/DVB (4242): Don\u0027t suspend encoder when changing its attributes (in pvrusb2)\n  V4L/DVB (4241): Fix faulty encoder error recovery in pvrusb2\n  V4L/DVB (4240): Various V4L control enhancements in pvrusb2\n  V4L/DVB (4239): Handle boolean controls in pvrusb2\n  V4L/DVB (4238): Make sure flags field is initialized when quering a control in pvrusb2\n  V4L/DVB (4237): Move LOG_STATUS bracketing to a different part of the pvrusb2 driver\n  V4L/DVB (4236): Rearrange things in pvrusb2 driver in preparation for using cx2341x module\n  V4L/DVB (4235): Increase the maximum number of controls that pvrusb2-sysfs.c can handle.\n  ...\n"
    },
    {
      "commit": "5493a0fcba8a94baa5c1d80aca21d6ae4b3b573e",
      "tree": "e376a3e935506c2bd7aba69c710739de4474e832",
      "parents": [
        "6fdf8ccc09fd764a9cce11006aa3fca53ac1c895"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Wed Jun 28 11:17:28 2006 +1000"
      },
      "committer": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Wed Jun 28 11:17:28 2006 +1000"
      },
      "message": "[XFS] Fixup whitespace damage in log_write, remove final warning.\n\nSGI-PV: 904196\nSGI-Modid: xfs-linux-melb:xfs-kern:26366a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\n"
    },
    {
      "commit": "ca6f8792bd5281ebaf04bf23a43ed486e5e453a9",
      "tree": "55bbda39e65175a5a272cacbdfb537d8d7df4c65",
      "parents": [
        "91bf46026966926f3b63539db423144b8c66eab4"
      ],
      "author": {
        "name": "Karsten Keil",
        "email": "kkeil@suse.de",
        "time": "Tue Jun 27 13:01:27 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 18:00:36 2006 -0700"
      },
      "message": "[PATCH] i4l fix DLE masking in isdn_tty_try_read\n\nDLE masking was non-functional since the new tty handling.\n\nFound by Peter Evertz \u003cleo2@pec.homeip.net\u003e\n\nSigned-off-by: Karsten Keil \u003ckkeil@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "91bf46026966926f3b63539db423144b8c66eab4",
      "tree": "6e132eb0d3b87e959db8e84a045ba28f33739923",
      "parents": [
        "775d584c63818595dd6ba635438753cf3c18e4b1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Jun 27 02:55:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] do_IRQ() warning fix\n\narch/i386/kernel/irq.c: In function \u0027do_IRQ\u0027:\narch/i386/kernel/irq.c:104: warning: suggest parentheses around arithmetic in operand of |\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "775d584c63818595dd6ba635438753cf3c18e4b1",
      "tree": "0e90b1dcc2d86bc831ff47c92dfd53afd28cc3b9",
      "parents": [
        "456229a91d2bdf884f0c01b33f1ecee762abba7d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jun 27 02:55:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] drivers/message/i2o/iop.c: unexport i2o_msg_nop()\n\nIt\u0027s available in a header as a static inline - there\u0027s no need to export it.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Markus Lidel \u003cMarkus.Lidel@shadowconnect.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "456229a91d2bdf884f0c01b33f1ecee762abba7d",
      "tree": "5efb884b98f785a684eebf481d1c99fbbc41e482",
      "parents": [
        "8f7607803717e9d045965b210cd16a25d80cd04b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jun 27 02:55:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] drivers/char/ipmi/ipmi_msghandler.c: make proc_ipmi_root static\n\nMake struct proc_ipmi_root static.\n\nBesides this, tremove removes an unused #ifdef CONFIG_PROC_FS from\ninclude/linux/ipmi.h.\n\nAcked-by: Corey Minyard \u003cminyard@acm.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f7607803717e9d045965b210cd16a25d80cd04b",
      "tree": "1e8af970aa305be5e229a86b3ccc2525f3936d3b",
      "parents": [
        "9a66a53f558efc2619a438278d2919b3c9a7f673"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Jun 27 02:55:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] Remove redundant NULL checks before [kv]free - in drivers/\n\nRemove redundant NULL chck before kfree + tiny CodingStyle cleanup for\ndrivers/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a66a53f558efc2619a438278d2919b3c9a7f673",
      "tree": "c3d20628f1d688f6099556995b597ef629970f7f",
      "parents": [
        "4ad98457aa545bc4d03d417da86325507aa586ec"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Jun 27 02:55:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] Remove redundant NULL checks before [kv]free - in kernel/\n\nRemove redundant kfree NULL checks from kernel/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4ad98457aa545bc4d03d417da86325507aa586ec",
      "tree": "212fe02cff7b38c27e8bbaf3136f05e452531c0b",
      "parents": [
        "59e0e0ace7d33e8c0c125042f153f80fcc56b39e"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Jun 27 02:55:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] Remove redundant NULL checks before [kv]free - in fs/\n\nRemove redundant NULL checks before kfree for fs/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nAcked-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "59e0e0ace7d33e8c0c125042f153f80fcc56b39e",
      "tree": "e73a795bd99b39a886fe3f9b46f85dbf53db5316",
      "parents": [
        "95e02ca9bb5324360e7dea1ea1c563036d84a5e6"
      ],
      "author": {
        "name": "Sebastien Dugue",
        "email": "sebastien.dugue@bull.net",
        "time": "Tue Jun 27 02:55:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] futex_requeue() optimization\n\nIn futex_requeue(), when the 2 futexes keys hash to the same bucket, there\nis no need to move the futex_q to the end of the bucket list.\n\nSigned-off-by: Sebastien Dugue \u003csebastien.dugue@bull.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "95e02ca9bb5324360e7dea1ea1c563036d84a5e6",
      "tree": "0336dd808abe113b42f53a8f700d50ea6ba674ff",
      "parents": [
        "0bafd214e4ba55dc1fb81a3031d0249292f1bc05"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 27 02:55:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:48 2006 -0700"
      },
      "message": "[PATCH] rtmutex: Propagate priority settings into PI lock chains\n\nWhen the priority of a task, which is blocked on a lock, changes we must\npropagate this change into the PI lock chain.  Therefor the chain walk code\nis changed to get rid of the references to current to avoid false positives\nin the deadlock detector, as setscheduler might be called by a task which\nholds the lock on which the task whose priority is changed is blocked.\n\nAlso add some comments about the get/put_task_struct usage to avoid\nconfusion.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0bafd214e4ba55dc1fb81a3031d0249292f1bc05",
      "tree": "754b3ad381078c57061515549642889b19aaf86d",
      "parents": [
        "e74c69f46d93d29eea0ad8647863d1c6488f0f55"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 27 02:55:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] rtmutex: Modify rtmutex-tester to test the setscheduler propagation\n\nMake test suite setscheduler calls asynchronously.  Remove the waits in the\ntest cases and add a new testcase to verify the correctness of the\nsetscheduler priority propagation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e74c69f46d93d29eea0ad8647863d1c6488f0f55",
      "tree": "5537d5a60eec3985de11cad4476ed95025051721",
      "parents": [
        "a1583d3e83cae1c58870602efc6328c34b644c01"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 27 02:55:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] Drop tasklist lock in do_sched_setscheduler\n\nThere is no need to hold tasklist_lock across the setscheduler call, when\nwe pin the task structure with get_task_struct().  Interrupts are disabled\nin setscheduler anyway and the permission checks do not need interrupts\ndisabled.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a1583d3e83cae1c58870602efc6328c34b644c01",
      "tree": "4f26fb4e482d295ef7670143ddf7a86e58e1973a",
      "parents": [
        "c87e2837be82df479a6bae9f155c43516d2feebc"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue Jun 27 02:55:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] fix rt-mutex defaults and dependencies\n\nFix defaults and dependencies.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c87e2837be82df479a6bae9f155c43516d2feebc",
      "tree": "ad6ab35f0b78f71abaa7b05185e9e3f97809c6de",
      "parents": [
        "0cdbee9920fb37eb2dc49b860c2b28862d647adc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: futex_lock_pi/futex_unlock_pi support\n\nThis adds the actual pi-futex implementation, based on rt-mutexes.\n\n[dino@in.ibm.com: fix an oops-causing race]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0cdbee9920fb37eb2dc49b860c2b28862d647adc",
      "tree": "df33dadb52979d7fadd1b464b14ae797d3838181",
      "parents": [
        "61a87122869b6340a63b6f9f84097d3688604b90"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: rt mutex futex api\n\nAdd proxy-locking rt-mutex functionality needed by pi-futexes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "61a87122869b6340a63b6f9f84097d3688604b90",
      "tree": "11d60d29763a42abd66453a920cc06bebc852427",
      "parents": [
        "e7eebaf6a81b956c989f184ee4b27277c88f8afe"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jun 27 02:54:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: rt mutex tester\n\nRT-mutex tester: scriptable tester for rt mutexes, which allows userspace\nscripting of mutex unit-tests (and dynamic tests as well), using the actual\nrt-mutex implementation of the kernel.\n\n[akpm@osdl.org: fixlet]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7eebaf6a81b956c989f184ee4b27277c88f8afe",
      "tree": "25adcfb17ec5f857791557a874cc1cced390ca9f",
      "parents": [
        "a6537be9324c67b41f6d98f5a60a1bd5a8e02861"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: rt mutex debug\n\nRuntime debugging functionality for rt-mutexes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a6537be9324c67b41f6d98f5a60a1bd5a8e02861",
      "tree": "73d430a911b56f0f4e4def80d0af47409f9db6c8",
      "parents": [
        "23f78d4a03c53cbd75d87a795378ea540aa08c86"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 27 02:54:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: rt mutex docs\n\nAdd rt-mutex documentation.\n\n[rostedt@goodmis.org: Update rt-mutex-design.txt as per Randy Dunlap suggestions]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "23f78d4a03c53cbd75d87a795378ea540aa08c86",
      "tree": "27dfe06337990911380fe8c5949ae9acd8e9568a",
      "parents": [
        "b29739f902ee76a05493fb7d2303490fc75364f4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:47 2006 -0700"
      },
      "message": "[PATCH] pi-futex: rt mutex core\n\nCore functions for the rt-mutex subsystem.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b29739f902ee76a05493fb7d2303490fc75364f4",
      "tree": "1bf48dfb74752a7ef24a2a4a74c45da0aaec754b",
      "parents": [
        "77ba89c5cf28d5d98a3cae17f67a3e42b102cc25"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: scheduler support for pi\n\nAdd framework to boost/unboost the priority of RT tasks.\n\nThis consists of:\n\n - caching the \u0027normal\u0027 priority in -\u003enormal_prio\n - providing a functions to set/get the priority of the task\n - make sched_setscheduler() aware of boosting\n\nThe effective_prio() cleanups also fix a priority-calculation bug pointed out\nby Andrey Gelman, in set_user_nice().\n\nhas_rt_policy() fix: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Andrey Gelman \u003cagelman@012.net.il\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "77ba89c5cf28d5d98a3cae17f67a3e42b102cc25",
      "tree": "d487b536522574ab183cc600b62008c60db85b59",
      "parents": [
        "8eb94f80dd2da5977c35cd094f0802c1501a12cd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: add plist implementation\n\nAdd the priority-sorted list (plist) implementation.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8eb94f80dd2da5977c35cd094f0802c1501a12cd",
      "tree": "ff2ff8f89fb04359aaf3dbe6ea3ca60cec4879f0",
      "parents": [
        "f9b8404cf8f8456dfa83459510762b700dc00385"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: introduce WARN_ON_SMP\n\nIntroduce a new WARN_ON variant: WARN_ON_SMP(cond).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f9b8404cf8f8456dfa83459510762b700dc00385",
      "tree": "f74b54c79ee3913d587644195d8af7ba13b6cc2a",
      "parents": [
        "6abdce7680e3e8436b3292b345d77b67d5ec9ea8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: introduce debug_check_no_locks_freed()\n\nAdd debug_check_no_locks_freed(), as a central inline to add\nbad-lock-free-debugging functionality to.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6abdce7680e3e8436b3292b345d77b67d5ec9ea8",
      "tree": "a242d780c2d1ea9214d33dcba54064d8fb2b500c",
      "parents": [
        "e2970f2fb6950183a34e8545faa093eb49d186e1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: robust futex docs fix\n\nFix typo in Documentation/robust-futexes.txt.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e2970f2fb6950183a34e8545faa093eb49d186e1",
      "tree": "a4035274368d846488a3b0152925502c06b064b0",
      "parents": [
        "66e5393a78b3fcca63e7748e38221dcca61c4aab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 27 02:54:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] pi-futex: futex code cleanups\n\nWe are pleased to announce \"lightweight userspace priority inheritance\" (PI)\nsupport for futexes.  The following patchset and glibc patch implements it,\nontop of the robust-futexes patchset which is included in 2.6.16-mm1.\n\nWe are calling it lightweight for 3 reasons:\n\n - in the user-space fastpath a PI-enabled futex involves no kernel work\n   (or any other PI complexity) at all.  No registration, no extra kernel\n   calls - just pure fast atomic ops in userspace.\n\n - in the slowpath (in the lock-contention case), the system call and\n   scheduling pattern is in fact better than that of normal futexes, due to\n   the \u0027integrated\u0027 nature of FUTEX_LOCK_PI.  [more about that further down]\n\n - the in-kernel PI implementation is streamlined around the mutex\n   abstraction, with strict rules that keep the implementation relatively\n   simple: only a single owner may own a lock (i.e.  no read-write lock\n   support), only the owner may unlock a lock, no recursive locking, etc.\n\n  Priority Inheritance - why, oh why???\n  -------------------------------------\n\nMany of you heard the horror stories about the evil PI code circling Linux for\nyears, which makes no real sense at all and is only used by buggy applications\nand which has horrible overhead.  Some of you have dreaded this very moment,\nwhen someone actually submits working PI code ;-)\n\nSo why would we like to see PI support for futexes?\n\nWe\u0027d like to see it done purely for technological reasons.  We dont think it\u0027s\na buggy concept, we think it\u0027s useful functionality to offer to applications,\nwhich functionality cannot be achieved in other ways.  We also think it\u0027s the\nright thing to do, and we think we\u0027ve got the right arguments and the right\nnumbers to prove that.  We also believe that we can address all the\ncounter-arguments as well.  For these reasons (and the reasons outlined below)\nwe are submitting this patch-set for upstream kernel inclusion.\n\nWhat are the benefits of PI?\n\n  The short reply:\n  ----------------\n\nUser-space PI helps achieving/improving determinism for user-space\napplications.  In the best-case, it can help achieve determinism and\nwell-bound latencies.  Even in the worst-case, PI will improve the statistical\ndistribution of locking related application delays.\n\n  The longer reply:\n  -----------------\n\nFirstly, sharing locks between multiple tasks is a common programming\ntechnique that often cannot be replaced with lockless algorithms.  As we can\nsee it in the kernel [which is a quite complex program in itself], lockless\nstructures are rather the exception than the norm - the current ratio of\nlockless vs.  locky code for shared data structures is somewhere between 1:10\nand 1:100.  Lockless is hard, and the complexity of lockless algorithms often\nendangers to ability to do robust reviews of said code.  I.e.  critical RT\napps often choose lock structures to protect critical data structures, instead\nof lockless algorithms.  Furthermore, there are cases (like shared hardware,\nor other resource limits) where lockless access is mathematically impossible.\n\nMedia players (such as Jack) are an example of reasonable application design\nwith multiple tasks (with multiple priority levels) sharing short-held locks:\nfor example, a highprio audio playback thread is combined with medium-prio\nconstruct-audio-data threads and low-prio display-colory-stuff threads.  Add\nvideo and decoding to the mix and we\u0027ve got even more priority levels.\n\nSo once we accept that synchronization objects (locks) are an unavoidable fact\nof life, and once we accept that multi-task userspace apps have a very fair\nexpectation of being able to use locks, we\u0027ve got to think about how to offer\nthe option of a deterministic locking implementation to user-space.\n\nMost of the technical counter-arguments against doing priority inheritance\nonly apply to kernel-space locks.  But user-space locks are different, there\nwe cannot disable interrupts or make the task non-preemptible in a critical\nsection, so the \u0027use spinlocks\u0027 argument does not apply (user-space spinlocks\nhave the same priority inversion problems as other user-space locking\nconstructs).  Fact is, pretty much the only technique that currently enables\ngood determinism for userspace locks (such as futex-based pthread mutexes) is\npriority inheritance:\n\nCurrently (without PI), if a high-prio and a low-prio task shares a lock [this\nis a quite common scenario for most non-trivial RT applications], even if all\ncritical sections are coded carefully to be deterministic (i.e.  all critical\nsections are short in duration and only execute a limited number of\ninstructions), the kernel cannot guarantee any deterministic execution of the\nhigh-prio task: any medium-priority task could preempt the low-prio task while\nit holds the shared lock and executes the critical section, and could delay it\nindefinitely.\n\n  Implementation:\n  ---------------\n\nAs mentioned before, the userspace fastpath of PI-enabled pthread mutexes\ninvolves no kernel work at all - they behave quite similarly to normal\nfutex-based locks: a 0 value means unlocked, and a value\u003d\u003dTID means locked.\n(This is the same method as used by list-based robust futexes.) Userspace uses\natomic ops to lock/unlock these mutexes without entering the kernel.\n\nTo handle the slowpath, we have added two new futex ops:\n\n  FUTEX_LOCK_PI\n  FUTEX_UNLOCK_PI\n\nIf the lock-acquire fastpath fails, [i.e.  an atomic transition from 0 to TID\nfails], then FUTEX_LOCK_PI is called.  The kernel does all the remaining work:\nif there is no futex-queue attached to the futex address yet then the code\nlooks up the task that owns the futex [it has put its own TID into the futex\nvalue], and attaches a \u0027PI state\u0027 structure to the futex-queue.  The pi_state\nincludes an rt-mutex, which is a PI-aware, kernel-based synchronization\nobject.  The \u0027other\u0027 task is made the owner of the rt-mutex, and the\nFUTEX_WAITERS bit is atomically set in the futex value.  Then this task tries\nto lock the rt-mutex, on which it blocks.  Once it returns, it has the mutex\nacquired, and it sets the futex value to its own TID and returns.  Userspace\nhas no other work to perform - it now owns the lock, and futex value contains\nFUTEX_WAITERS|TID.\n\nIf the unlock side fastpath succeeds, [i.e.  userspace manages to do a TID -\u003e\n0 atomic transition of the futex value], then no kernel work is triggered.\n\nIf the unlock fastpath fails (because the FUTEX_WAITERS bit is set), then\nFUTEX_UNLOCK_PI is called, and the kernel unlocks the futex on the behalf of\nuserspace - and it also unlocks the attached pi_state-\u003ert_mutex and thus wakes\nup any potential waiters.\n\nNote that under this approach, contrary to other PI-futex approaches, there is\nno prior \u0027registration\u0027 of a PI-futex.  [which is not quite possible anyway,\ndue to existing ABI properties of pthread mutexes.]\n\nAlso, under this scheme, \u0027robustness\u0027 and \u0027PI\u0027 are two orthogonal properties\nof futexes, and all four combinations are possible: futex, robust-futex,\nPI-futex, robust+PI-futex.\n\n  glibc support:\n  --------------\n\nUlrich Drepper and Jakub Jelinek have written glibc support for PI-futexes\n(and robust futexes), enabling robust and PI (PTHREAD_PRIO_INHERIT) POSIX\nmutexes.  (PTHREAD_PRIO_PROTECT support will be added later on too, no\nadditional kernel changes are needed for that).  [NOTE: The glibc patch is\nobviously inofficial and unsupported without matching upstream kernel\nfunctionality.]\n\nthe patch-queue and the glibc patch can also be downloaded from:\n\n  http://redhat.com/~mingo/PI-futex-patches/\n\nMany thanks go to the people who helped us create this kernel feature: Steven\nRostedt, Esben Nielsen, Benedikt Spranger, Daniel Walker, John Cooper, Arjan\nvan de Ven, Oleg Nesterov and others.  Credits for related prior projects goes\nto Dirk Grambow, Inaky Perez-Gonzalez, Bill Huey and many others.\n\nClean up the futex code, before adding more features to it:\n\n - use u32 as the futex field type - that\u0027s the ABI\n - use __user and pointers to u32 instead of unsigned long\n - code style / comment style cleanups\n - rename hash-bucket name from \u0027bh\u0027 to \u0027hb\u0027.\n\nI checked the pre and post futex.o object files to make sure this\npatch has no code effects.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Jakub Jelinek \u003cjakub@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "66e5393a78b3fcca63e7748e38221dcca61c4aab",
      "tree": "57c5408e8e5596863f4abbe1c822bb0c1c7ff059",
      "parents": [
        "9fea80e4d984d411aa188baa31225c273ebe0fe6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 27 02:54:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:46 2006 -0700"
      },
      "message": "[PATCH] BUG() if setscheduler is called from interrupt context\n\nThomas Gleixner is adding the call to a rtmutex function in setscheduler.\nThis call grabs a spin_lock that is not always protected by interrupts\ndisabled.  So this means that setscheduler cant be called from interrupt\ncontext.\n\nTo prevent this from happening in the future, this patch adds a\nBUG_ON(in_interrupt()) in that function.  (Thanks to akpm \u003caka.  Andrew\nMorton\u003e for this suggestion).\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9fea80e4d984d411aa188baa31225c273ebe0fe6",
      "tree": "da48ffcb1b5a502d72645e55ade9c6588e784cd4",
      "parents": [
        "5c45bf279d378d436ce45825c0f136696c7b6109"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Jun 27 02:54:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched: uninline task_rq_lock()\n\nSaves 543 bytes from sched.o (gcc 3.3.3).\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5c45bf279d378d436ce45825c0f136696c7b6109",
      "tree": "80e2fcf4866b84fccb787562e1a83b16f4bc8850",
      "parents": [
        "369381694ddcf03f1de403501c8b97099b5109ec"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Jun 27 02:54:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched: mc/smt power savings sched policy\n\nsysfs entries \u0027sched_mc_power_savings\u0027 and \u0027sched_smt_power_savings\u0027 in\n/sys/devices/system/cpu/ control the MC/SMT power savings policy for the\nscheduler.\n\nBased on the values (1-enable, 0-disable) for these controls, sched groups\ncpu power will be determined for different domains.  When power savings\npolicy is enabled and under light load conditions, scheduler will minimize\nthe physical packages/cpu cores carrying the load and thus conserving\npower(with a perf impact based on the workload characteristics...  see OLS\n2005 CMP kernel scheduler paper for more details..)\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "369381694ddcf03f1de403501c8b97099b5109ec",
      "tree": "3945620740cc1687c8487356bf4be90394695702",
      "parents": [
        "15f0b676a482fb4067cfe25de417c417dda3440a"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domai: Allocate sched_group structures dynamically\n\nAs explained here:\n\thttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d114327539012323\u0026w\u003d2\n\nthere is a problem with sharing sched_group structures between two\nseparate sched_group structures for different sched_domains.\n\nThe patch has been tested and found to avoid the kernel lockup problem\ndescribed in above URL.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "15f0b676a482fb4067cfe25de417c417dda3440a",
      "tree": "29426196953a41d9cca0d81d501e76514ce820b2",
      "parents": [
        "d3a5aa9858cc9cecc3aadac7311d376c7c9e101a"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domai: Use kmalloc_node\n\nThe sched group structures used to represent various nodes need to be\nallocated from respective nodes (as suggested here also:\n\n\thttp://uwsg.ucs.indiana.edu/hypermail/linux/kernel/0603.3/0051.html)\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d3a5aa9858cc9cecc3aadac7311d376c7c9e101a",
      "tree": "2d753b1cfacdfe399aaa39c30d5f94623bc728e4",
      "parents": [
        "51888ca25a03125e742ef84d4ddfd74e139707a0"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domai: Don\u0027t use GFP_ATOMIC\n\nReplace GFP_ATOMIC allocation for sched_group_nodes with GFP_KERNEL based\nallocation.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "51888ca25a03125e742ef84d4ddfd74e139707a0",
      "tree": "b15e50f3b67f6e2b94b783fce603d4a1f54a8189",
      "parents": [
        "615052dc3bf96278a843a64d3d1eea03532028c3"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@in.ibm.com",
        "time": "Tue Jun 27 02:54:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:45 2006 -0700"
      },
      "message": "[PATCH] sched_domain: handle kmalloc failure\n\nTry to handle mem allocation failures in build_sched_domains by bailing out\nand cleaning up thus-far allocated memory.  The patch has a direct consequence\nthat we disable load balancing completely (even at sibling level) upon *any*\nmemory allocation failure.\n\n[Lee.Schermerhorn@hp.com: bugfix]\nSigned-off-by: Srivatsa Vaddagir \u003cvatsa@in.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "615052dc3bf96278a843a64d3d1eea03532028c3",
      "tree": "e7d5c61bd244e5fbde4ada9ae2ef1ebe7923fb53",
      "parents": [
        "50ddd96917e4548b3813bfb5dd6f97f052b652bd"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Tue Jun 27 02:54:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: Avoid unnecessarily moving highest priority task move_tasks()\n\nProblem:\n\nTo help distribute high priority tasks evenly across the available CPUs\nmove_tasks() does not, under some circumstances, skip tasks whose load\nweight is bigger than the designated amount.  Because the highest priority\ntask on the busiest queue may be on the expired array it may be moved as a\nresult of this mechanism.  Apart from not being the most desirable way to\nredistribute the high priority tasks (we\u0027d rather move the second highest\npriority task), there is a risk that this could set up a loop with this\ntask bouncing backwards and forwards between the two queues.  (This latter\npossibility can be demonstrated by running a nice\u003d\u003d-20 CPU bound task on an\notherwise quiet 2 CPU system.)\n\nSolution:\n\nModify the mechanism so that it does not override skip for the highest\npriority task on the CPU.  Of course, if there are more than one tasks at\nthe highest priority then it will allow the override for one of them as\nthis is a desirable redistribution of high priority tasks.\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "50ddd96917e4548b3813bfb5dd6f97f052b652bd",
      "tree": "f8e62672b35ebdefee048e042a54e8ceaeab0cf0",
      "parents": [
        "2dd73a4f09beacadde827a032cf15fd8b1fa3d48"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Tue Jun 27 02:54:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: modify move_tasks() to improve load balancing outcomes\n\nProblem:\n\nThe move_tasks() function is designed to move UP TO the amount of load it\nis asked to move and in doing this it skips over tasks looking for ones\nwhose load weights are less than or equal to the remaining load to be\nmoved.  This is (in general) a good thing but it has the unfortunate result\nof breaking one of the original load balancer\u0027s good points: namely, that\n(within the limits imposed by the active/expired array model and the fact\nthe expired is processed first) it moves high priority tasks before low\npriority ones and this means there\u0027s a good chance (see active/expired\nproblem for why it\u0027s only a chance) that the highest priority task on the\nqueue but not actually on the CPU will be moved to the other CPU where (as\na high priority task) it may preempt the current task.\n\nSolution:\n\nModify move_tasks() so that high priority tasks are not skipped when moving\nthem will make them the highest priority task on their new run queue.\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2dd73a4f09beacadde827a032cf15fd8b1fa3d48",
      "tree": "f81752d44e68240231518d6a3f05ac9ff6410a2d",
      "parents": [
        "efc30814a88bdbe2bfe4ac94de2eb089ad80bee3"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Tue Jun 27 02:54:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: implement smpnice\n\nProblem:\n\nThe introduction of separate run queues per CPU has brought with it \"nice\"\nenforcement problems that are best described by a simple example.\n\nFor the sake of argument suppose that on a single CPU machine with a\nnice\u003d\u003d19 hard spinner and a nice\u003d\u003d0 hard spinner running that the nice\u003d\u003d0\ntask gets 95% of the CPU and the nice\u003d\u003d19 task gets 5% of the CPU.  Now\nsuppose that there is a system with 2 CPUs and 2 nice\u003d\u003d19 hard spinners and\n2 nice\u003d\u003d0 hard spinners running.  The user of this system would be entitled\nto expect that the nice\u003d\u003d0 tasks each get 95% of a CPU and the nice\u003d\u003d19\ntasks only get 5% each.  However, whether this expectation is met is pretty\nmuch down to luck as there are four equally likely distributions of the\ntasks to the CPUs that the load balancing code will consider to be balanced\nwith loads of 2.0 for each CPU.  Two of these distributions involve one\nnice\u003d\u003d0 and one nice\u003d\u003d19 task per CPU and in these circumstances the users\nexpectations will be met.  The other two distributions both involve both\nnice\u003d\u003d0 tasks being on one CPU and both nice\u003d\u003d19 being on the other CPU and\neach task will get 50% of a CPU and the user\u0027s expectations will not be\nmet.\n\nSolution:\n\nThe solution to this problem that is implemented in the attached patch is\nto use weighted loads when determining if the system is balanced and, when\nan imbalance is detected, to move an amount of weighted load between run\nqueues (as opposed to a number of tasks) to restore the balance.  Once\nagain, the easiest way to explain why both of these measures are necessary\nis to use a simple example.  Suppose that (in a slight variation of the\nabove example) that we have a two CPU system with 4 nice\u003d\u003d0 and 4 nice\u003d19\nhard spinning tasks running and that the 4 nice\u003d\u003d0 tasks are on one CPU and\nthe 4 nice\u003d\u003d19 tasks are on the other CPU.  The weighted loads for the two\nCPUs would be 4.0 and 0.2 respectively and the load balancing code would\nmove 2 tasks resulting in one CPU with a load of 2.0 and the other with\nload of 2.2.  If this was considered to be a big enough imbalance to\njustify moving a task and that task was moved using the current\nmove_tasks() then it would move the highest priority task that it found and\nthis would result in one CPU with a load of 3.0 and the other with a load\nof 1.2 which would result in the movement of a task in the opposite\ndirection and so on -- infinite loop.  If, on the other hand, an amount of\nload to be moved is calculated from the imbalance (in this case 0.1) and\nmove_tasks() skips tasks until it find ones whose contributions to the\nweighted load are less than this amount it would move two of the nice\u003d\u003d19\ntasks resulting in a system with 2 nice\u003d\u003d0 and 2 nice\u003d19 on each CPU with\nloads of 2.1 for each CPU.\n\nOne of the advantages of this mechanism is that on a system where all tasks\nhave nice\u003d\u003d0 the load balancing calculations would be mathematically\nidentical to the current load balancing code.\n\nNotes:\n\nstruct task_struct:\n\nhas a new field load_weight which (in a trade off of space for speed)\nstores the contribution that this task makes to a CPU\u0027s weighted load when\nit is runnable.\n\nstruct runqueue:\n\nhas a new field raw_weighted_load which is the sum of the load_weight\nvalues for the currently runnable tasks on this run queue.  This field\nalways needs to be updated when nr_running is updated so two new inline\nfunctions inc_nr_running() and dec_nr_running() have been created to make\nsure that this happens.  This also offers a convenient way to optimize away\nthis part of the smpnice mechanism when CONFIG_SMP is not defined.\n\nint try_to_wake_up():\n\nin this function the value SCHED_LOAD_BALANCE is used to represent the load\ncontribution of a single task in various calculations in the code that\ndecides which CPU to put the waking task on.  While this would be a valid\non a system where the nice values for the runnable tasks were distributed\nevenly around zero it will lead to anomalous load balancing if the\ndistribution is skewed in either direction.  To overcome this problem\nSCHED_LOAD_SCALE has been replaced by the load_weight for the relevant task\nor by the average load_weight per task for the queue in question (as\nappropriate).\n\nint move_tasks():\n\nThe modifications to this function were complicated by the fact that\nactive_load_balance() uses it to move exactly one task without checking\nwhether an imbalance actually exists.  This precluded the simple\noverloading of max_nr_move with max_load_move and necessitated the addition\nof the latter as an extra argument to the function.  The internal\nimplementation is then modified to move up to max_nr_move tasks and\nmax_load_move of weighted load.  This slightly complicates the code where\nmove_tasks() is called and if ever active_load_balance() is changed to not\nuse move_tasks() the implementation of move_tasks() should be simplified\naccordingly.\n\nstruct sched_group *find_busiest_group():\n\nSimilar to try_to_wake_up(), there are places in this function where\nSCHED_LOAD_SCALE is used to represent the load contribution of a single\ntask and the same issues are created.  A similar solution is adopted except\nthat it is now the average per task contribution to a group\u0027s load (as\nopposed to a run queue) that is required.  As this value is not directly\navailable from the group it is calculated on the fly as the queues in the\ngroups are visited when determining the busiest group.\n\nA key change to this function is that it is no longer to scale down\n*imbalance on exit as move_tasks() uses the load in its scaled form.\n\nvoid set_user_nice():\n\nhas been modified to update the task\u0027s load_weight field when it\u0027s nice\nvalue and also to ensure that its run queue\u0027s raw_weighted_load field is\nupdated if it was runnable.\n\nFrom: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\n\nWith smpnice, sched groups with highest priority tasks can mask the imbalance\nbetween the other sched groups with in the same domain.  This patch fixes some\nof the listed down scenarios by not considering the sched groups which are\nlightly loaded.\n\na) on a simple 4-way MP system, if we have one high priority and 4 normal\n   priority tasks, with smpnice we would like to see the high priority task\n   scheduled on one cpu, two other cpus getting one normal task each and the\n   fourth cpu getting the remaining two normal tasks.  but with current\n   smpnice extra normal priority task keeps jumping from one cpu to another\n   cpu having the normal priority task.  This is because of the\n   busiest_has_loaded_cpus, nr_loaded_cpus logic..  We are not including the\n   cpu with high priority task in max_load calculations but including that in\n   total and avg_load calcuations..  leading to max_load \u003c avg_load and load\n   balance between cpus running normal priority tasks(2 Vs 1) will always show\n   imbalanace as one normal priority and the extra normal priority task will\n   keep moving from one cpu to another cpu having normal priority task..\n\nb) 4-way system with HT (8 logical processors).  Package-P0 T0 has a\n   highest priority task, T1 is idle.  Package-P1 Both T0 and T1 have 1 normal\n   priority task each..  P2 and P3 are idle.  With this patch, one of the\n   normal priority tasks on P1 will be moved to P2 or P3..\n\nc) With the current weighted smp nice calculations, it doesn\u0027t always make\n   sense to look at the highest weighted runqueue in the busy group..\n   Consider a load balance scenario on a DP with HT system, with Package-0\n   containing one high priority and one low priority, Package-1 containing one\n   low priority(with other thread being idle)..  Package-1 thinks that it need\n   to take the low priority thread from Package-0.  And find_busiest_queue()\n   returns the cpu thread with highest priority task..  And ultimately(with\n   help of active load balance) we move high priority task to Package-1.  And\n   same continues with Package-0 now, moving high priority task from package-1\n   to package-0..  Even without the presence of active load balance, load\n   balance will fail to balance the above scenario..  Fix find_busiest_queue\n   to use \"imbalance\" when it is lightly loaded.\n\n[kernel@kolivas.org: sched: store weighted load on up]\n[kernel@kolivas.org: sched: add discrete weighted cpu load function]\n[suresh.b.siddha@intel.com: sched: remove dead code]\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.com.au\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Chen, Kenneth W\" \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nCc: John Hawkes \u003chawkes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "efc30814a88bdbe2bfe4ac94de2eb089ad80bee3",
      "tree": "1134d7ccda13c09cf426af0524c13633292eac5b",
      "parents": [
        "cc94abfcbc9fed0048365ce1fb8dc81353408bf8"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Tue Jun 27 02:54:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: CPU hotplug race vs. set_cpus_allowed()\n\nThere is a race between set_cpus_allowed() and move_task_off_dead_cpu().\n__migrate_task() doesn\u0027t report any err code, so task can be left on its\nrunqueue if its cpus_allowed mask changed so that dest_cpu is not longer a\npossible target.  Also, chaning cpus_allowed mask requires rq-\u003elock being\nheld.\n\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nAcked-By: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc94abfcbc9fed0048365ce1fb8dc81353408bf8",
      "tree": "d7e40f7a9e710f220f1bf5f7514ac7eba2fc70c2",
      "parents": [
        "72d2854d4ebf5faf086ebccb2ed575c6b68a05dc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 27 02:54:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] unnecessary long index i in sched\n\nUnless we expect to have more than 2G CPUs, there\u0027s no reason to have \u0027i\u0027\nas a long long here.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72d2854d4ebf5faf086ebccb2ed575c6b68a05dc",
      "tree": "2a0b00a32a810b76ff29bde7d269998561408f8b",
      "parents": [
        "d444886e149a8413159da8b43ada2bc287e69b0c"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Tue Jun 27 02:54:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: fix interactive ceiling code\n\nThe relationship between INTERACTIVE_SLEEP and the ceiling is not perfect\nand not explicit enough.  The sleep boost is not supposed to be any larger\nthan without this code and the comment is not clear enough about what\nexactly it does, just the reason it does it.  Fix it.\n\nThere is a ceiling to the priority beyond which tasks that only ever sleep\nfor very long periods cannot surpass.  Fix it.\n\nPrevent the on-runqueue bonus logic from defeating the idle sleep logic.\n\nOpportunity to micro-optimise.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d444886e149a8413159da8b43ada2bc287e69b0c",
      "tree": "aa977a3b4e2a045df964b5ca2a9cddf50f978b85",
      "parents": [
        "c96d145e71c5c84601322d85748512e09d7b325f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jun 27 02:54:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: simplify bitmap definition\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c96d145e71c5c84601322d85748512e09d7b325f",
      "tree": "4762f8aa4c970295a33afbc4ee506c72d7216073",
      "parents": [
        "7a8e2a5ea4cf43c0edd6db56a156549edb0eee98"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Tue Jun 27 02:54:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:44 2006 -0700"
      },
      "message": "[PATCH] sched: fix smt nice lock contention and optimization\n\nInitial report and lock contention fix from Chris Mason:\n\nRecent benchmarks showed some performance regressions between 2.6.16 and\n2.6.5.  We tracked down one of the regressions to lock contention in\nschedule heavy workloads (~70,000 context switches per second)\n\nkernel/sched.c:dependent_sleeper() was responsible for most of the lock\ncontention, hammering on the run queue locks.  The patch below is more of a\ndiscussion point than a suggested fix (although it does reduce lock\ncontention significantly).  The dependent_sleeper code looks very expensive\nto me, especially for using a spinlock to bounce control between two\ndifferent siblings in the same cpu.\n\nIt is further optimized:\n\n* perform dependent_sleeper check after next task is determined\n* convert wake_sleeping_dependent to use trylock\n* skip smt runqueue check if trylock fails\n* optimize double_rq_lock now that smt nice is converted to trylock\n* early exit in searching first SD_SHARE_CPUPOWER domain\n* speedup fast path of dependent_sleeper\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Chris Mason \u003cmason@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7a8e2a5ea4cf43c0edd6db56a156549edb0eee98",
      "tree": "42a88e7f8de0c22011b8e75fb96255e5360380d8",
      "parents": [
        "23916a8e3d8f41aa91474e834ac99808b197c39e"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: add proper Kconfig, Makefile entries\n\nReplace the temp makefile hacks with proper CONFIG entries, which are also\nadded to Kconfig.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "23916a8e3d8f41aa91474e834ac99808b197c39e",
      "tree": "d5d08172500e1b7bca0317bf29f6dd917b034200",
      "parents": [
        "ec312310e43acd5bb8b49314c6d472bb60d2d30c"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: display pin values in/out in gpio_dump\n\nAdd current pin settings to gpio_dump() output.  This adds the last \u0027word\u0027 to\nthe syslog lines, which displays the input and output values that the pin is\nset to.\n\n  pc8736x_gpio.0: io00: 0x0044 TS OD PUE  EDGE LO DEBOUNCE        io:1/1\n\nThe 2 values may differ for a number of reasons:\n1- the pin output circuitry is diaabled, (as the above \u0027TS\u0027 indicates)\n2- it needs a pullup resistor to drive the attached circuit,\n3- the external circuit needs a pullup so the open-drain has something\n   to pull-down\n4- the pin is wired to Vcc or Ground\n\nIt might be appropriate to add a WARN for 2,3,4, since they could\ndamage the chip and/or circuit, esp if misconfig goes unnoticed.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ec312310e43acd5bb8b49314c6d472bb60d2d30c",
      "tree": "6cb7101d9150b32b9d06446554a6e870eeb75c04",
      "parents": [
        "8bcf6135c3e8cdfab375f4041a48721483519eee"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] gpio-patchset-fixups: include linux/io.h\n\nHmm.  Im somewhat ambivalent about this patch, since with it, driver wont\nbuild for vanilla 17 or older.\n\nIts also only 1/2 of your suggestion - when I tried it, I was building against\nvanilla 17, and asm/uaccess.h cause compilation failure.  Looking back, Im\nperplexed as to why linux/io.h didnt cause same failure ?!?\n\nuse linux/io.h rather than asm/io.h\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8bcf6135c3e8cdfab375f4041a48721483519eee",
      "tree": "06658c8beb4a8e0e3808ca962fced3166a0eb22b",
      "parents": [
        "6cad56fd884b7eb85ae193c94b688fe76680fcbf"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: replace spinlocks w mutexes\n\nReplace spinlocks guarding gpio config ops with mutexes.  This is a me-too\npatch, and is justifiable insofar as mutexes have stricter semantics and\nbetter debugging support, so are preferred where they are applicable.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6cad56fd884b7eb85ae193c94b688fe76680fcbf",
      "tree": "41f8abbc17063604501a529290c66059638fe2f7",
      "parents": [
        "f31000e573da052b6b8bcc21faff520b4e2eda7a"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: fix gpio_current, use shadow regs\n\nAdd a working gpio_current() to pc8736x_gpio.c (the previous implementation\njust threw a dev_warn), and fix gpio_change() to use gpio_current() rather\nthan the incorrect (and temporary) gpio_get().  Initialize shadow-regs so this\nall works.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f31000e573da052b6b8bcc21faff520b4e2eda7a",
      "tree": "670d5e6e00da615f70d99a950cfe7b8603edad26",
      "parents": [
        "58b087cda1e9e46c7061c2282f92bd8e1970bfe7"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: use dev_dbg in common module\n\nUse of dev_dbg() and friends is considered good practice.  dev_dbg() needs a\nstruct device *devp, but nsc_gpio is only a helper module, so it doesnt\nhave/need its own.  To provide devp to the user-modules (scx200 \u0026 pc8736x\n_gpio), we add it to the vtable, and set it during init.\n\nAlso squeeze nsc_gpio_dump()\u0027s format a little.\n\n[  199.259879]  pc8736x_gpio.0: io09: 0x0044 TS OD PUE  EDGE LO DEBOUNCE\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "58b087cda1e9e46c7061c2282f92bd8e1970bfe7",
      "tree": "cfc7e0df87fd0f27d3d0da04a3136d7104ab10a4",
      "parents": [
        "681a3e7dab868a8c390724494e8b79dc596b9e0f"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: add platform_device for use w dev_dbg\n\nAdds platform-device to (just introduced) driver, and uses it to replace many\nprintks with dev_dbg() etc.  This could trivially be merged into previous\npatch, but this way matches better with the corresponding patch that does the\nsame change to scx200_gpio.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "681a3e7dab868a8c390724494e8b79dc596b9e0f",
      "tree": "d59157ed468a5e5ad7baa9b749c1b6b61274eab9",
      "parents": [
        "0e41ef3c51ea7dbb764616f60a90700647fc8518"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: add new pc8736x_gpio module\n\nAdd the brand new pc8736x_gpio driver.  This is mostly based upon\nscx200_gpio.c, but the platform_dev is treated separately, since its fairly\nbig too.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0e41ef3c51ea7dbb764616f60a90700647fc8518",
      "tree": "fc55403cca82ed01da9d6a7fadbaf4329cf9beb2",
      "parents": [
        "1a66fdf083bf2b60c4d12feb970bc7373b59e33a"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: migrate gpio_dump to common module\n\nSince the meaning of config-bits is the same for scx200 and pc8736x _gpios, we\ncan share a function to deliver this to user.  Since it is called via the\nvtable, its also completely replaceable.  For now, we keep using printk...\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a66fdf083bf2b60c4d12feb970bc7373b59e33a",
      "tree": "f1e9d67e5c2fb3f9e7e575a6a9c44db3af6f6c22",
      "parents": [
        "1ca5df0a4cbd17a9536e63c5f69d4717c6538eb0"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:43 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: migrate file-ops to common module\n\nNow that the read(), write() file-ops are dispatching gpio-ops via the vtable,\nthey are generic, and can be moved \u0027verbatim\u0027 to the nsc_gpio common-support\nmodule.  After the move, various symbols are renamed to update \u0027scx200_\u0027 to\n\u0027nsc_\u0027, and headers are adjusted accordingly.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1ca5df0a4cbd17a9536e63c5f69d4717c6538eb0",
      "tree": "8986bbadc721599a0751b8ec6488f22bac2ce4a6",
      "parents": [
        "c3dc8071eedaac8c8a05c30fe20b78452a818dd9"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: add empty common-module\n\nAdd the nsc_gpio common-support module as an empty shell.  Next patch starts\nthe migration of the common gpio support routines.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c3dc8071eedaac8c8a05c30fe20b78452a818dd9",
      "tree": "8cd247bf39b47273b7a1a7aa06cc0fc4c16dd7cd",
      "parents": [
        "fe3a168a2ce1c93837cdf8fe27a3e67795155f90"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: dispatch via vtable\n\nNow actually call the gpio operations thru the vtable.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fe3a168a2ce1c93837cdf8fe27a3e67795155f90",
      "tree": "798eaa66b5e95756e800132602ace5f5c00aa3b0",
      "parents": [
        "9b170b8fdbd14a197ad26b4354f3810c65a96602"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: add gpio-ops vtable\n\nAbstract the gpio operations into a new nsc_gpio_ops vtable.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b170b8fdbd14a197ad26b4354f3810c65a96602",
      "tree": "087cea45b78d6091410729ecd94083833231ea72",
      "parents": [
        "9550a339e1ab1709dd53d92a1b76eecae2df9f3c"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: refactor scx200_probe to better segregate _gpio initialization\n\nPull shadow-reg initialization into separate function now, rather than doing\nit 2x later (scx200, pc8736x).  When we revisit 2nd drvr below, it will be to\nreimplement an init function, rather than another refactor.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9550a339e1ab1709dd53d92a1b76eecae2df9f3c",
      "tree": "a5bea006ebb482c6f4468816486254c401803282",
      "parents": [
        "d424aa8744b7b7db1d32476ae6c8015d10eebe1c"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: add \u0027v\u0027 command to device-file\n\nAdd a new driver command: \u0027v\u0027 which calls gpio_dump() on the pin.  The output\ngoes to the log, like all other INFO messages in the original driver.  Giving\nthe user control over the feedback they \u0027need\u0027 is construed to be a\nuser-friendly feature, and allows us (later) to dial down many INFO messages\nto DEBUG log-level.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d424aa8744b7b7db1d32476ae6c8015d10eebe1c",
      "tree": "b0bd0cf7dbb571a3639abffac6307cd8ff693c34",
      "parents": [
        "55b8c0455b8aeb80f94183fa3aa42e3fa62b1705"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: put gpio_dump on a diet\n\nShrink scx200_gpio_dump() to a single printk with ternary ops.  The function\nis still ifdef\u0027d out, this is corrected in next patch, when it is actually\nused.\n\nThe patch \u0027inadvertently\u0027 changed loglevel from DEBUG to INFO.  This is Good,\nbecause in next patch, its wired to a \u0027command\u0027 which the user can invoke when\nthey want.  When they do so, its because they want INFO to support their\ndevelopement effort, and we want to give it to them without compiling a DEBUG\nversion of the driver.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "55b8c0455b8aeb80f94183fa3aa42e3fa62b1705",
      "tree": "ec8f219a8518f32c1d7aef9546410f074cfb352e",
      "parents": [
        "979b5ec3a7055d35b212f657e80257ec1346aa0e"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: device minor numbers are unsigned ints\n\nPer kernel headers, device minor numbers are unsigned ints.  Do the same in\nthis driver.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "979b5ec3a7055d35b212f657e80257ec1346aa0e",
      "tree": "41c47b988d6302218fa71a7d8ca7f21b9fa95826",
      "parents": [
        "7d7f212661d68d231fdfaead03dda0dd44d5bbbb"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: add platforn_device for use w dev_dbg\n\nAdd a platform-device to scx200_gpio, and use its struct device dev member\n(ie: devp) in dev_dbg() once.\n\nThere are 2 alternatives here (Im soliciting guidance/commentary):\n\n- use isa_device, if/when its added to the kernel.\n\n- alter scx200.c to EXPORT_GPL its private devp so that both scx200_gpio,\n  and the (to be added) nsc_gpio module can use it.  Since the available devp\n  is in \u0027grandparent\u0027, this seems like too much \u0027action at a distance\u0027.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7d7f212661d68d231fdfaead03dda0dd44d5bbbb",
      "tree": "8f89786dc3a34c8511a63e9916027ed5b7b0f91b",
      "parents": [
        "62c83cde9282a9580994a12b3063e677181b5ebe"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: modernize driver init to 2.6 api\n\nAdopt many modern 2.6 coding practices, ala LDD3, chapter 3.  Changes are\nlimited to initialization calls from module init, ie: cdev_init, cdev_add,\n*_chrdev_region, mkdev.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62c83cde9282a9580994a12b3063e677181b5ebe",
      "tree": "f8f2843475d0c13cdc9dc64b09b5249f31449183",
      "parents": [
        "5a67e4c5b6faaccf31740a07d93704166405d880"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Jun 27 02:54:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:42 2006 -0700"
      },
      "message": "[PATCH] chardev: GPIO for SCx200 \u0026 PC-8736x: whitespace pre-clean\n\nGPIO SUPPORT FOR SCx200 \u0026 PC8736x\n\nThe patch-set reworks the 2.4 vintage scx200_gpio driver for modern 2.6, and\nrefactors GPIO support to reuse it in a new driver for the GPIO on PC-8736x\nchips.  Its handy for the Soekris.com net-4801, which has both chips.\n\nThese patches have been seen recently on Kernel-Mentors, and then\nKernel-Newbies ML, where Jesper Juhl kindly reviewed it.  His feedback has\nbeen incorporated.  Thanks Jesper !\n\nIts also gone to soekris-tech@soekris.com for possible testing by linux folks,\nI\u0027ve gotten 1 promise so far.  Theyre mostly BSD folk over there, but we\u0027ll\nsee..\n\nDevice-file \u0026 Sysfs\n\nThe driver preserves the existing device-file interface, including the\nwrite/cmd set, but adds v to \u0027view\u0027 the pin-settings \u0026 configs by inducing,\nvia gpio_dump(), a dev_info() call.  Its a fairly crappy way to get status,\nbut it sticks to the syslog approach, conservatively.\n\nAllowing users to voluntarily trigger logging is good, it gives them a\nfamiliar way to confirm their app\u0027s control \u0026 use of the pins, and I\u0027ve thus\nreduced the pin-mode-updates from dev_info to dev_dbg.\n\nI\u0027ve recently bolted on a proto sysfs interface for both new drivers.  Im not\nincluding those patches here; they (the patch + doc-pre-patch) are still quite\nraw (and unreviewed on KNML), and since they \u0027invent\u0027 a convention for GPIO, a\nproper vetting is needed.  Since this patchset is much bigger than my previous\nones, Id like to keep things simpler, and address it 1st, before bolting on\nmore stuff.\n\nThe driver-split\n\nThe Geode CPU and the PC-87366 Super-IO chip have GPIO units which share a\ncommon pin-architecture (same pin features, with same bits controlling), but\nwith different addressing mechanics and port organizations.\n\nThe vintage driver expresses the pin capabilities with pin-mode commands\n[OoPpTt],etc that change the pin configurations, and since the 2 chips share\npin-arch, we can reuse the read(), write() commands, once the implementation\nis suitably adjusted.\n\nThe patchset adds a vtable: struct nsc_gpio_ops, to abstract the existing gpio\noperations, then adjusts fileops.write() code to invoke operations via that\nvtable.  Driver specific open()s set private_data to the vtable so its\navailable for use by write().\n\nThe vtable gets the gpio_dump() too, since its user-friendly, and (could be\nconstrued as) part of the current device-file interface.  To support use of\ndev_dbg() in write() \u0026 _dump(), the vtable gets a dev ptr too, set by both\nscx200 \u0026 pc8736x _gpio drivers.\n\nheres how the pins are presented in syslog:\n\n[ 1890.176223]  scx200_gpio.0: io00: 0x0044 TS OD PUE  EDGE LO DEBOUNCE\n[ 1890.287223]  scx200_gpio.0: io01: 0x0003 OE PP PUD  EDGE LO\n\nnsc_gpio.c: new file is new home of several file-ops methods, which are\nmodified to get their vtable from filp-\u003eprivate_data, and use it where needed.\n\nscx200_gpio.c: keeps some of its existing gpio routines, but now wires them up\nvia the vtable (they\u0027re invoked by nsc_gpio.c:nsc_gpio_write() thru this\nvtable).  A driver-spcific open() initializes filp-\u003eprivate_data with the\nvtable.\n\nOnce the split is clean, and the scx200_gpio driver is working, we copy and\nmodify the function and variable names, and rework the access-method bodies\nfor the different addressing scheme.\n\nHeres a working overview of the patchset:\n\n# series file for GPIO\n\n# Spring Cleaning\ngpio-scx/patch.preclean        # scripts/Lindent fixes, editor-ctrl comments\n\n# API Modernization\n\ngpio-scx/patch.api26        # what I learned from LDD3\ngpio-scx/patch.platform-dev-2    # get pdev, support for dev_dbg()\ngpio-scx/patch.unsigned-minor    # fix to match std practice\n\n# Debuggability\n\ngpio-scx/patch.dump-diet    # shrink gpio_dump()\ngpio-scx/patch.viewpins        # add new \u0027command\u0027 to call dump()\ngpio-scx/patch.init-refactor    # pull shadow-register init to sub\n\n# Access-Abstraction (add vtable)\n\ngpio-scx/patch.access-vtable    # introduce nsg_gpio_ops vtable, w dump\ngpio-scx/patch.vtable-calls    # add \u0026 use the vtable in scx200_gpio\ngpio-scx/patch.nscgpio-shell    # add empty driver for common-fops\n\n# move code under abstraction\ngpio-scx/patch.migrate-fops    # move file-ops methods from scx200_gpio\ngpio-scx/patch.common-dump    # mv scx200.c:scx200_gpio_dump() to nsc_gpio.c\ngpio-scx/patch.add-pc8736x-gpio    # add new driver, like old, w chip adapt\n# gpio-scx/patch.add-DEBUG    # enable all dev_dbg()s\n\n# Cleanups\n\n# finish printk -\u003e dev_dbg() etc\ngpio-scx/patch.pdev-pc8736x    # new drvr needs pdev too,\ngpio-scx/patch.devdbg-nscgpio    # add device to \u0027vtable\u0027, use in dev_dbg()\n\n# gpio-scx/patch.pin-config-view    # another \u0027c\u0027 \u0027command\u0027\n# gpio-scx/quiet-getset        # take out excess dbg stuff (pretty quiet\nnow)\ngpio-scx/patch.shadow-current    # imitate scx200_gpio\u0027s shadow regs in\npc87*\n\n# post KMentors-post patches ..\n\ngpio-scx/patch.mutexes        # use mutexes for config-locks\ngpio-scx/patch.viewpins-values    # extend dump to obsolete separate \u0027c\u0027 cmd\n\ngpio-scx/patch.kconfig        # add stuff for kbuild\n\n# TBC\n# combine api26 with pdev, which is just one step.\n# merge c\u0026v commands to single do-all-fn\n# delay viewpins, dump-diet should also un-ifdef it too.\n\ndiff.sys-gpio-rollup-1\n\nThis patch:\n\nRemoved editor format-control comments, and used scripts/Lindent to clean up\nwhitespace, then deleted the bogus chunks :-(\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5a67e4c5b6faaccf31740a07d93704166405d880",
      "tree": "a302ac0dae12f3e430ff485242bc0a85ddfbc00d",
      "parents": [
        "39f4885c56073ecafd482d7e10dd7b17900fa312"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: use hotplug version of cpu notifier in appropriate places\n\nMake use the of newly defined hotplug version of cpu_notifier functionality\nwherever appropriate.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39f4885c56073ecafd482d7e10dd7b17900fa312",
      "tree": "81a90a4b7bc4dae71613cce3e27da361b08ecb0a",
      "parents": [
        "26c2143b63b8078d08d562733716de142927e17a"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: add hotplug versions of cpu_notifier\n\nDefine new macros register_hotcpu_notifier() and unregister_hotcpu_notifier()\nthat redefines register_cpu_notifier() and unregister_cpu_notifier() for use\nonly when HOTPLUG_CPU is defined.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "26c2143b63b8078d08d562733716de142927e17a",
      "tree": "6a2add2bca5bffbd33a0465fd934fffa34a695e9",
      "parents": [
        "74b85f3790aa2550c617fe14439482e13e615fa0"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: make cpu_notifier related notifier calls __cpuinit only\n\nMake notifier_calls associated with cpu_notifier as __cpuinit.\n\n__cpuinit makes sure that the function is init time only unless\nCONFIG_HOTPLUG_CPU is defined.\n\n[akpm@osdl.org: section fix]\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "74b85f3790aa2550c617fe14439482e13e615fa0",
      "tree": "125e9c503d483c304e111ca825358bd81e0610cd",
      "parents": [
        "65edc68c345cbe21d0b0375c3452a3ed5e322868"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: make cpu_notifier related notifier blocks __cpuinit only\n\nMake notifier_blocks associated with cpu_notifier as __cpuinitdata.\n\n__cpuinitdata makes sure that the data is init time only unless\nCONFIG_HOTPLUG_CPU is defined.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "65edc68c345cbe21d0b0375c3452a3ed5e322868",
      "tree": "07961d63cdacf95355a8db471c6ff4e321ca94fd",
      "parents": [
        "054cc8a2d808822dadf488a61729e3e550f114c4"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: make [un]register_cpu_notifier init time only\n\nCPUs come online only at init time (unless CONFIG_HOTPLUG_CPU is defined).\nSo, cpu_notifier functionality need to be available only at init time.\n\nThis patch makes register_cpu_notifier() available only at init time, unless\nCONFIG_HOTPLUG_CPU is defined.\n\nThis patch exports register_cpu_notifier() and unregister_cpu_notifier() only\nif CONFIG_HOTPLUG_CPU is defined.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "054cc8a2d808822dadf488a61729e3e550f114c4",
      "tree": "da7e5ecce06d1898263da9b47714b0b0fa972397",
      "parents": [
        "9c7b216d23e820e0e148d5be01bbb5bd2d8378fe"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: revert initdata patch submitted for 2.6.17\n\nThis patch reverts notifier_block changes made in 2.6.17\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c7b216d23e820e0e148d5be01bbb5bd2d8378fe",
      "tree": "53e6c1e4870db49b4999b4053862d3f63375773f",
      "parents": [
        "6ac12dfe9c2027cd3c5ed603f11d1bb4f04906fe"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:40 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: revert init patch submitted for 2.6.17\n\nIn 2.6.17, there was a problem with cpu_notifiers and XFS.  I provided a\nband-aid solution to solve that problem.  In the process, i undid all the\nchanges you both were making to ensure that these notifiers were available\nonly at init time (unless CONFIG_HOTPLUG_CPU is defined).\n\nWe deferred the real fix to 2.6.18.  Here is a set of patches that fixes the\nXFS problem cleanly and makes the cpu notifiers available only at init time\n(unless CONFIG_HOTPLUG_CPU is defined).\n\nIf CONFIG_HOTPLUG_CPU is defined then cpu notifiers are available at run\ntime.\n\nThis patch reverts the notifier_call changes made in 2.6.17\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ac12dfe9c2027cd3c5ed603f11d1bb4f04906fe",
      "tree": "7c1cb6d405dcaf959d9b1f67f62991775722fcde",
      "parents": [
        "b65b5b59f98aa317df399318b0b2770f50732d3c"
      ],
      "author": {
        "name": "Sonny Rao",
        "email": "sonny@burdell.org",
        "time": "Tue Jun 27 02:54:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:40 2006 -0700"
      },
      "message": "[PATCH] rtc: fix idr locking\n\nWe need to serialize access to the global rtc_idr even in this error path.\n\nSigned-off-by: Sonny Rao \u003csonny@burdell.org\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "b65b5b59f98aa317df399318b0b2770f50732d3c"
}
