)]}'
{
  "log": [
    {
      "commit": "35dead4235e2b67da7275b4122fed37099c2f462",
      "tree": "643b8e561025e5f49b17e3a74ee4d7812123aecd",
      "parents": [
        "ebd65a5855a1ddb21706e630c9ba1b9e80c767f7"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Thu Dec 03 00:29:15 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:38:25 2009 -0800"
      },
      "message": "modules: don\u0027t export section names of empty sections via sysfs\n\nOn the parisc architecture we face for each and every loaded kernel module\nthis kernel \"badness warning\":\n  sysfs: cannot create duplicate filename \u0027/module/ac97_bus/sections/.text\u0027\n  Badness at fs/sysfs/dir.c:487\n\nReason for that is, that on parisc all kernel modules do have multiple\n.text sections due to the usage of the -ffunction-sections compiler flag\nwhich is needed to reach all jump targets on this platform.\n\nAn objdump on such a kernel module gives:\nSections:\nIdx Name          Size      VMA       LMA       File off  Algn\n  0 .note.gnu.build-id 00000024  00000000  00000000  00000034  2**2\n                  CONTENTS, ALLOC, LOAD, READONLY, DATA\n  1 .text         00000000  00000000  00000000  00000058  2**0\n                  CONTENTS, ALLOC, LOAD, READONLY, CODE\n  2 .text.ac97_bus_match 0000001c  00000000  00000000  00000058  2**2\n                  CONTENTS, ALLOC, LOAD, READONLY, CODE\n  3 .text         00000000  00000000  00000000  000000d4  2**0\n                  CONTENTS, ALLOC, LOAD, READONLY, CODE\n...\nSince the .text sections are empty (size of 0 bytes) and won\u0027t be\nloaded by the kernel module loader anyway, I don\u0027t see a reason\nwhy such sections need to be listed under\n/sys/module/\u003cmodule_name\u003e/sections/\u003csection_name\u003e either.\n\nThe attached patch does solve this issue by not exporting section\nnames which are empty.\n\nThis fixes bugzilla http://bugzilla.kernel.org/show_bug.cgi?id\u003d14703\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nCC: rusty@rustcorp.com.au\nCC: akpm@linux-foundation.org\nCC: James.Bottomley@HansenPartnership.com\nCC: roland@redhat.com\nCC: dave@hiauly1.hia.nrc.ca\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f13a48bd798a159291ca583b95453171b88b7448",
      "tree": "a644293386e30ed5ab297e5943e57658e1d11e6a",
      "parents": [
        "df87f8c06c7f562ef9d93b9d674eebf2ffb96f6a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 01 15:36:11 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 08:20:31 2009 -0800"
      },
      "message": "SLOW_WORK: Move slow_work\u0027s proc file to debugfs\n\nMove slow_work\u0027s debugging proc file to debugfs.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nRequested-and-acked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa1dae4906982b5d896c07613b1fe42456133b1c",
      "tree": "027dec5baeedbe25a7b645311b530a06d78b36f3",
      "parents": [
        "6f054164322bc6c1233402b9ed6b40d4af39a98f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 01 13:52:08 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 07:35:11 2009 -0800"
      },
      "message": "SLOW_WORK: Fix the CONFIG_MODULES\u003dn case\n\nCommits 3d7a641 (\"SLOW_WORK: Wait for outstanding work items belonging to a\nmodule to clear\") introduced some code to make sure that all of a module\u0027s\nslow-work items were complete before that module was removed, and commit\n3bde31a (\"SLOW_WORK: Allow a requeueable work item to sleep till the thread is\nneeded\") further extended that, breaking it in the process if CONFIG_MODULES\u003dn:\n\n    CC      kernel/slow-work.o\n  kernel/slow-work.c: In function \u0027slow_work_execute\u0027:\n  kernel/slow-work.c:313: error: \u0027slow_work_thread_processing\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:313: error: (Each undeclared identifier is reported only once\n  kernel/slow-work.c:313: error: for each function it appears in.)\n  kernel/slow-work.c: In function \u0027slow_work_wait_for_items\u0027:\n  kernel/slow-work.c:950: error: \u0027slow_work_unreg_sync_lock\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:951: error: \u0027slow_work_unreg_wq\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:961: error: \u0027slow_work_unreg_work_item\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:974: error: \u0027slow_work_unreg_module\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:977: error: \u0027slow_work_thread_processing\u0027 undeclared (first use in this function)\n  make[1]: *** [kernel/slow-work.o] Error 1\n\nFix this by:\n\n (1) Extracting the bits of slow_work_execute() that are contingent on\n     CONFIG_MODULES, and the bits that should be, into inline functions and\n     placing them into the #ifdef\u0027d section that defines the relevant variables\n     and adding stubs for moduleless kernels.  This allows the removal of some\n     #ifdefs.\n\n (2) #ifdef\u0027ing out the contents of slow_work_wait_for_items() in moduleless\n     kernels.\n\nThe four functions related to handling module unloading synchronisation (and\ntheir associated variables) could be offloaded into a separate .c file, but\neach function is only used once and three of them are tiny, so doing so would\nprevent them from being inlined.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3bde31a4ac225cb5805be02eff6eaaf7e0766ccd",
      "tree": "9fb757ab7d46e0c37fb5e88d3185f1861fbc794e",
      "parents": [
        "31ba99d304494cb28fa8671ccc769c5543e1165d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:57 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:57 2009 +0000"
      },
      "message": "SLOW_WORK: Allow a requeueable work item to sleep till the thread is needed\n\nAdd a function to allow a requeueable work item to sleep till the thread\nprocessing it is needed by the slow-work facility to perform other work.\n\nSometimes a work item can\u0027t progress immediately, but must wait for the\ncompletion of another work item that\u0027s currently being processed by another\nslow-work thread.\n\nIn some circumstances, the waiting item could instead - theoretically - put\nitself back on the queue and yield its thread back to the slow-work facility,\nthus waiting till it gets processing time again before attempting to progress.\nThis would allow other work items processing time on that thread.\n\nHowever, this only works if there is something on the queue for it to queue\nbehind - otherwise it will just get a thread again immediately, and will end\nup cycling between the queue and the thread, eating up valuable CPU time.\n\nSo, slow_work_sleep_till_thread_needed() is provided such that an item can put\nitself on a wait queue that will wake it up when the event it is actually\ninterested in occurs, then call this function in lieu of calling schedule().\n\nThis function will then sleep until either the item\u0027s event occurs or another\nwork item appears on the queue.  If another work item is queued, but the\nitem\u0027s event hasn\u0027t occurred, then the work item should requeue itself and\nyield the thread back to the slow-work facility by returning.\n\nThis can be used by CacheFiles for an object that is being created on one\nthread to wait for an object being deleted on another thread where there is\nnothing on the queue for the creation to go and wait behind.  As soon as an\nitem appears on the queue that could be given thread time instead, CacheFiles\ncan stick the creating object back on the queue and return to the slow-work\nfacility - assuming the object deletion didn\u0027t also complete.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "8fba10a42d191de612e60e7009c8f0313f90a9b3",
      "tree": "1e772fcc7ad3eb5bb3ca1c6cd156171295e6db25",
      "parents": [
        "6b8268b17a1ffc942bc72d7d00274e433d6b6719"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:51 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:51 2009 +0000"
      },
      "message": "SLOW_WORK: Allow the work items to be viewed through a /proc file\n\nAllow the executing and queued work items to be viewed through a /proc file\nfor debugging purposes.  The contents look something like the following:\n\n    THR PID   ITEM ADDR        FL MARK  DESC\n    \u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d \u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n      0  3005 ffff880023f52348  a 952ms FSC: OBJ17d3: LOOK\n      1  3006 ffff880024e33668  2 160ms FSC: OBJ17e5 OP60d3b: Write1/Store fl\u003d2\n      2  3165 ffff8800296dd180  a 424ms FSC: OBJ17e4: LOOK\n      3  4089 ffff8800262c8d78  a 212ms FSC: OBJ17ea: CRTN\n      4  4090 ffff88002792bed8  2 388ms FSC: OBJ17e8 OP60d36: Write1/Store fl\u003d2\n      5  4092 ffff88002a0ef308  2 388ms FSC: OBJ17e7 OP60d2e: Write1/Store fl\u003d2\n      6  4094 ffff88002abaf4b8  2 132ms FSC: OBJ17e2 OP60d4e: Write1/Store fl\u003d2\n      7  4095 ffff88002bb188e0  a 388ms FSC: OBJ17e9: CRTN\n    vsq     - ffff880023d99668  1 308ms FSC: OBJ17e0 OP60f91: Write1/EnQ fl\u003d2\n    vsq     - ffff8800295d1740  1 212ms FSC: OBJ16be OP4d4b6: Write1/EnQ fl\u003d2\n    vsq     - ffff880025ba3308  1 160ms FSC: OBJ179a OP58dec: Write1/EnQ fl\u003d2\n    vsq     - ffff880024ec83e0  1 160ms FSC: OBJ17ae OP599f2: Write1/EnQ fl\u003d2\n    vsq     - ffff880026618e00  1 160ms FSC: OBJ17e6 OP60d33: Write1/EnQ fl\u003d2\n    vsq     - ffff880025a2a4b8  1 132ms FSC: OBJ16a2 OP4d583: Write1/EnQ fl\u003d2\n    vsq     - ffff880023cbe6d8  9 212ms FSC: OBJ17eb: LOOK\n    vsq     - ffff880024d37590  9 212ms FSC: OBJ17ec: LOOK\n    vsq     - ffff880027746cb0  9 212ms FSC: OBJ17ed: LOOK\n    vsq     - ffff880024d37ae8  9 212ms FSC: OBJ17ee: LOOK\n    vsq     - ffff880024d37cb0  9 212ms FSC: OBJ17ef: LOOK\n    vsq     - ffff880025036550  9 212ms FSC: OBJ17f0: LOOK\n    vsq     - ffff8800250368e0  9 212ms FSC: OBJ17f1: LOOK\n    vsq     - ffff880025036aa8  9 212ms FSC: OBJ17f2: LOOK\n\nIn the \u0027THR\u0027 column, executing items show the thread they\u0027re occupying and\nqueued threads indicate which queue they\u0027re on.  \u0027PID\u0027 shows the process ID of\na slow-work thread that\u0027s executing something.  \u0027FL\u0027 shows the work item flags.\n\u0027MARK\u0027 indicates how long since an item was queued or began executing.  Lastly,\nthe \u0027DESC\u0027 column permits the owner of an item to give some information.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "6b8268b17a1ffc942bc72d7d00274e433d6b6719",
      "tree": "bd293facd4b805fc05588fcaf024e964a0bb1cca",
      "parents": [
        "0160950297c08f8233c89b9f9e7dd59cfb080809"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 19 18:10:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:47 2009 +0000"
      },
      "message": "SLOW_WORK: Add delayed_slow_work support\n\nThis adds support for starting slow work with a delay, similar\nto the functionality we have for workqueues.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "0160950297c08f8233c89b9f9e7dd59cfb080809",
      "tree": "4910bfb7ab5b4000a1679fd165d217ff48226268",
      "parents": [
        "4d8bb2cbccf6dccaada509aafeb01c6205c9d8c4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 19 18:10:43 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:43 2009 +0000"
      },
      "message": "SLOW_WORK: Add support for cancellation of slow work\n\nAdd support for cancellation of queued slow work and delayed slow work items.\nThe cancellation functions will wait for items that are pending or undergoing\nexecution to be discarded by the slow work facility.\n\nAttempting to enqueue work that is in the process of being cancelled will\nresult in ECANCELED.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4d8bb2cbccf6dccaada509aafeb01c6205c9d8c4",
      "tree": "116689de1f46840915e7f6f196ad334a990a2d5b",
      "parents": [
        "3d7a641e544e428191667e8b1f83f96fa46dbd65"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 19 18:10:39 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:39 2009 +0000"
      },
      "message": "SLOW_WORK: Make slow_work_ops -\u003eget_ref/-\u003eput_ref optional\n\nMake the ability for the slow-work facility to take references on a work item\noptional as not everyone requires this.\n\nEven the internal slow-work stubs them out, so those can be got rid of too.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "3d7a641e544e428191667e8b1f83f96fa46dbd65",
      "tree": "172aa672eca96b94f5531885b82abb82b43c7d8a",
      "parents": [
        "66b00a7c93ec782d118d2c03bd599cfd041e80a1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:23 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:23 2009 +0000"
      },
      "message": "SLOW_WORK: Wait for outstanding work items belonging to a module to clear\n\nWait for outstanding slow work items belonging to a module to clear when\nunregistering that module as a user of the facility.  This prevents the put_ref\ncode of a work item from being taken away before it returns.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "9398180097e359646d46083c3e079a54e20bee82",
      "tree": "633933ddd86e3dba7c0970eea5768867849842c9",
      "parents": [
        "e13193319d3a5545c82ed4b724bffd16f87873e3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Nov 17 14:06:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 17:40:33 2009 -0800"
      },
      "message": "workqueue: fix race condition in schedule_on_each_cpu()\n\nCommit 65a64464349883891e21e74af16c05d6e1eeb4e9 (\"HWPOISON: Allow\nschedule_on_each_cpu() from keventd\") which allows schedule_on_each_cpu()\nto be called from keventd added a race condition.  schedule_on_each_cpu()\nmay race with cpu hotplug and end up executing the function twice on a\ncpu.\n\nFix it by moving direct execution into the section protected with\nget/put_online_cpus().  While at it, update code such that direct\nexecution is done after works have been scheduled for all other cpus and\ndrop unnecessary cpu !\u003d orig test from flush loop.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "961767b75d63c21aa60ee3ccf940288c3c1afde6",
      "tree": "2ba45f33bcd7998fd52a1f423e76265370953054",
      "parents": [
        "1fd18a871a0761633d02d0536ecb4a311d92a3d3",
        "d4515646699b6ad7b1a98ceb871296b957f3ef47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:30:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:30:15 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  highmem: Fix debug_kmap_atomic() to also handle KM_IRQ_PTE, KM_NMI, and KM_NMI_PTE\n  highmem: Fix race in debug_kmap_atomic() which could cause warn_count to underflow\n  rcu: Fix long-grace-period race between forcing and initialization\n  uids: Prevent tear down race\n"
    },
    {
      "commit": "1fd18a871a0761633d02d0536ecb4a311d92a3d3",
      "tree": "2f7deb11ace12181473289d45aed06943f80e760",
      "parents": [
        "26a9ba160f50115ece48198608002600914932a7",
        "e7e7e0c084ef862d5754701108d4a038514d6314"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:29:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:29:58 2009 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: try_one_irq() must be called with irq disabled\n"
    },
    {
      "commit": "e9036b36eed4d3cdb33fa9cbcdd9888ae516889f",
      "tree": "769497c425cfe602e7765884185cd769428cc67e",
      "parents": [
        "968c86458a5975efa7a95f832a4ec9fb21471137"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Mon Oct 26 22:24:14 2009 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 08 13:15:48 2009 +0100"
      },
      "message": "sched: Use root_task_group_empty only with FAIR_GROUP_SCHED\n\nroot_task_group_empty is used only with FAIR_GROUP_SCHED\nso if we use other scheduler options we get:\n\n  kernel/sched.c:314: warning: \u0027root_task_group_empty\u0027 defined but not used\n\nSo move CONFIG_FAIR_GROUP_SCHED up that it covers\nroot_task_group_empty().\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20091026192414.GB5321@lenovo\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "968c86458a5975efa7a95f832a4ec9fb21471137",
      "tree": "05be75c81e7492d402471c5a51394cce9a5459f2",
      "parents": [
        "7c9abfb884b8737f0afdc8a88bcea77526f0da87"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Nov 06 15:31:08 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 08 11:26:25 2009 +0100"
      },
      "message": "sched: Fix kernel-doc function parameter name\n\nFix variable name in sched.c kernel-doc notation.\n\nFixes this DocBook warning:\n\n Warning(kernel/sched.c:2008): No description found for parameter\n \u0027p\u0027 Warning(kernel/sched.c:2008): Excess function parameter \u0027k\u0027\n description in \u0027kthread_bind\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nLKML-Reference: \u003c4AF4B1BC.8020604@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e7e7e0c084ef862d5754701108d4a038514d6314",
      "tree": "8f098ade05740e21e93767b657d7b0e6c90b588e",
      "parents": [
        "7c9abfb884b8737f0afdc8a88bcea77526f0da87"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Sat Nov 07 11:16:13 2009 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Nov 07 21:44:45 2009 +0100"
      },
      "message": "genirq: try_one_irq() must be called with irq disabled\n\nPrarit reported:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: inconsistent lock state ]\n2.6.32-rc5 #1\n---------------------------------\ninconsistent {IN-HARDIRQ-W} -\u003e {HARDIRQ-ON-W} usage.\nswapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:\n (\u0026irq_desc_lock_class){?.-...}, at: [\u003cffffffff810c264e\u003e] try_one_irq+0x32/0x138\n{IN-HARDIRQ-W} state was registered at:\n [\u003cffffffff81095160\u003e] __lock_acquire+0x2fc/0xd5d\n [\u003cffffffff81095cb4\u003e] lock_acquire+0xf3/0x12d\n [\u003cffffffff814cdadd\u003e] _spin_lock+0x40/0x89\n [\u003cffffffff810c3389\u003e] handle_level_irq+0x30/0x105\n [\u003cffffffff81014e0e\u003e] handle_irq+0x95/0xb7\n [\u003cffffffff810141bd\u003e] do_IRQ+0x6a/0xe0\n [\u003cffffffff81012813\u003e] ret_from_intr+0x0/0x16\nirq event stamp: 195096\nhardirqs last  enabled at (195096): [\u003cffffffff814cd7f7\u003e] _spin_unlock_irq+0x3a/0x5c\nhardirqs last disabled at (195095): [\u003cffffffff814cdbdd\u003e] _spin_lock_irq+0x29/0x95\nsoftirqs last  enabled at (195088): [\u003cffffffff81068c92\u003e] __do_softirq+0x1c1/0x1ef\nsoftirqs last disabled at (195093): [\u003cffffffff8101304c\u003e] call_softirq+0x1c/0x30\n\nother info that might help us debug this:\n1 lock held by swapper/0:\n #0:  (kernel/irq/spurious.c:21){+.-...}, at: [\u003cffffffff81070cf2\u003e]\nrun_timer_softirq+0x1a9/0x315\n\nstack backtrace:\nPid: 0, comm: swapper Not tainted 2.6.32-rc5 #1\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffff81093e94\u003e] valid_state+0x187/0x1ae\n [\u003cffffffff81093fe4\u003e] mark_lock+0x129/0x253\n [\u003cffffffff810951d4\u003e] __lock_acquire+0x370/0xd5d\n [\u003cffffffff81095cb4\u003e] lock_acquire+0xf3/0x12d\n [\u003cffffffff814cdadd\u003e] _spin_lock+0x40/0x89\n [\u003cffffffff810c264e\u003e] try_one_irq+0x32/0x138\n [\u003cffffffff810c2795\u003e] poll_all_shared_irqs+0x41/0x6d\n [\u003cffffffff810c27dd\u003e] poll_spurious_irqs+0x1c/0x49\n [\u003cffffffff81070d82\u003e] run_timer_softirq+0x239/0x315\n [\u003cffffffff81068bd3\u003e] __do_softirq+0x102/0x1ef\n [\u003cffffffff8101304c\u003e] call_softirq+0x1c/0x30\n [\u003cffffffff81014b65\u003e] do_softirq+0x59/0xca\n [\u003cffffffff810686ad\u003e] irq_exit+0x58/0xae\n [\u003cffffffff81029b84\u003e] smp_apic_timer_interrupt+0x94/0xba\n [\u003cffffffff81012a33\u003e] apic_timer_interrupt+0x13/0x20\n\nThe reason is that try_one_irq() is called from hardirq context with\ninterrupts disabled and from softirq context (poll_all_shared_irqs())\nwith interrupts enabled.\n\nDisable interrupts before calling it from poll_all_shared_irqs().\n\nReported-and-tested-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nLKML-Reference: \u003c1257563773-4620-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "608221fdf9a2170962295dcfbea53dc5c50d1a74",
      "tree": "26712f2f8a8a332369df2b31174c8c5b46c42164",
      "parents": [
        "72cc129e8dae988d2a132467cfd0ecd7623c35fb",
        "b84ff7d6f1b7f8a43414e74d972ec4c8f3361db4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:56:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:56:47 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix kthread_bind() by moving the body of kthread_bind() to sched.c\n  sched: Disable SD_PREFER_LOCAL at node level\n  sched: Fix boot crash by zalloc()ing most of the cpu masks\n  sched: Strengthen buddies and mitigate buddy induced latencies\n"
    },
    {
      "commit": "72cc129e8dae988d2a132467cfd0ecd7623c35fb",
      "tree": "e0a3fdfa3e7cb45e75727fe77558e64ec1bc9b4f",
      "parents": [
        "411094acb70f171a111710cf32031c749ffdd28c",
        "ed146b25942b428f8e8056587b7638ce76573c2f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:56:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:56:25 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ftrace: Fix unmatched locking in ftrace_regex_write()\n  ring-buffer: Synchronize resizing buffer with reader lock\n"
    },
    {
      "commit": "ed146b25942b428f8e8056587b7638ce76573c2f",
      "tree": "36b3355b5d53057accb92000ee5b3986d5a05a8b",
      "parents": [
        "f7112949f6a4cd6883d66c882d568c2197321de6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 03 08:55:38 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 04 01:42:10 2009 -0500"
      },
      "message": "ftrace: Fix unmatched locking in ftrace_regex_write()\n\nWhen a command is passed to the set_ftrace_filter, then\nthe ftrace_regex_lock is still held going back to user space.\n\n # echo \u0027do_open : foo\u0027 \u003e set_ftrace_filter\n (still holding ftrace_regex_lock when returning to user space!)\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AEF7F8A.3080300@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f7112949f6a4cd6883d66c882d568c2197321de6",
      "tree": "2982044acfce5f1e422be2fd7467d2f1177c5159",
      "parents": [
        "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Nov 03 19:42:45 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 04 00:04:20 2009 -0500"
      },
      "message": "ring-buffer: Synchronize resizing buffer with reader lock\n\nWe got a sudden panic when we reduced the size of the\nringbuffer.\n\nWe can reproduce the panic by the following steps:\n\necho 1 \u003e events/sched/enable\ncat trace_pipe \u003e /dev/null \u0026\n\nwhile ((1))\ndo\necho 12000 \u003e buffer_size_kb\necho 512 \u003e buffer_size_kb\ndone\n\n(not more than 5 seconds, panic ...)\n\nReported-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AF01735.9060409@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "38dc63459f185795b24a39f3f4921a433ea9980b",
      "tree": "205a8abc9b20c4f5573e4d2fbc03e74388cef2bc",
      "parents": [
        "1d510750941a53a1d3049c1d33c75d6dfcd78618",
        "2ddac2a6a8f13e95664fe7ad1b728ac84fb1bd07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:52:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:52:57 2009 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: Remove some debug messages producing too much noise\n  PM: Fix warning on suspend errors\n  PM / Hibernate: Add newline to load_image() fail path\n  PM / Hibernate: Fix error handling in save_image()\n  PM / Hibernate: Fix blkdev refleaks\n  PM / yenta: Split resume into early and late parts (rev. 4)\n"
    },
    {
      "commit": "1d510750941a53a1d3049c1d33c75d6dfcd78618",
      "tree": "03f501224f839aa897cf540e29595aeda8551052",
      "parents": [
        "1c211849d893b14cc923a18708923954fdd2c63e"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Tue Nov 03 10:11:14 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:52:39 2009 -0800"
      },
      "message": "Correct nr_processes() when CPUs have been unplugged\n\nnr_processes() returns the sum of the per cpu counter process_counts for\nall online CPUs. This counter is incremented for the current CPU on\nfork() and decremented for the current CPU on exit(). Since a process\ndoes not necessarily fork and exit on the same CPU the process_count for\nan individual CPU can be either positive or negative and effectively has\nno meaning in isolation.\n\nTherefore calculating the sum of process_counts over only the online\nCPUs omits the processes which were started or stopped on any CPU which\nhas since been unplugged. Only the sum of process_counts across all\npossible CPUs has meaning.\n\nThe only caller of nr_processes() is proc_root_getattr() which\ncalculates the number of links to /proc as\n        stat-\u003enlink \u003d proc_root.nlink + nr_processes();\n\nYou don\u0027t have to be all that unlucky for the nr_processes() to return a\nnegative value leading to a negative number of links (or rather, an\napparently enormous number of links). If this happens then you can get\nfailures where things like \"ls /proc\" start to fail because they got an\n-EOVERFLOW from some stat() call.\n\nExample with some debugging inserted to show what goes on:\n        # ps haux|wc -l\n        nr_processes: CPU0:     90\n        nr_processes: CPU1:     1030\n        nr_processes: CPU2:     -900\n        nr_processes: CPU3:     -136\n        nr_processes: TOTAL:    84\n        proc_root_getattr. nlink 12 + nr_processes() 84 \u003d 96\n        84\n        # echo 0 \u003e/sys/devices/system/cpu/cpu1/online\n        # ps haux|wc -l\n        nr_processes: CPU0:     85\n        nr_processes: CPU2:     -901\n        nr_processes: CPU3:     -137\n        nr_processes: TOTAL:    -953\n        proc_root_getattr. nlink 12 + nr_processes() -953 \u003d -941\n        75\n        # stat /proc/\n        nr_processes: CPU0:     84\n        nr_processes: CPU2:     -901\n        nr_processes: CPU3:     -137\n        nr_processes: TOTAL:    -954\n        proc_root_getattr. nlink 12 + nr_processes() -954 \u003d -942\n          File: `/proc/\u0027\n          Size: 0               Blocks: 0          IO Block: 1024   directory\n        Device: 3h/3d   Inode: 1           Links: 4294966354\n        Access: (0555/dr-xr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)\n        Access: 2009-11-03 09:06:55.000000000 +0000\n        Modify: 2009-11-03 09:06:55.000000000 +0000\n        Change: 2009-11-03 09:06:55.000000000 +0000\n\nI\u0027m not 100% convinced that the per_cpu regions remain valid for offline\nCPUs, although my testing suggests that they do. If not then I think the\ncorrect solution would be to aggregate the process_count for a given CPU\ninto a global base value in cpu_down().\n\nThis bug appears to pre-date the transition to git and it looks like it\nmay even have been present in linux-2.6.0-test7-bk3 since it looks like\nthe code Rusty patched in http://lwn.net/Articles/64773/ was already\nwrong.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf9fd67a0328d56eff6022f80d4eb88ba6614119",
      "tree": "e2621ab848a7ad7cae2397e0356ece7e2eeea452",
      "parents": [
        "4ff277f9e42fa16314045bd124a61519286094c0"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Oct 28 22:55:42 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 11:03:09 2009 +0100"
      },
      "message": "PM / Hibernate: Add newline to load_image() fail path\n\nFinish a line by \\n when load_image fails in the middle of loading.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4ff277f9e42fa16314045bd124a61519286094c0",
      "tree": "59c00800cead3926938a68145dcddba4b9ad160f",
      "parents": [
        "76b57e613f6006ff525a17876c89326d127cadc9"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Oct 28 22:55:33 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 11:02:43 2009 +0100"
      },
      "message": "PM / Hibernate: Fix error handling in save_image()\n\nThere are too many retval variables in save_image(). Thus error return\nvalue from snapshot_read_next() may be ignored and only part of the\nsnapshot (successfully) written.\n\nRemove \u0027error\u0027 variable, invert the condition in the do-while loop\nand convert the loop to use only \u0027ret\u0027 variable.\n\nSwitch the rest of the function to consider only \u0027ret\u0027.\n\nAlso make sure we end printed line by \\n if an error occurs.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "76b57e613f6006ff525a17876c89326d127cadc9",
      "tree": "244d876f24581fb40d1900003c55b1c7ca5abb91",
      "parents": [
        "9905d1b411946fb3fb228e8c6529fd94afda8a92"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Oct 07 22:37:35 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 11:01:46 2009 +0100"
      },
      "message": "PM / Hibernate: Fix blkdev refleaks\n\nWhile cruising through the swsusp code I found few blkdev reference\nleaks of resume_bdev.\n\nswsusp_read: remove blkdev_put altogether. Some fail paths do\n             not do that.\nswsusp_check: make sure we always put a reference on fail paths\nsoftware_resume: all fail paths between swsusp_check and swsusp_read\n                 omit swsusp_close. Add it in those cases. And since\n                 swsusp_read doesn\u0027t drop the reference anymore, do\n                 it here unconditionally.\n\n[rjw: Fixed a small coding style issue.]\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b84ff7d6f1b7f8a43414e74d972ec4c8f3361db4",
      "tree": "7e8db08b8dd7d28780f3d08466928c907e5e0440",
      "parents": [
        "6b9de613ae9c79b637e070136585dde029578065"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Oct 29 11:48:30 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 03 07:25:00 2009 +0100"
      },
      "message": "sched: Fix kthread_bind() by moving the body of kthread_bind() to sched.c\n\nEric Paris reported that commit\nf685ceacab07d3f6c236f04803e2f2f0dbcc5afb causes boot time\nPREEMPT_DEBUG complaints.\n\n [    4.590699] BUG: using smp_processor_id() in preemptible [00000000] code: rmmod/1314\n [    4.593043] caller is task_hot+0x86/0xd0\n\nSince kthread_bind() messes with scheduler internals, move the\nbody to sched.c, and lock the runqueue.\n\nReported-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nTested-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1256813310.7574.3.camel@marge.simson.net\u003e\n[ v2: fix !SMP build and clean up ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3fe866ca6cc0495510a1d37c03a4abdc55174e83",
      "tree": "4b3d4ae603b01e2f9179d29402d5946ff50eb28f",
      "parents": [
        "bce8fc4cb796dc77ea71699ef88802879a177474",
        "11df6dddcbc38affb7473aad3d962baf8414a947"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:33 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Fix spurious wakeup for requeue_pi really\n"
    },
    {
      "commit": "bce8fc4cb796dc77ea71699ef88802879a177474",
      "tree": "683ff9f2def12d390af0ae2dc2326b4d9f85a1cd",
      "parents": [
        "a5e3013d6612d2ed4aefdcd7920ae01df3b63b3a",
        "ec29b8d2af01912bb79adda8aeab4293539f29ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:06 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Remove -Wcast-align\n  perf tools: Fix compatibility with libelf 0.8 and autodetect\n  perf events: Don\u0027t generate events for the idle task when exclude_idle is set\n  perf events: Fix swevent hrtimer sampling by keeping track of remaining time when enabling/disabling swevent hrtimers\n"
    },
    {
      "commit": "a5e3013d6612d2ed4aefdcd7920ae01df3b63b3a",
      "tree": "89dce7d51c11ea56150e4f5613a28369e238f90e",
      "parents": [
        "efcd9e0b91bcb92a1dd530d1a1f26eb83a5d21e2",
        "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:45:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:45:44 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove cpu arg from the rb_time_stamp() function\n  tracing: Fix comment typo and documentation example\n  tracing: Fix trace_seq_printf() return value\n  tracing: Update *ppos instead of filp-\u003ef_pos\n"
    },
    {
      "commit": "83f5b01ffbbaea6f97c9a79d21e240dbfb69f2f1",
      "tree": "e278471f3b9851028ef60e283ce8c73772531d82",
      "parents": [
        "b00bc0b237055b4c45816325ee14f0bd83e6f590"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Oct 28 08:14:49 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 16:06:21 2009 +0100"
      },
      "message": "rcu: Fix long-grace-period race between forcing and initialization\n\nVery long RCU read-side critical sections (50 milliseconds or\nso) can cause a race between force_quiescent_state() and\nrcu_start_gp() as follows on kernel builds with multi-level\nrcu_node hierarchies:\n\n1.\tCPU 0 calls force_quiescent_state(), sees that there is a\n\tgrace period in progress, and acquires -\u003efsqlock.\n\n2.\tCPU 1 detects the end of the grace period, and so\n\tcpu_quiet_msk_finish() sets rsp-\u003ecompleted to rsp-\u003egpnum.\n\tThis operation is carried out under the root rnp-\u003elock,\n\tbut CPU 0 has not yet acquired that lock.  Note that\n\trsp-\u003esignaled is still RCU_SAVE_DYNTICK from the last\n\tgrace period.\n\n3.\tCPU 1 calls rcu_start_gp(), but no one wants a new grace\n\tperiod, so it drops the root rnp-\u003elock and returns.\n\n4.\tCPU 0 acquires the root rnp-\u003elock and picks up rsp-\u003ecompleted\n\tand rsp-\u003esignaled, then drops rnp-\u003elock.  It then enters the\n\tRCU_SAVE_DYNTICK leg of the switch statement.\n\n5.\tCPU 2 invokes call_rcu(), and now needs a new grace period.\n\tIt calls rcu_start_gp(), which acquires the root rnp-\u003elock, sets\n\trsp-\u003esignaled to RCU_GP_INIT (too bad that CPU 0 is already in\n\tthe RCU_SAVE_DYNTICK leg of the switch statement!)  and starts\n\tinitializing the rcu_node hierarchy.  If there are multiple\n\tlevels to the hierarchy, it will drop the root rnp-\u003elock and\n\tinitialize the lower levels of the hierarchy.\n\n6.\tCPU 0 notes that rsp-\u003ecompleted has not changed, which permits\n        both CPU 2 and CPU 0 to try updating it concurrently.  If CPU 0\u0027s\n\tupdate prevails, later calls to force_quiescent_state() can\n\tcount old quiescent states against the new grace period, which\n\tcan in turn result in premature ending of grace periods.\n\n\tNot good.\n\nThis patch adds an RCU_GP_IDLE state for rsp-\u003esignaled that is\nset initially at boot time and any time a grace period ends.\nThis prevents CPU 0 from getting into the workings of\nforce_quiescent_state() in step 4.  Additional locking and\nchecks prevent the concurrent update of rsp-\u003esignaled in step 6.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1256742889199-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b00bc0b237055b4c45816325ee14f0bd83e6f590",
      "tree": "8c0e0c31fa3a60834b893c531355a925b7ce454a",
      "parents": [
        "11df6dddcbc38affb7473aad3d962baf8414a947"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 02 13:01:56 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 02 16:02:39 2009 +0100"
      },
      "message": "uids: Prevent tear down race\n\nIngo triggered the following warning:\n\nWARNING: at lib/debugobjects.c:255 debug_print_object+0x42/0x50()\nHardware name: System Product Name\nODEBUG: init active object type: timer_list\nModules linked in:\nPid: 2619, comm: dmesg Tainted: G        W  2.6.32-rc5-tip+ #5298\nCall Trace:\n [\u003c81035443\u003e] warn_slowpath_common+0x6a/0x81\n [\u003c8120e483\u003e] ? debug_print_object+0x42/0x50\n [\u003c81035498\u003e] warn_slowpath_fmt+0x29/0x2c\n [\u003c8120e483\u003e] debug_print_object+0x42/0x50\n [\u003c8120ec2a\u003e] __debug_object_init+0x279/0x2d7\n [\u003c8120ecb3\u003e] debug_object_init+0x13/0x18\n [\u003c810409d2\u003e] init_timer_key+0x17/0x6f\n [\u003c81041526\u003e] free_uid+0x50/0x6c\n [\u003c8104ed2d\u003e] put_cred_rcu+0x61/0x72\n [\u003c81067fac\u003e] rcu_do_batch+0x70/0x121\n\ndebugobjects warns about an enqueued timer being initialized. If\nCONFIG_USER_SCHED\u003dy the user management code uses delayed work to\nremove the user from the hash table and tear down the sysfs objects.\n\nfree_uid is called from RCU and initializes/schedules delayed work if\nthe usage count of the user_struct is 0. The init/schedule happens\noutside of the uidhash_lock protected region which allows a concurrent\ncaller of find_user() to reference the about to be destroyed\nuser_struct w/o preventing the work from being scheduled. If the next\nfree_uid call happens before the work timer expired then the active\ntimer is initialized and the work scheduled again.\n\nThe race was introduced in commit 5cb350ba (sched: group scheduling,\nsysfs tunables) and made more prominent by commit 3959214f (sched:\ndelayed cleanup of user_struct)\n\nMove the init/schedule_delayed_work inside of the uidhash_lock\nprotected region to prevent the race.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "49557e620339cb134127b5bfbcfecc06b77d0232",
      "tree": "a2a73c84a384243a63c1b8e8462c39381d5ef98e",
      "parents": [
        "f685ceacab07d3f6c236f04803e2f2f0dbcc5afb"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 02 20:37:20 2009 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 15:48:54 2009 +0100"
      },
      "message": "sched: Fix boot crash by zalloc()ing most of the cpu masks\n\nI got a boot crash when forcing cpumasks offstack on 32 bit,\nbecause find_new_ilb() returned 3 on my UP system (nohz.cpu_mask\nwasn\u0027t zeroed).\n\nAFAICT the others need to be zeroed too: only\nnohz.ilb_grp_nohz_mask is initialized before use.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c200911022037.21282.rusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8633322c5fd5b2a986b279f88a7559d8409f7da3",
      "tree": "2db612751e9fa5c3624f008c7e4d520e77944852",
      "parents": [
        "9532faeb293f5a5f0ff06f567de14e557698dbde",
        "4a6cc4bd32e580722882115d4c8b964d732c11e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:19:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:19:29 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  sched: move rq_weight data array out of .percpu\n  percpu: allow pcpu_alloc() to be called with IRQs off\n"
    },
    {
      "commit": "9532faeb293f5a5f0ff06f567de14e557698dbde",
      "tree": "46319ff2506340b56b34801e3a722bbaf28d55bf",
      "parents": [
        "add810a1c58ba9edb6076ababe5861f36c049217",
        "3c7d76e371ac1a3802ae1673f5c63554af59325c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:18:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:18:20 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-param-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-param-fixes:\n  param: fix setting arrays of bool\n  param: fix NULL comparison on oom\n  param: fix lots of bugs with writing charp params from sysfs, by leaking mem.\n"
    },
    {
      "commit": "3242f9804ba992c867360e2b57efc268b8e4e175",
      "tree": "96fbdbc1344aa67588ce26765f308c674b91a75f",
      "parents": [
        "23756692147c5dfd3328afd42e16e9d943ff756c",
        "7456b0405d8fc063c49628f969cdb23be060fc80"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:20:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:20:00 2009 -0700"
      },
      "message": "Merge branch \u0027hwpoison-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6:\n  HWPOISON: fix invalid page count in printk output\n  HWPOISON: Allow schedule_on_each_cpu() from keventd\n  HWPOISON: fix/proc/meminfo alignment\n  HWPOISON: fix oops on ksm pages\n  HWPOISON: Fix page count leak in hwpoison late kill in do_swap_page\n  HWPOISON: return early on non-LRU pages\n  HWPOISON: Add brief hwpoison description to Documentation\n  HWPOISON: Clean up PR_MCE_KILL interface\n"
    },
    {
      "commit": "fefcfd431b5181615e7da628e34c5227c895b85a",
      "tree": "0da42ba9d66c6e9a12b6352b5be41f2fa023c91b",
      "parents": [
        "37c2ca24119f7dd89cbbb43833df1e6c5fb3417b",
        "89061d3d58e1f0742139605dc6a7950aa1ecc019"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:12:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:12:20 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Move drop_futex_key_refs out of spinlock\u0027ed region\n  rcu: Fix TREE_PREEMPT_RCU CPU_HOTPLUG bad-luck hang\n  rcu: Stopgap fix for synchronize_rcu_expedited() for TREE_PREEMPT_RCU\n  rcu: Prevent RCU IPI storms in presence of high call_rcu() load\n  futex: Check for NULL keys in match_futex\n  futex: Handle spurious wake up\n"
    },
    {
      "commit": "37c2ca24119f7dd89cbbb43833df1e6c5fb3417b",
      "tree": "7002e816ca784acbdd49c69752e08c4da00fe961",
      "parents": [
        "6e958d73c25eecaf02a1998cda9ec8ce8da11042",
        "2e600d01c131ee189f55ca1879cd364b9e056df8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:12:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:12:00 2009 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf timechart: Improve the visual appearance of scheduler delays\n  perf timechart: Fix the wakeup-arrows that point to non-visible processes\n  perf top: Fix --delay_secs 0 division by zero\n  perf tools: Bump version to 0.0.2\n  perf_event: Adjust frequency and unthrottle for non-group-leader events\n"
    },
    {
      "commit": "6e958d73c25eecaf02a1998cda9ec8ce8da11042",
      "tree": "94b8d48d268297925aa02f8ab358274f878bae9e",
      "parents": [
        "7811a32407b971d9086c46403124f1453b95c430",
        "92f6a5e37a2e2d3342dafb2b39c2f8bc340bbf84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:10:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:10:38 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Do less agressive buddy clearing\n  sched: Disable SD_PREFER_LOCAL for MC/CPU domains\n"
    },
    {
      "commit": "8c85dd8730bfb696e691145335f884c7baef8277",
      "tree": "2dca1aac534a4322695c12b2870b7c25cf60ccbe",
      "parents": [
        "115a57c5b31ab560574fe1a09deaba2ae89e77b5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Oct 26 16:50:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:30 2009 -0700"
      },
      "message": "sysctl: fix false positives when PROC_SYSCTL\u003dn\n\nHaving -\u003eprocname but not -\u003eproc_handler is valid when PROC_SYSCTL\u003dn,\npeople use such combination to reduce ifdefs with non-standard handlers.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d14408\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nReported-by: Peter Teoh \u003chtmldeveloper@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "478988d3b28e98a31e0cfe24e011e28ba0f3cf0d",
      "tree": "0f14f3a2f242258d2d7a0ddb3025c308f666b7ee",
      "parents": [
        "58355c7876a0754377c37c8af948b4cd423410e2"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Oct 26 16:49:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:25 2009 -0700"
      },
      "message": "cgroup: fix strstrip() misuse\n\ncgroup_write_X64() and cgroup_write_string() ignore the return value of\nstrstrip().  it makes small inconsistent behavior.\n\nexample:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n # cd /mnt/cgroup/hoge\n # cat memory.swappiness\n 60\n # echo \"59 \" \u003e memory.swappiness\n # cat memory.swappiness\n 59\n # echo \" 58\" \u003e memory.swappiness\n bash: echo: write error: Invalid argument\n\nThis patch fixes it.\n\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d0df599f1f11f12d589318bacb59a50fb5c0310",
      "tree": "084ab3d1562502ad6a056aa3fd8dd748683c8c2f",
      "parents": [
        "370c28def65b3a5765192753a164403619b41d01"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon Oct 26 16:49:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:25 2009 -0700"
      },
      "message": "connector: fix regression introduced by sid connector\n\nSince commit 02b51df1b07b4e9ca823c89284e704cadb323cd1 (proc connector: add\nevent for process becoming session leader) we have the following warning:\n\nBadness at kernel/softirq.c:143\n[...]\nKrnl PSW : 0404c00180000000 00000000001481d4 (local_bh_enable+0xb0/0xe0)\n[...]\nCall Trace:\n([\u003c000000013fe04100\u003e] 0x13fe04100)\n [\u003c000000000048a946\u003e] sk_filter+0x9a/0xd0\n [\u003c000000000049d938\u003e] netlink_broadcast+0x2c0/0x53c\n [\u003c00000000003ba9ae\u003e] cn_netlink_send+0x272/0x2b0\n [\u003c00000000003baef0\u003e] proc_sid_connector+0xc4/0xd4\n [\u003c0000000000142604\u003e] __set_special_pids+0x58/0x90\n [\u003c0000000000159938\u003e] sys_setsid+0xb4/0xd8\n [\u003c00000000001187fe\u003e] sysc_noemu+0x10/0x16\n [\u003c00000041616cb266\u003e] 0x41616cb266\n\nThe warning is\n---\u003e    WARN_ON_ONCE(in_irq() || irqs_disabled());\n\nThe network code must not be called with disabled interrupts but\nsys_setsid holds the tasklist_lock with spinlock_irq while calling the\nconnector.\n\nAfter a discussion we agreed that we can move proc_sid_connector from\n__set_special_pids to sys_setsid.\n\nWe also agreed that it is sufficient to change the check from\ntask_session(curr) !\u003d pid into err \u003e 0, since if we don\u0027t change the\nsession, this means we were already the leader and return -EPERM.\n\nOne last thing:\nThere is also daemonize(), and some people might want to get a\nnotification in that case. Since daemonize() is only needed if a user\nspace does kernel_thread this does not look important (and there seems\nto be no consensus if this connector should be called in daemonize). If\nwe really want this, we can add proc_sid_connector to daemonize() in an\nadditional patch (Scott?)\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCc: Scott James Remnant \u003cscott@ubuntu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c7d76e371ac1a3802ae1673f5c63554af59325c",
      "tree": "6b8d84acb92196b0f9f044f98fd1908f8f655c87",
      "parents": [
        "d553ad864e3b3dde3f1038d491e207021b2d6293"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:19 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:20 2009 +1030"
      },
      "message": "param: fix setting arrays of bool\n\nWe create a dummy struct kernel_param on the stack for parsing each\narray element, but we didn\u0027t initialize the flags word.  This matters\nfor arrays of type \"bool\", where the flag indicates if it really is\nan array of bools or unsigned int (old-style).\n\nReported-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d553ad864e3b3dde3f1038d491e207021b2d6293",
      "tree": "2a6d4e482e72daf6056e1fb984407754e019f15a",
      "parents": [
        "65afac7d80ab3bc9f81e75eafb71eeb92a3ebdef"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:17 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:18 2009 +1030"
      },
      "message": "param: fix NULL comparison on oom\n\nkp-\u003earg is always true: it\u0027s the contents of that pointer we care about.\n\nReported-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "65afac7d80ab3bc9f81e75eafb71eeb92a3ebdef",
      "tree": "544c1e9192d8e47f1d1b1d54e36365f393ec7be0",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:16 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:17 2009 +1030"
      },
      "message": "param: fix lots of bugs with writing charp params from sysfs, by leaking mem.\n\ne180a6b7759a \"param: fix charp parameters set via sysfs\" fixed the case\nwhere charp parameters written via sysfs were freed, leaving drivers\naccessing random memory.\n\nUnfortunately, storing a flag in the kparam struct was a bad idea: it\u0027s\nrodata so setting it causes an oops on some archs.  But that\u0027s not all:\n\n1) module_param_array() on charp doesn\u0027t work reliably, since we use an\n   uninitialized temporary struct kernel_param.\n2) there\u0027s a fundamental race if a module uses this parameter and then\n   it\u0027s changed: they will still access the old, freed, memory.\n\nThe simplest fix (ie. for 2.6.32) is to never free the memory.  This\nprevents all these problems, at cost of a memory leak.  In practice, there\nare only 18 places where a charp is writable via sysfs, and all are\nroot-only writable.\n\nReported-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Sitsofe Wheeler \u003csitsofe@yahoo.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "11df6dddcbc38affb7473aad3d962baf8414a947",
      "tree": "fb05ef2583a55e69897988491522b92137ca5f26",
      "parents": [
        "89061d3d58e1f0742139605dc6a7950aa1ecc019"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 28 20:26:48 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 28 20:34:34 2009 +0100"
      },
      "message": "futex: Fix spurious wakeup for requeue_pi really\n\nThe requeue_pi path doesn\u0027t use unqueue_me() (and the racy lock_ptr \u003d\u003d\nNULL test) nor does it use the wake_list of futex_wake() which where\nthe reason for commit 41890f2 (futex: Handle spurious wake up)\n\nSee debugging discussing on LKML Message-ID: \u003c4AD4080C.20703@us.ibm.com\u003e\n\nThe changes in this fix to the wait_requeue_pi path were considered to\nbe a likely unecessary, but harmless safety net. But it turns out that\ndue to the fact that for unknown $@#!*( reasons EWOULDBLOCK is defined\nas EAGAIN we built an endless loop in the code path which returns\ncorrectly EWOULDBLOCK.\n\nSpurious wakeups in wait_requeue_pi code path are unlikely so we do\nthe easy solution and return EWOULDBLOCK^WEAGAIN to user space and let\nit deal with the spurious wakeup.\n\nCc: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: John Stultz \u003cjohnstul@linux.vnet.ibm.com\u003e\nCc: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nLKML-Reference: \u003c4AE23C74.1090502@us.ibm.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "4a6cc4bd32e580722882115d4c8b964d732c11e4",
      "tree": "dbfa457caf9a65231f2f55c1ad03cf4d6f16f67c",
      "parents": [
        "403a91b1659cb149dbddc5885f892734ae4542d8"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Oct 29 00:26:00 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 00:26:00 2009 +0900"
      },
      "message": "sched: move rq_weight data array out of .percpu\n\nCommit 34d76c41 introduced percpu array update_shares_data, size of which\nbeing proportional to NR_CPUS. Unfortunately this blows up ia64 for large\nNR_CPUS configuration, as ia64 allows only 64k for .percpu section.\n\nFix this by allocating this array dynamically and keep only pointer to it\npercpu.\n\nThe per-cpu handling doesn\u0027t impose significant performance penalty on\npotentially contented path in tg_shares_up().\n\n...\nffffffff8104337c:       65 48 8b 14 25 20 cd    mov    %gs:0xcd20,%rdx\nffffffff81043383:       00 00\nffffffff81043385:       48 c7 c0 00 e1 00 00    mov    $0xe100,%rax\nffffffff8104338c:       48 c7 45 a0 00 00 00    movq   $0x0,-0x60(%rbp)\nffffffff81043393:       00\nffffffff81043394:       48 c7 45 a8 00 00 00    movq   $0x0,-0x58(%rbp)\nffffffff8104339b:       00\nffffffff8104339c:       48 01 d0                add    %rdx,%rax\nffffffff8104339f:       49 8d 94 24 08 01 00    lea    0x108(%r12),%rdx\nffffffff810433a6:       00\nffffffff810433a7:       b9 ff ff ff ff          mov    $0xffffffff,%ecx\nffffffff810433ac:       48 89 45 b0             mov    %rax,-0x50(%rbp)\nffffffff810433b0:       bb 00 04 00 00          mov    $0x400,%ebx\nffffffff810433b5:       48 89 55 c0             mov    %rdx,-0x40(%rbp)\n...\n\nAfter:\n\n...\nffffffff8104337c:       65 8b 04 25 28 cd 00    mov    %gs:0xcd28,%eax\nffffffff81043383:       00\nffffffff81043384:       48 98                   cltq\nffffffff81043386:       49 8d bc 24 08 01 00    lea    0x108(%r12),%rdi\nffffffff8104338d:       00\nffffffff8104338e:       48 8b 15 d3 7f 76 00    mov    0x767fd3(%rip),%rdx        # ffffffff817ab368 \u003cupdate_shares_data\u003e\nffffffff81043395:       48 8b 34 c5 00 ee 6d    mov    -0x7e921200(,%rax,8),%rsi\nffffffff8104339c:       81\nffffffff8104339d:       48 c7 45 a0 00 00 00    movq   $0x0,-0x60(%rbp)\nffffffff810433a4:       00\nffffffff810433a5:       b9 ff ff ff ff          mov    $0xffffffff,%ecx\nffffffff810433aa:       48 89 7d c0             mov    %rdi,-0x40(%rbp)\nffffffff810433ae:       48 c7 45 a8 00 00 00    movq   $0x0,-0x58(%rbp)\nffffffff810433b5:       00\nffffffff810433b6:       bb 00 04 00 00          mov    $0x400,%ebx\nffffffff810433bb:       48 01 f2                add    %rsi,%rdx\nffffffff810433be:       48 89 55 b0             mov    %rdx,-0x50(%rbp)\n...\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647",
      "tree": "0c08371aefcf53b976d61e6a74667bcb21db3251",
      "parents": [
        "67b394f7f26d84edb7294cc6528ab7ca6daa2ad1"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Oct 23 19:36:19 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 24 11:07:51 2009 +0200"
      },
      "message": "tracing: Remove cpu arg from the rb_time_stamp() function\n\nThe cpu argument is not used inside the rb_time_stamp() function.\nPlus fix a typo.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091023233647.118547500@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67b394f7f26d84edb7294cc6528ab7ca6daa2ad1",
      "tree": "3daea2ece0ff6eefc261cfdf42eb7b4a90a96799",
      "parents": [
        "3e69533b51930a7169235db2caf703884e6e3bbb"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Oct 23 19:36:18 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 24 11:07:50 2009 +0200"
      },
      "message": "tracing: Fix comment typo and documentation example\n\nTrivial patch to fix a documentation example and to fix a\ncomment.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091023233646.871719877@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3e69533b51930a7169235db2caf703884e6e3bbb",
      "tree": "4cd0fe383dcb9eab2b0f944f227caffa3cdcd209",
      "parents": [
        "cf8517cf905b5cd31d5790250b9ac39f7cb8aa53"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Oct 23 19:36:17 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 24 11:07:50 2009 +0200"
      },
      "message": "tracing: Fix trace_seq_printf() return value\n\ntrace_seq_printf() return value is a little ambiguous. It\ncurrently returns the length of the space available in the\nbuffer. printf usually returns the amount written. This is not\nadequate here, because:\n\n  trace_seq_printf(s, \"\");\n\nis perfectly legal, and returning 0 would indicate that it\nfailed.\n\nWe can always see the amount written by looking at the before\nand after values of s-\u003elen. This is not quite the same use as\nprintf. We only care if the string was successfully written to\nthe buffer or not.\n\nMake trace_seq_printf() return 0 if the trace oversizes the\nbuffer\u0027s free space, 1 otherwise.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091023233646.631787612@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf8517cf905b5cd31d5790250b9ac39f7cb8aa53",
      "tree": "22796f676ce955ec204ece1485dac6e93d1aeb3e",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Oct 23 19:36:16 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 24 11:07:49 2009 +0200"
      },
      "message": "tracing: Update *ppos instead of filp-\u003ef_pos\n\nInstead of directly updating filp-\u003ef_pos we should update the *ppos\nargument. The filp-\u003ef_pos gets updated within the file_pos_write()\nfunction called from sys_write().\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091023233646.399670810@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f685ceacab07d3f6c236f04803e2f2f0dbcc5afb",
      "tree": "f5fbbb177ccb784ffa6d6224b7b8f0cb8a096bb9",
      "parents": [
        "92f6a5e37a2e2d3342dafb2b39c2f8bc340bbf84"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Oct 23 23:09:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 23:48:28 2009 +0200"
      },
      "message": "sched: Strengthen buddies and mitigate buddy induced latencies\n\nThis patch restores the effectiveness of LAST_BUDDY in preventing\npgsql+oltp from collapsing due to wakeup preemption. It also\nswitches LAST_BUDDY to exclusively do what it does best, namely\nmitigate the effects of aggressive wakeup preemption, which\nimproves vmark throughput markedly, and restores mysql+oltp\nscalability.\n\nSince buddies are about scalability, enable them beginning at the\npoint where we begin expanding sched_latency, namely\nsched_nr_latency. Previously, buddies were cleared aggressively,\nwhich seriously reduced their effectiveness. Not clearing\naggressively however, produces a small drop in mysql+oltp\nthroughput immediately after peak, indicating that LAST_BUDDY is\nactually doing some harm. This is right at the point where X on the\ndesktop in competition with another load wants low latency service.\nErgo, do not enable until we need to scale.\n\nTo mitigate latency induced by buddies, or by a task just missing\nwakeup preemption, check latency at tick time.\n\nLast hunk prevents buddies from stymieing BALANCE_NEWIDLE via\nCACHE_HOT_BUDDY.\n\nSupporting performance tests:\n\n tip   \u003d v2.6.32-rc5-1497-ga525b32\n tipx  \u003d NO_GENTLE_FAIR_SLEEPERS NEXT_BUDDY granularity knobs \u003d 31 knobs + 31 buddies\n tip+x \u003d NO_GENTLE_FAIR_SLEEPERS granularity knobs \u003d 31 knobs\n\n(Three run averages except where noted.)\n\n vmark:\n ------\n tip           108466 messages per second\n tip+          125307 messages per second\n tip+x         125335 messages per second\n tipx          117781 messages per second\n 2.6.31.3      122729 messages per second\n\n mysql+oltp:\n -----------\n clients          1        2        4        8       16       32       64        128    256\n ..........................................................................................\n tip        9949.89 18690.20 34801.24 34460.04 32682.88 30765.97 28305.27 25059.64 19548.08\n tip+      10013.90 18526.84 34900.38 34420.14 33069.83 32083.40 30578.30 28010.71 25605.47\n tipx       9698.71 18002.70 34477.56 33420.01 32634.30 31657.27 29932.67 26827.52 21487.18\n 2.6.31.3   8243.11 18784.20 34404.83 33148.38 31900.32 31161.90 29663.81 25995.94 18058.86\n\n pgsql+oltp:\n -----------\n clients          1        2        4        8       16       32       64      128      256\n ..........................................................................................\n tip       13686.37 26609.25 51934.28 51347.81 49479.51 45312.65 36691.91 26851.57 24145.35\n tip+ (1x) 13907.85 27135.87 52951.98 52514.04 51742.52 50705.43 49947.97 48374.19 46227.94\n tip+x     13906.78 27065.81 52951.19 52542.59 52176.11 51815.94 50838.90 49439.46 46891.00\n tipx      13742.46 26769.81 52351.99 51891.73 51320.79 50938.98 50248.65 48908.70 46553.84\n 2.6.31.3  13815.35 26906.46 52683.34 52061.31 51937.10 51376.80 50474.28 49394.47 47003.25\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54f4407608c59712a8f5ec1e10dfac40bef5a2e7",
      "tree": "78ab139c78b084d597c3a198b0b713b89ce23da5",
      "parents": [
        "721a669b7225edeeb0ca8e2bf71b83882326a71b"
      ],
      "author": {
        "name": "Soeren Sandmann",
        "email": "sandmann@daimi.au.dk",
        "time": "Thu Oct 22 18:34:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 09:35:02 2009 +0200"
      },
      "message": "perf events: Don\u0027t generate events for the idle task when exclude_idle is set\n\nGetting samples for the idle task is often not interesting, so\ndon\u0027t generate them when exclude_idle is set for the event in\nquestion.\n\nSigned-off-by: Søren Sandmann Pedersen \u003csandmann@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003cye8pr8fmlq7.fsf@camel16.daimi.au.dk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "721a669b7225edeeb0ca8e2bf71b83882326a71b",
      "tree": "51bc7438941db50224489091eed677ba67decf56",
      "parents": [
        "2e600d01c131ee189f55ca1879cd364b9e056df8"
      ],
      "author": {
        "name": "Soeren Sandmann",
        "email": "sandmann@daimi.au.dk",
        "time": "Tue Sep 15 14:33:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 09:35:02 2009 +0200"
      },
      "message": "perf events: Fix swevent hrtimer sampling by keeping track of remaining time when enabling/disabling swevent hrtimers\n\nMake the hrtimer based events work for sysprof.\n\nWhenever a swevent is scheduled out, the hrtimer is canceled.\nWhen it is scheduled back in, the timer is restarted. This\nhappens every scheduler tick, which means the timer never\nexpired because it was getting repeatedly restarted over and\nover with the same period.\n\nTo fix that, save the remaining time when disabling; when\nreenabling, use that saved time as the period instead of the\nuser-specified sampling period.\n\nAlso, move the starting and stopping of the hrtimers to helper\nfunctions instead of duplicating the code.\n\nSigned-off-by: Søren Sandmann Pedersen \u003csandmann@redhat.com\u003e\nLKML-Reference: \u003cye8vdi7mluz.fsf@camel16.daimi.au.dk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04bf7539c08d64184736cdc5e4ad617eda77eb0f",
      "tree": "b5fd1d3877e2a781a7953c408fdbde952acbdbc6",
      "parents": [
        "af2bd9d534ca9f1ffdeb0780fb8508e71ed55803"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Oct 20 06:45:02 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 22 08:23:45 2009 +0900"
      },
      "message": "PM: Make warning in suspend_test_finish() less likely to happen\n\nIncrease TEST_SUSPEND_SECONDS to 10 so the warning in\nsuspend_test_finish() doesn\u0027t annoy the users of slower systems so much.\n\nAlso, make the warning print the suspend-resume cycle time, so that we\nknow why the warning actually triggered.\n\nPatch prepared during the hacking session at the Kernel Summit in Tokyo.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65a64464349883891e21e74af16c05d6e1eeb4e9",
      "tree": "7b4744f01840c337506dbb24debe5e50ee76186e",
      "parents": [
        "5d5429af066b8896e903d829ac143711ed2c25f2"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed Oct 14 06:22:47 2009 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Mon Oct 19 07:29:22 2009 +0200"
      },
      "message": "HWPOISON: Allow schedule_on_each_cpu() from keventd\n\nRight now when calling schedule_on_each_cpu() from keventd there\nis a deadlock because it tries to schedule a work item on the current CPU\ntoo. This happens via lru_add_drain_all() in hwpoison.\n\nJust call the function for the current CPU in this case. This is actually\nfaster too.\n\nDebugging with Fengguang Wu \u0026 Max Asbock\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "89061d3d58e1f0742139605dc6a7950aa1ecc019",
      "tree": "4bf78b9d0834975b6e615ced614c74c67d57d52d",
      "parents": [
        "237c80c5c8fb7ec128cf2a756b550dc41ad7eac7"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Thu Oct 15 15:30:48 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 16 10:19:18 2009 +0200"
      },
      "message": "futex: Move drop_futex_key_refs out of spinlock\u0027ed region\n\nWhen requeuing tasks from one futex to another, the reference held\nby the requeued task to the original futex location needs to be\ndropped eventually.\n\nDropping the reference may ultimately lead to a call to\n\"iput_final\" and subsequently call into filesystem- specific code -\nwhich may be non-atomic.\n\nIt is therefore safer to defer this drop operation until after the\nfutex_hash_bucket spinlock has been dropped.\n\nOriginally-From: Helge Bahmann \u003chcb@chaoticmind.net\u003e\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nCc: John Stultz \u003cjohnstul@linux.vnet.ibm.com\u003e\nCc: Sven-Thorsten Dietrich \u003csdietrich@novell.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nLKML-Reference: \u003c4AD7A298.5040802@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bd0704111e625ebe75418531550cf471215c3267",
      "tree": "e9f59d817acea309ce9b2ddb4574dfeb4e153e5a",
      "parents": [
        "a3ccf63ee643ef243cbf8918da8b3f9238f10029",
        "97ad5a034dcc164269d0b8a5cb3e827b33455c11"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 14:59:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 15 14:59:24 2009 -0700"
      },
      "message": "Merge the right tty-fixes branch\n\n* branch \u0027tty-fixes\u0027\n  tty: use the new \u0027flush_delayed_work()\u0027 helper to do ldisc flush\n  workqueue: add \u0027flush_delayed_work()\u0027 to run and wait for delayed work\n  tty: Make flush_to_ldisc() locking more robust\n"
    },
    {
      "commit": "237c80c5c8fb7ec128cf2a756b550dc41ad7eac7",
      "tree": "5d6b3346f2c53cd3f7471001479a8dbd741533a3",
      "parents": [
        "019129d595caaa5bd0b41d128308da1be6a91869"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Oct 15 09:26:14 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 20:33:01 2009 +0200"
      },
      "message": "rcu: Fix TREE_PREEMPT_RCU CPU_HOTPLUG bad-luck hang\n\nIf the following sequence of events occurs, then\nTREE_PREEMPT_RCU will hang waiting for a grace period to\ncomplete, eventually OOMing the system:\n\no\tA TREE_PREEMPT_RCU build of the kernel is booted on a system\n\twith more than 64 physical CPUs present (32 on a 32-bit system).\n\tAlternatively, a TREE_PREEMPT_RCU build of the kernel is booted\n\twith RCU_FANOUT set to a sufficiently small value that the\n\tphysical CPUs populate two or more leaf rcu_node structures.\n\no\tA task is preempted in an RCU read-side critical section\n\twhile running on a CPU corresponding to a given leaf rcu_node\n\tstructure.\n\no\tAll CPUs corresponding to this same leaf rcu_node structure\n\trecord quiescent states for the current grace period.\n\no\tAll of these same CPUs go offline (hence the need for enough\n\tphysical CPUs to populate more than one leaf rcu_node structure).\n\tThis causes the preempted task to be moved to the root rcu_node\n\tstructure.\n\nAt this point, there is nothing left to cause the quiescent\nstate to be propagated up the rcu_node tree, so the current\ngrace period never completes.\n\nThe simplest fix, especially after considering the deadlock\npossibilities, is to detect this situation when the last CPU is\nofflined, and to set that CPU\u0027s -\u003eqsmask bit in its leaf\nrcu_node structure.  This will cause the next invocation of\nforce_quiescent_state() to end the grace period.\n\nWithout this fix, this hang can be triggered in an hour or so on\nsome machines with rcutorture and random CPU onlining/offlining.\nWith this fix, these same machines pass a full 10 hours of this\nsort of abuse.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c20091015162614.GA19131@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "019129d595caaa5bd0b41d128308da1be6a91869",
      "tree": "2db09ada99b0b8ca0a6423626fa85a9c1a7fc141",
      "parents": [
        "37c72e56f6b234ea7387ba530434a80abf2658d8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Oct 14 10:15:56 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 11:17:17 2009 +0200"
      },
      "message": "rcu: Stopgap fix for synchronize_rcu_expedited() for TREE_PREEMPT_RCU\n\nFor the short term, map synchronize_rcu_expedited() to\nsynchronize_rcu() for TREE_PREEMPT_RCU and to\nsynchronize_sched_expedited() for TREE_RCU.\n\nLonger term, there needs to be a real expedited grace period for\nTREE_PREEMPT_RCU, but candidate patches to date are considerably\nmore complex and intrusive.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: npiggin@suse.de\nCc: jens.axboe@oracle.com\nLKML-Reference: \u003c12555405592331-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "37c72e56f6b234ea7387ba530434a80abf2658d8",
      "tree": "1c589c3ecdebbe19488359795cde4c55726a63aa",
      "parents": [
        "2bc872036e1c5948b5b02942810bbdd8dbdb9812"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Oct 14 10:15:55 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 11:17:16 2009 +0200"
      },
      "message": "rcu: Prevent RCU IPI storms in presence of high call_rcu() load\n\nAs the number of callbacks on a given CPU rises, invoke\nforce_quiescent_state() only every blimit number of callbacks\n(defaults to 10,000), and even then only if no other CPU has\ninvoked force_quiescent_state() in the meantime.\n\nThis should fix the performance regression reported by Nick.\n\nReported-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: jens.axboe@oracle.com\nLKML-Reference: \u003c12555405592133-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6047d79b90f6122fcbf2c3e783b507f7dd78fc6",
      "tree": "4091ff408dd6873609e3f3341b0b3972155b7201",
      "parents": [
        "601adfedba37326410760d8d60f5da99a0adfd2f",
        "514fc01d389cf5d364ee3b5fec4ac1487448803e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 15:34:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 15:34:55 2009 -0700"
      },
      "message": "Merge branch \u0027tty-fixes\u0027\n\n* branch \u0027tty-fixes\u0027:\n  tty: use the new \u0027flush_delayed_work()\u0027 helper to do ldisc flush\n  workqueue: add \u0027flush_delayed_work()\u0027 to run and wait for delayed work\n  Make flush_to_ldisc properly handle parallel calls\n"
    },
    {
      "commit": "ee67e6cbe1121da1ae4eceb7b2bcb535c5cbf65e",
      "tree": "8ceefe56b6f325a4b8dbf0ee2dcda0d9216a52a3",
      "parents": [
        "220a6258b1bac1f0b050a99aa8233330d6c8c416",
        "c7cedb125ba20cc531671dc667ad704baa667d97"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 15:25:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 15:25:35 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  oprofile: warn on freeing event buffer too early\n  oprofile: fix race condition in event_buffer free\n  lockdep: Use cpu_clock() for lockstat\n"
    },
    {
      "commit": "f061d83a2b29f08b41c494335b7d23a432cb5a2d",
      "tree": "4b3fe2797968491f1e18e5ef52a9d08b37a2c301",
      "parents": [
        "e345fe1ada6f91bf703ca080168745ef18b2f037",
        "e17b38bf9e70d74f3739a600db75240078ac1407"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 15:25:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 15:25:04 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix missing kernel-doc notation\n  Revert \"x86, timers: Check for pending timers after (device) interrupts\"\n  sched: Update the clock of runqueue select_task_rq() selected\n"
    },
    {
      "commit": "e345fe1ada6f91bf703ca080168745ef18b2f037",
      "tree": "1e3598cd0ddc32afa79fe2f368ede4617fae24da",
      "parents": [
        "ea876441052c2cebc27d9bd2a6f6b9bce6add408",
        "8ad807318fcd62aba0e18c7c7fbfcc1af3fcdbab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 15:24:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 15:24:51 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing/filters: Fix memory leak when setting a filter\n  tracing: fix trace_vprintk call\n"
    },
    {
      "commit": "8c53e46314562fe814b0afef6cfcbd2f562b017c",
      "tree": "e9b68a33c470a91967c5930438e93beeb3126c50",
      "parents": [
        "c8e33141911bf8fe87dc6c92793b9a59b2be0130"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 09:16:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 15:11:35 2009 -0700"
      },
      "message": "workqueue: add \u0027flush_delayed_work()\u0027 to run and wait for delayed work\n\nIt basically turns a delayed work into an immediate work, and then waits\nfor it to finish, thus allowing you to force (and wait for) an immediate\nflush of a delayed work.\n\nWe\u0027ll want to use this in the tty layer to clean up tty_flush_to_ldisc().\n\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n[ Fixed to use \u0027del_timer_sync()\u0027 as noted by Oleg ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bc872036e1c5948b5b02942810bbdd8dbdb9812",
      "tree": "c91cc2791366214c5f924ff5aa77c24a7403fe40",
      "parents": [
        "d58e6576b0deec6f0b9ff8450fe282da18c50883"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Wed Oct 14 10:12:39 2009 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 14 22:00:14 2009 +0200"
      },
      "message": "futex: Check for NULL keys in match_futex\n\nIf userspace tries to perform a requeue_pi on a non-requeue_pi waiter,\nit will find the futex_q-\u003erequeue_pi_key to be NULL and OOPS.\n\nCheck for NULL in match_futex() instead of doing explicit NULL pointer\nchecks on all call sites.  While match_futex(NULL, NULL) returning\nfalse is a little odd, it\u0027s still correct as we expect valid key\nreferences.\n\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nCC: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c4AD60687.10306@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "43046b606673c9c991919ff75b980b72541e9ede",
      "tree": "86e89561891ed7833bd8229c2d06734aede63fec",
      "parents": [
        "45242006e19c6f99945554e4d7d5680caf6ed9ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 09:16:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 14 09:16:42 2009 -0700"
      },
      "message": "workqueue: add \u0027flush_delayed_work()\u0027 to run and wait for delayed work\n\nIt basically turns a delayed work into an immediate work, and then waits\nfor it to finish.\n"
    },
    {
      "commit": "92f6a5e37a2e2d3342dafb2b39c2f8bc340bbf84",
      "tree": "1e71e909fbf74b09863815549dbbe67d1661ab2b",
      "parents": [
        "799e2205ec65e174f752b558c62a92c4752df313"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 09 12:43:07 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 14 15:02:34 2009 +0200"
      },
      "message": "sched: Do less agressive buddy clearing\n\nYanmin reported a hackbench regression due to:\n\n \u003e commit de69a80be32445b0a71e8e3b757e584d7beb90f7\n \u003e Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n \u003e Date:   Thu Sep 17 09:01:20 2009 +0200\n \u003e\n \u003e     sched: Stop buddies from hogging the system\n\nI really liked de69a80b, and it affecting hackbench shows I wasn\u0027t\ncrazy ;-)\n\nSo hackbench is a multi-cast, with one sender spraying multiple\nreceivers, who in their turn don\u0027t spray back.\n\nThis would be exactly the scenario that patch \u0027cures\u0027. Previously\nwe would not clear the last buddy after running the next task,\nallowing the sender to get back to work sooner than it otherwise\nought to have been, increasing latencies for other tasks.\n\nNow, since those receivers don\u0027t poke back, they don\u0027t enforce the\nbuddy relation, which means there\u0027s nothing to re-elect the sender.\n\nCure this by less agressively clearing the buddy stats. Only clear\nbuddies when they were not chosen. It should still avoid a buddy\nsticking around long after its served its time.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c1255084986.8802.46.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "03541f8b69c058162e4cf9675ec9181e6a204d55",
      "tree": "67cd314f717b1b455861d1cfb9761162a44096b3",
      "parents": [
        "a003236c32706f3c1f74d4e3b98c58cf0d9a9d8f"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Oct 14 16:58:03 2009 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 14 08:39:32 2009 +0200"
      },
      "message": "perf_event: Adjust frequency and unthrottle for non-group-leader events\n\nThe loop in perf_ctx_adjust_freq checks the frequency of sampling\nevent counters, and adjusts the event interval and unthrottles the\nevent if required, and resets the interrupt count for the event.\nHowever, at present it only looks at group leaders.\n\nThis means that a sampling event that is not a group leader will\neventually get throttled, once its interrupt count reaches\nsysctl_perf_event_sample_rate/HZ --- and that is guaranteed to\nhappen, if the event is active for long enough, since the interrupt\ncount never gets reset.  Once it is throttled it never gets\nunthrottled, so it basically just stops working at that point.\n\nThis fixes it by making perf_ctx_adjust_freq use ctx-\u003eevent_list\nrather than ctx-\u003egroup_list.  The existing spin_lock/spin_unlock\naround the loop makes it unnecessary to put rcu_read_lock/\nrcu_read_unlock around the list_for_each_entry_rcu().\n\nReported-by: Mark W. Krentel \u003ckrentel@cs.rice.edu\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c19157.26731.855609.165622@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d58e6576b0deec6f0b9ff8450fe282da18c50883",
      "tree": "d4838a745f90e60057194169cea796584946202e",
      "parents": [
        "c7cedb125ba20cc531671dc667ad704baa667d97"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 13 20:40:43 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 13 20:40:43 2009 +0200"
      },
      "message": "futex: Handle spurious wake up\n\nThe futex code does not handle spurious wake up in futex_wait and\nfutex_wait_requeue_pi.\n\nThe code assumes that any wake up which was not caused by futex_wake /\nrequeue or by a timeout was caused by a signal wake up and returns one\nof the syscall restart error codes.\n\nIn case of a spurious wake up the signal delivery code which deals\nwith the restart error codes is not invoked and we return that error\ncode to user space. That causes applications which actually check the\nreturn codes to fail. Blaise reported that on preempt-rt a python test\nprogram run into a exception trap. -rt exposed that due to a built in\nspurious wake up accelerator :)\n\nSolve this by checking signal_pending(current) in the wake up path and\nhandle the spurious wake up case w/o returning to user space.\n\nReported-by: Blaise Gassend \u003cblaise@willowgarage.com\u003e\nDebugged-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003cnew-submission\u003e\n"
    },
    {
      "commit": "80f506918fdaaca6b574ba931536a58ce015c7be",
      "tree": "938bddf32e8c5dca114cb1a5f3ca2a62960accc8",
      "parents": [
        "a3bafbbbb5ac49355aa35e6a722eac6ef1dff19a",
        "2ec24ff1d1875defa742c76c9c7d74dca06b7e1f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 13 10:21:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cciss: Add cciss_allow_hpsa module parameter\n  cciss: Fix multiple calls to pci_release_regions\n  blk-settings: fix function parameter kernel-doc notation\n  writeback: kill space in debugfs item name\n  writeback: account IO throttling wait as iowait\n  elv_iosched_store(): fix strstrip() misuse\n  cfq-iosched: avoid probable slice overrun when idling\n  cfq-iosched: apply bool value where we return 0/1\n  cfq-iosched: fix think time allowed for seekers\n  cfq-iosched: fix the slice residual sign\n  cfq-iosched: abstract out the \u0027may this cfqq dispatch\u0027 logic\n  block: use proper BLK_RW_ASYNC in blk_queue_start_tag()\n  block: Seperate read and write statistics of in_flight requests v2\n  block: get rid of kblock_schedule_delayed_work()\n  cfq-iosched: fix possible problem with jiffies wraparound\n  cfq-iosched: fix issue with rq-rq merging and fifo list ordering\n"
    },
    {
      "commit": "8ad807318fcd62aba0e18c7c7fbfcc1af3fcdbab",
      "tree": "2e2d934ae03cc7e567b35bbca0de58e105a3b6b6",
      "parents": [
        "a813a159766ee9d36aa1fc717c60d63325a6d077"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Oct 13 09:28:57 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 13 08:05:17 2009 +0200"
      },
      "message": "tracing/filters: Fix memory leak when setting a filter\n\nEvery time we set a filter, we leak memory allocated by\npostfix_append_operand() and postfix_append_op().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e # for v2.6.31.x\nLKML-Reference: \u003c4AD3D7D9.4070400@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e17b38bf9e70d74f3739a600db75240078ac1407",
      "tree": "356f252a6e2ff7d3b61d9c94b2a2d452ab6551d3",
      "parents": [
        "e7ab0f7b50bc4688fb5cf65de5d42e3b882fb8d1"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Oct 11 19:12:00 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 12 10:50:06 2009 +0200"
      },
      "message": "sched: Fix missing kernel-doc notation\n\nThe following htmldocs warnings:\n\n  Warning(kernel/sched.c:685): No description found for parameter \u0027cpu\u0027\n  Warning(kernel/sched.c:3676): No description found for parameter \u0027sd\u0027\n\nTrigger because new parameters were added to update_rq_clock() and\nupdate_group_power() without updating the kernel-doc notation.\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4AD29070.7070002@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d43c36dc6b357fa1806800f18aa30123c747a6d1",
      "tree": "339ce510073ecbe9b3592008f7dece7b277035ef",
      "parents": [
        "69585dd69e663a40729492c7b52eb82477a2027a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 07 17:09:06 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:20:58 2009 -0700"
      },
      "message": "headers: remove sched.h from interrupt.h\n\nAfter m68k\u0027s task_thread_info() doesn\u0027t refer to current,\nit\u0027s possible to remove sched.h from interrupt.h and not break m68k!\nMany thanks to Heiko Carstens for allowing this.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "f5dc37530ba8a35aae0f7f4f13781d1904f71e94",
      "tree": "866894f6bf41876a7c6096912c82e73d140d3071",
      "parents": [
        "36a07902c2134649c4af7f07980413ffb1a56085"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Oct 09 08:35:03 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 09 15:58:11 2009 +0200"
      },
      "message": "sched: Update the clock of runqueue select_task_rq() selected\n\nIn try_to_wake_up(), we update the runqueue clock, but\nselect_task_rq() may select a different runqueue than the one we\nupdated, leaving the new runqueue\u0027s clock stale for a bit.\n\nThis patch cures occasional huge latencies reported by latencytop\nwhen coming out of idle on a mostly idle NO_HZ box.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1255070103.7639.30.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3365e7798760dc6c190a9bbb0945a38f02625438",
      "tree": "c3c1b49dcf4c2fcbddf1af27c281c9a7a55219ad",
      "parents": [
        "36a07902c2134649c4af7f07980413ffb1a56085"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 09 10:12:41 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 09 15:56:44 2009 +0200"
      },
      "message": "lockdep: Use cpu_clock() for lockstat\n\nSome tracepoint magic (TRACE_EVENT(lock_acquired)) relies on\nthe fact that lock hold times are positive and uses div64 on\nthat. That triggered a build warning on MIPS, and probably\ncauses bad output in certain circumstances as well.\n\nMake it truly positive.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1254818502.21044.112.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d25105e8911bff1dbd68e387f12901c5b1a15fe8",
      "tree": "bcb94e898b9f3b0322db74473e4dd319a16308e2",
      "parents": [
        "8c279598585e4992a41016bb973993ed15888cb3"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Oct 09 12:40:42 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 09 12:40:42 2009 +0200"
      },
      "message": "writeback: account IO throttling wait as iowait\n\nIt makes sense to do IOWAIT when someone is blocked\ndue to IO throttle, as suggested by Kame and Peter.\n\nThere is an old comment for not doing IOWAIT on throttle,\nhowever it has been mismatching the code for a long time.\n\nIf we stop accounting IOWAIT for 2.6.32, it could be an\nundesirable behavior change. So restore the io_schedule.\n\nCC: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCC: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a813a159766ee9d36aa1fc717c60d63325a6d077",
      "tree": "a895e702adea43c61f2890424c800d1f99a24f5c",
      "parents": [
        "8f6e8a314ab37cadd72da5ace9027f2d04aba854"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Oct 09 01:41:35 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 09 01:41:35 2009 -0400"
      },
      "message": "tracing: fix trace_vprintk call\n\nThe addition of trace_array_{v}printk used the wrong function for\ntrace_vprintk to call. This broke trace_marker and trace_vprintk\nitself. Although trace_printk may not have been affected by those\nthat end up calling trace_vbprintk.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f579bbcd9bb8b688df03191b92c56ab8af4d6322",
      "tree": "d450f986022aab73f86f794a03c7f21ad0ece8ec",
      "parents": [
        "e80fb7e52fd305b916a671755ca31ecf8f92e94e",
        "da085681014fb43d67d9bf6d14bc068e9254bd49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:16:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:16:35 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: fix requeue_pi key imbalance\n  futex: Fix typo in FUTEX_WAIT/WAKE_BITSET_PRIVATE definitions\n  rcu: Place root rcu_node structure in separate lockdep class\n  rcu: Make hot-unplugged CPU relinquish its own RCU callbacks\n  rcu: Move rcu_barrier() to rcutree\n  futex: Move exit_pi_state() call to release_mm()\n  futex: Nullify robust lists after cleanup\n  futex: Fix locking imbalance\n  panic: Fix panic message visibility by calling bust_spinlocks(0) before dying\n  rcu: Replace the rcu_barrier enum with pointer to call_rcu*() function\n  rcu: Clean up code based on review feedback from Josh Triplett, part 4\n  rcu: Clean up code based on review feedback from Josh Triplett, part 3\n  rcu: Fix rcu_lock_map build failure on CONFIG_PROVE_LOCKING\u003dy\n  rcu: Clean up code to address Ingo\u0027s checkpatch feedback\n  rcu: Clean up code based on review feedback from Josh Triplett, part 2\n  rcu: Clean up code based on review feedback from Josh Triplett\n"
    },
    {
      "commit": "e80fb7e52fd305b916a671755ca31ecf8f92e94e",
      "tree": "476b8d77b6c59a3da6c6e7c30958b9912a904944",
      "parents": [
        "624235c5b3a62639136b7823c2c88e4aeb5c5a8d",
        "f83f9ac2632732bd1678150b5a03d152f912fe72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:07:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:07:24 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Set correct normal_prio and prio values in sched_fork()\n"
    },
    {
      "commit": "f17f36bb1c006818441b84cf65a6decf3e59942b",
      "tree": "865b308feea81c3c399669e9ec191a4cdad3265b",
      "parents": [
        "b924f9599dfd4a604761e84b1e920e480fb57f66",
        "8f6e8a314ab37cadd72da5ace9027f2d04aba854"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:06:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:06:09 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: user local buffer variable for trace branch tracer\n  tracing: fix warning on kernel/trace/trace_branch.c andtrace_hw_branches.c\n  ftrace: check for failure for all conversions\n  tracing: correct module boundaries for ftrace_release\n  tracing: fix transposed numbers of lock_depth and preempt_count\n  trace: Fix missing assignment in trace_ctxwake_*\n  tracing: Use free_percpu instead of kfree\n  tracing: Check total refcount before releasing bufs in profile_enable failure\n"
    },
    {
      "commit": "b924f9599dfd4a604761e84b1e920e480fb57f66",
      "tree": "a1456ef8aea8beb8415d8258a978e072467d8ff6",
      "parents": [
        "b9d40b7b1e349bdc5c174b4ef1a333e62f7d749c",
        "2dca6999eed58d44b67e9de7d6ec230f6250553d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:05:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:05:50 2009 -0700"
      },
      "message": "Merge branch \u0027sparc-perf-events-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sparc-perf-events-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  mm, perf_event: Make vmalloc_user() align base kernel virtual address to SHMLBA\n  perf_event: Provide vmalloc() based mmap() backing\n"
    },
    {
      "commit": "b9d40b7b1e349bdc5c174b4ef1a333e62f7d749c",
      "tree": "f5c2d85ffb1f1dd21ae8254723ea9c595cf200d5",
      "parents": [
        "7c1632ba76d94b4847fde79f67faa91ef8571fe9",
        "e13dbd7d75d1ecc315c6e3071b3c4e8fba4f6bec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:05:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 08 12:05:00 2009 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_events: Make ABI definitions available to userspace\n  perf tools: elf_sym__is_function() should accept \"zero\" sized functions\n  tracing/syscalls: Use long for syscall ret format and field definitions\n  perf trace: Update eval_flag() flags array to match interrupt.h\n  perf trace: Remove unused code in builtin-trace.c\n  perf: Propagate term signal to child\n"
    },
    {
      "commit": "8f6e8a314ab37cadd72da5ace9027f2d04aba854",
      "tree": "2ce9adc1a11cd6d31742d07a557b787d6f0ceb74",
      "parents": [
        "c8647b28726b09b087155417bb698e7b3789f8a0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Oct 07 21:53:41 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 07 21:53:41 2009 -0400"
      },
      "message": "tracing: user local buffer variable for trace branch tracer\n\nJust using the tr-\u003ebuffer for the API to trace_buffer_lock_reserve\nis not good enough. This is because the tr-\u003ebuffer may change, and we\ndo not want to commit with a different buffer that we reserved from.\n\nThis patch uses a local variable to hold the buffer that was used to\nreserve and commit with.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c8647b28726b09b087155417bb698e7b3789f8a0",
      "tree": "44300cbb5bfb317ce116227ec38ba33471425173",
      "parents": [
        "3279ba37db5d65c4ab0dcdee3b211ccb85bb563f"
      ],
      "author": {
        "name": "Zhenwen Xu",
        "email": "helight.xu@gmail.com",
        "time": "Thu Oct 08 09:21:46 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 07 21:52:03 2009 -0400"
      },
      "message": "tracing: fix warning on kernel/trace/trace_branch.c andtrace_hw_branches.c\n\nfix warnings that caused the API change of trace_buffer_lock_reserve()\nchange files: kernel/trace/trace_hw_branch.c\n              kernel/trace/trace_branch.c\n\nSigned-off-by: Zhenwen Xu \u003chelight.xu@gmail.com\u003e\nLKML-Reference: \u003c20091008012146.GA4170@helight\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3279ba37db5d65c4ab0dcdee3b211ccb85bb563f",
      "tree": "e0051b9110b15187c4aaaa980749ab829f2e8427",
      "parents": [
        "e7247a15ff3bbdab0a8b402dffa1171e5c05a8e0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Oct 07 16:57:56 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 07 17:22:24 2009 -0400"
      },
      "message": "ftrace: check for failure for all conversions\n\nDue to legacy code from back when the dynamic tracer used a daemon,\nonly core kernel code was checking for failures. This is no longer\nthe case. We must check for failures any time we perform text modifications.\n\nCc: stable@kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e7247a15ff3bbdab0a8b402dffa1171e5c05a8e0",
      "tree": "139c26b2abd8ea5dd55ee6a4d43622bb24a0ee6a",
      "parents": [
        "829b876dfc94ea8be3a47e200d06f1f217bb104f"
      ],
      "author": {
        "name": "jolsa@redhat.com",
        "email": "jolsa@redhat.com",
        "time": "Wed Oct 07 19:00:35 2009 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 07 15:52:09 2009 -0400"
      },
      "message": "tracing: correct module boundaries for ftrace_release\n\nWhen the module is about the unload we release its call records.\nThe ftrace_release function was given wrong values representing\nthe module core boundaries, thus not releasing its call records.\n\nPlus making ftrace_release function module specific.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c1254934835-363-3-git-send-email-jolsa@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "da085681014fb43d67d9bf6d14bc068e9254bd49",
      "tree": "a044706690151ad641ce8beee4d798248b962230",
      "parents": [
        "f8d1e548931cfa5ea9a082e020c2a47d27e5d793"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Wed Oct 07 11:46:54 2009 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 07 21:22:03 2009 +0200"
      },
      "message": "futex: fix requeue_pi key imbalance\n\nIf futex_wait_requeue_pi() wakes prior to requeue, we drop the\nreference to the source futex_key twice, once in\nhandle_early_requeue_pi_wakeup() and once on our way out.\n\nRemove the drop from the handle_early_requeue_pi_wakeup() and keep\nthe get/drops together in futex_wait_requeue_pi().\n\nReported-by: Helge Bahmann \u003chcb@chaoticmind.net\u003e\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nCc: Helge Bahmann \u003chcb@chaoticmind.net\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: stable-2.6.31 \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c4ACCE21E.5030805@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "829b876dfc94ea8be3a47e200d06f1f217bb104f",
      "tree": "615753acc06c1ba078da4033c4ce59a7091e0820",
      "parents": [
        "b0f56f1a63b7b968e6feeeefeace24bc8e0a4a65"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sun Sep 27 07:02:07 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 07 14:05:04 2009 -0400"
      },
      "message": "tracing: fix transposed numbers of lock_depth and preempt_count\n\nThe lock_depth and preempt_count numbers in the latency format is\ntransposed.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "fdc6f192e7e1ae80565af23cc33dc88e3dcdf184",
      "tree": "431a47d5fe9b737cc5dd5fe40e178d06f7d579ed",
      "parents": [
        "0eca52a92735f43462165efe00a7e394345fb38e"
      ],
      "author": {
        "name": "Eero Nurkkala",
        "email": "ext-eero.nurkkala@nokia.com",
        "time": "Wed Oct 07 11:54:26 2009 +0300"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 07 13:05:05 2009 +0200"
      },
      "message": "NOHZ: update idle state also when NOHZ is inactive\n\nCommit f2e21c9610991e95621a81407cdbab881226419b had unfortunate side\neffects with cpufreq governors on some systems.\n\nIf the system did not switch into NOHZ mode ts-\u003einidle is not set when\ntick_nohz_stop_sched_tick() is called from the idle routine. Therefor\nall subsequent calls from irq_exit() to tick_nohz_stop_sched_tick()\nfail to call tick_nohz_start_idle(). This results in bogus idle\naccounting information which is passed to cpufreq governors.\n\nSet the inidle flag unconditionally of the NOHZ active state to keep\nthe idle time accounting correct in any case.\n\n[ tglx: Added comment and tweaked the changelog ]\n\nReported-by: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Eero Nurkkala \u003cext-eero.nurkkala@nokia.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Steven Noonan \u003csteven@uplinklabs.net\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c1254907901.30157.93.camel@eenurkka-desktop\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "978c0b88146a7f9b364b71b5b83c5b12e7b413d7",
      "tree": "b68bedc40888192d329841a786f3b1214eab91ef",
      "parents": [
        "e74f4c4564455c91a3b4075bb1721993c2a95dda"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Oct 06 21:48:18 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 07 08:11:21 2009 +0200"
      },
      "message": "rcu: Place root rcu_node structure in separate lockdep class\n\nBefore this patch, all of the rcu_node structures were in the same lockdep\nclass, so that lockdep would complain when rcu_preempt_offline_tasks()\nacquired the root rcu_node structure\u0027s lock while holding one of the leaf\nrcu_nodes\u0027 locks.\n\nThis patch changes rcu_init_one() to use a separate\nspin_lock_init() for the root rcu_node structure\u0027s lock than is\nused for that of all of the rest of the rcu_node structures, which\nputs the root rcu_node structure\u0027s lock in its own lockdep class.\n\nSuggested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: akpm@linux-foundation.org\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12548908983277-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e74f4c4564455c91a3b4075bb1721993c2a95dda",
      "tree": "213f9df0974c6e1e729de207b2c6dd942a39ba8c",
      "parents": [
        "d0ec774cb2599c858be9d923bb873cf6697520d8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Oct 06 21:48:17 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 07 08:11:20 2009 +0200"
      },
      "message": "rcu: Make hot-unplugged CPU relinquish its own RCU callbacks\n\nThe current interaction between RCU and CPU hotplug requires that\nRCU block in CPU notifiers waiting for callbacks to drain.\n\nThis can be greatly simplified by having each CPU relinquish its\nown callbacks, and for both _rcu_barrier() and CPU_DEAD notifiers\nto adopt all callbacks that were previously relinquished.\n\nThis change also eliminates the possibility of certain types of\nhangs due to the previous practice of waiting for callbacks to be\ninvoked from within CPU notifiers.  If you don\u0027t every wait, you\ncannot hang.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: akpm@linux-foundation.org\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1254890898456-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d0ec774cb2599c858be9d923bb873cf6697520d8",
      "tree": "0897fd843622033a6db6ab43167e47c3236aa22d",
      "parents": [
        "322a2c100a8998158445599ea437fb556aa95b11"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Oct 06 21:48:16 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 07 08:11:20 2009 +0200"
      },
      "message": "rcu: Move rcu_barrier() to rcutree\n\nMove the existing rcu_barrier() implementation to rcutree.c,\nconsistent with the fact that the rcu_barrier() implementation is\ntied quite tightly to the RCU implementation.\n\nThis opens the way to simplify and fix rcutree.c\u0027s rcu_barrier()\nimplementation in a later patch.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: akpm@linux-foundation.org\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12548908982563-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "322a2c100a8998158445599ea437fb556aa95b11",
      "tree": "8039af7452e0fac73f3083cb7e9c1e00d3007811",
      "parents": [
        "fc6b177dee33365ccb29fe6d2092223cf8d679f9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 05 18:18:03 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 06 17:00:01 2009 +0200"
      },
      "message": "futex: Move exit_pi_state() call to release_mm()\n\nexit_pi_state() is called from do_exit() but not from do_execve().\nMove it to release_mm() so it gets called from do_execve() as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nCc: stable@kernel.org\nCc: Anirban Sinha \u003cani@anirban.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n\n"
    },
    {
      "commit": "fc6b177dee33365ccb29fe6d2092223cf8d679f9",
      "tree": "849fcb60282bc6c0a01c3113dfc617c7f03f97d3",
      "parents": [
        "eaaea8036d0261d87d7072c5bc88c7ea730c18ac"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Oct 05 18:17:32 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 06 17:00:01 2009 +0200"
      },
      "message": "futex: Nullify robust lists after cleanup\n\nThe robust list pointers of user space held futexes are kept intact\nover an exec() call. When the exec\u0027ed task exits exit_robust_list() is\ncalled with the stale pointer. The risk of corruption is minimal, but\nstill it is incorrect to keep the pointers valid. Actually glibc\nshould uninstall the robust list before calling exec() but we have to\ndeal with it anyway.\n\nNullify the pointers after [compat_]exit_robust_list() has been\ncalled.\n\nReported-by: Anirban Sinha \u003cani@anirban.org\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "b0f56f1a63b7b968e6feeeefeace24bc8e0a4a65",
      "tree": "56bb19f2961203dff4656fc64c0471da93785a36",
      "parents": [
        "75fb4090b39a3d7bf9ac77a28665c991ec5eaadc"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Thu Oct 01 13:33:28 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 06 14:28:24 2009 +0200"
      },
      "message": "trace: Fix missing assignment in trace_ctxwake_*\n\nThe state char variable S should be reassigned, if S \u003d\u003d 0.\n\nWe are missing the state of the task that is going to sleep for the\ncontext switch events (in the raw mode).\n\nFortunately the problem arises with the sched_switch/wake_up\ntracers, not the sched trace events.\n\nThe formers are legacy now. But still, that was buggy.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c4AC43118.6050409@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "906010b2134e14a2e377decbadd357b3d0ab9c6a",
      "tree": "598b30d08f5ca8df1e00abc295b120fa1bd2c2e2",
      "parents": [
        "e13dbd7d75d1ecc315c6e3071b3c4e8fba4f6bec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 21 16:08:49 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 06 14:21:50 2009 +0200"
      },
      "message": "perf_event: Provide vmalloc() based mmap() backing\n\nSome architectures such as Sparc, ARM and MIPS (basically\neverything with flush_dcache_page()) need to deal with dcache\naliases by carefully placing pages in both kernel and user maps.\n\nThese architectures typically have to use vmalloc_user() for this.\n\nHowever, on other architectures, vmalloc() is not needed and has\nthe downsides of being more restricted and slower than regular\nallocations.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1254830228.21044.272.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee949a86b3aef15845ea677aa60231008de62672",
      "tree": "de3cb7bdbc4399a052140ec1e46a19fda60b1fd0",
      "parents": [
        "b934cdd55f2ac38c825f3d46cfa87a1654f1c849"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Oct 06 01:00:49 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 06 12:02:34 2009 +0200"
      },
      "message": "tracing/syscalls: Use long for syscall ret format and field definitions\n\nThe syscall event definitions use long for the syscall exit ret\nvalue, but unsigned long for the same thing in the format and field\ndefinitions.  Change them all to long.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: rostedt@goodmis.org\nCc: lizf@cn.fujitsu.com\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1254808849-7829-4-git-send-email-tzanussi@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eaaea8036d0261d87d7072c5bc88c7ea730c18ac",
      "tree": "07bbd53bdc9a47d86ca667f3171c3b7ebf1ac07c",
      "parents": [
        "d014e8894dfc523dd9d2f2a17b6dcb94facea810"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Oct 04 09:34:17 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 05 21:08:14 2009 +0200"
      },
      "message": "futex: Fix locking imbalance\n\nRich reported a lock imbalance in the futex code:\n\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d14288\n\nIt\u0027s caused by the displacement of the retry_private label in\nfutex_wake_op(). The code unlocks the hash bucket locks in the\nerror handling path and retries without locking them again which\nmakes the next unlock fail.\n\nMove retry_private so we lock the hash bucket locks when we retry.\n\nReported-by: Rich Ercolany \u003crercola@acm.jhu.edu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nCc: stable-2.6.31 \u003cstable@kernel.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d014e8894dfc523dd9d2f2a17b6dcb94facea810",
      "tree": "d4a3dec08acc9e9fb661576bd5f7b0ce11a1ecc9",
      "parents": [
        "135c8aea557cf53abe6c8847e286d01442124193"
      ],
      "author": {
        "name": "Aaro Koskinen",
        "email": "aaro.koskinen@nokia.com",
        "time": "Fri Oct 02 14:41:20 2009 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 05 21:08:09 2009 +0200"
      },
      "message": "panic: Fix panic message visibility by calling bust_spinlocks(0) before dying\n\nCommit ffd71da4e3f (\"panic: decrease oops_in_progress only after\nhaving done the panic\") moved bust_spinlocks(0) to the end of the\nfunction, which in practice is never reached.\n\nAs a result console_unblank() is not called, and on some systems\nthe user may not see the panic message.\n\nMove it back up to before the unblanking.\n\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1254483680-25578-1-git-send-email-aaro.koskinen@nokia.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41cb6654eb2cf01476223a3742946b9f65bd1bbd",
      "tree": "6874faea173541ef1692173b9984739e8254ffcc",
      "parents": [
        "e69a9ac59629db81971a9e03048f9a107712947a",
        "1ad0560e8cdb6d5b381220dc2da187691b5ce124"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 05 12:04:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 05 12:04:41 2009 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Run generate-cmdlist.sh properly\n  perf_event: Clean up perf_event_init_task()\n  perf_event: Fix event group handling in __perf_event_sched_*()\n  perf timechart: Add a power-only mode\n  perf top: Add poll_idle to the skip list\n"
    }
  ],
  "next": "e69a9ac59629db81971a9e03048f9a107712947a"
}
