)]}'
{
  "log": [
    {
      "commit": "025cea99db3fb110ebc8ede5ff647833fab9574f",
      "tree": "cfef202674eaf06953405b03b000e77251287099",
      "parents": [
        "f2da1c40dc003939f616f27a103b2592f1424b07"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 17:56:10 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:47 2011 -0700"
      },
      "message": "cgroup,rcu: convert call_rcu(__free_css_id_cb) to kfree_rcu()\n\nThe rcu callback __free_css_id_cb() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(__free_css_id_cb).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "f2da1c40dc003939f616f27a103b2592f1424b07",
      "tree": "a34d091b5652a7605269cff58b9e259dc94198a7",
      "parents": [
        "30088ad815802f850f26114920ccf9effd4bc520"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 17:55:16 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:46 2011 -0700"
      },
      "message": "cgroup,rcu: convert call_rcu(free_cgroup_rcu) to kfree_rcu()\n\nThe rcu callback free_cgroup_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(free_cgroup_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "30088ad815802f850f26114920ccf9effd4bc520",
      "tree": "7002a56ddb8873ae42921f1f6605fcc7b0fbbd71",
      "parents": [
        "1217ed1ba5c67393293dfb0f03c353b118dadeb4"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 17:53:46 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:45 2011 -0700"
      },
      "message": "cgroup,rcu: convert call_rcu(free_css_set_rcu) to kfree_rcu()\n\nThe rcu callback free_css_set_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(free_css_set_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "1217ed1ba5c67393293dfb0f03c353b118dadeb4",
      "tree": "a765356c8418e134de85fd05d9fe6eda41de859c",
      "parents": [
        "29ce831000081dd757d3116bf774aafffc4b6b20"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed May 04 21:43:49 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:45 2011 -0700"
      },
      "message": "rcu: permit rcu_read_unlock() to be called while holding runqueue locks\n\nAvoid calling into the scheduler while holding core RCU locks.  This\nallows rcu_read_unlock() to be called while holding the runqueue locks,\nbut only as long as there was no chance of the RCU read-side critical\nsection having been preempted.  (Otherwise, if RCU priority boosting\nis enabled, rcu_read_unlock() might call into the scheduler in order to\nunboost itself, which might allows self-deadlock on the runqueue locks\nwithin the scheduler.)\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "29ce831000081dd757d3116bf774aafffc4b6b20",
      "tree": "0b992d993b02d3479a150e9fc508d110dc45631d",
      "parents": [
        "bad6e1393cb505fe17747344a23666464daa3fa7"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Wed May 04 16:31:03 2011 +0300"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:59 2011 -0700"
      },
      "message": "rcu: provide rcu_virt_note_context_switch() function.\n\nProvide rcu_virt_note_context_switch() for vitalization use to note\nquiescent state during guest entry.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "bad6e1393cb505fe17747344a23666464daa3fa7",
      "tree": "521dcada78d0f19400d14547381f0f3b2e38fea2",
      "parents": [
        "b554d7de8d112fca4188da3bf0d7f8b56f42fb95"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 02 23:40:04 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:59 2011 -0700"
      },
      "message": "rcu: get rid of signed overflow in check_cpu_stall()\n\nSigned integer overflow is undefined by the C standard, so move\ncalculations to unsigned.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b554d7de8d112fca4188da3bf0d7f8b56f42fb95",
      "tree": "3641a25b7356da1bdcb52f6ff160f605ed778cd4",
      "parents": [
        "2655d57ef35aa327a2e58a1c5dc7b65c65003f4e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 28 07:23:45 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:59 2011 -0700"
      },
      "message": "rcu: optimize rcutiny\n\nrcu_sched_qs() currently calls local_irq_save()/local_irq_restore() up\nto three times.\n\nRemove irq masking from rcu_qsctr_help() / invoke_rcu_kthread()\nand do it once in rcu_sched_qs() / rcu_bh_qs()\n\nThis generates smaller code as well.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   2314\t    156\t     24\t   2494\t    9be\tkernel/rcutiny.old.o\n   2250\t    156\t     24\t   2430\t    97e\tkernel/rcutiny.new.o\n\nFix an outdated comment for rcu_qsctr_help()\nMove invoke_rcu_kthread() definition before its use.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "2655d57ef35aa327a2e58a1c5dc7b65c65003f4e",
      "tree": "4a71e82b23ee84705cad15cd16490f8c5aace74f",
      "parents": [
        "baa1ae0c9f1c618bc60706efa75fef3508bcee58"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Apr 07 22:47:23 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:59 2011 -0700"
      },
      "message": "rcu: prevent call_rcu() from diving into rcu core if irqs disabled\n\nThis commit marks a first step towards making call_rcu() have\nreal-time behavior.  If irqs are disabled, don\u0027t dive into the\nRCU core.  Later on, this new early exit will wake up the\nper-CPU kthread, which first must be modified to handle the\ncases involving callback storms.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "baa1ae0c9f1c618bc60706efa75fef3508bcee58",
      "tree": "e9a4558a3fcef41e42477d6461ccf655d01d5432",
      "parents": [
        "9ab1544eb4196ca8d05c433b2eb56f74496b1ee3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sat Mar 26 22:01:35 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:59 2011 -0700"
      },
      "message": "rcu: further lower priority in rcu_yield()\n\nAlthough rcu_yield() dropped from real-time to normal priority, there\nis always the possibility that the competing tasks have been niced.\nSo nice to 19 in rcu_yield() to help ensure that other tasks have a\nbetter chance of running.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "9ab1544eb4196ca8d05c433b2eb56f74496b1ee3",
      "tree": "be3a7897cf52920df4da41ded060e23150bdb849",
      "parents": [
        "6cc68793e380bb51f447d8d02af873b7bc01f222"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 18 11:15:47 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:59 2011 -0700"
      },
      "message": "rcu: introduce kfree_rcu()\n\nMany rcu callbacks functions just call kfree() on the base structure.\nThese functions are trivial, but their size adds up, and furthermore\nwhen they are used in a kernel module, that module must invoke the\nhigh-latency rcu_barrier() function at module-unload time.\n\nThe kfree_rcu() function introduced by this commit addresses this issue.\nRather than encoding a function address in the embedded rcu_head\nstructure, kfree_rcu() instead encodes the offset of the rcu_head\nstructure within the base structure.  Because the functions are not\nallowed in the low-order 4096 bytes of kernel virtual memory, offsets\nup to 4095 bytes can be accommodated.  If the offset is larger than\n4095 bytes, a compile-time error will be generated in __kfree_rcu().\nIf this error is triggered, you can either fall back to use of call_rcu()\nor rearrange the structure to position the rcu_head structure into the\nfirst 4096 bytes.\n\nNote that the allowable offset might decrease in the future, for example,\nto allow something like kmem_cache_free_rcu().\n\nThe new kfree_rcu() function can replace code as follows:\n\n\tcall_rcu(\u0026p-\u003ercu, simple_kfree_callback);\n\nwhere \"simple_kfree_callback()\" might be defined as follows:\n\n\tvoid simple_kfree_callback(struct rcu_head *p)\n\t{\n\t\tstruct foo *q \u003d container_of(p, struct foo, rcu);\n\n\t\tkfree(q);\n\t}\n\nwith the following:\n\n\tkfree_rcu(\u0026p-\u003ercu, rcu);\n\nNote that the \"rcu\" is the name of a field in the structure being\nfreed.  The reason for using this rather than passing in a pointer\nto the base structure is that the above approach allows better type\nchecking.\n\nThis commit is based on earlier work by Lai Jiangshan and Manfred Spraul:\n\nLai\u0027s V1 patch: http://lkml.org/lkml/2008/9/18/1\nManfred\u0027s patch: http://lkml.org/lkml/2009/1/2/115\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "6cc68793e380bb51f447d8d02af873b7bc01f222",
      "tree": "f2b66ace23acc0a31a08f136ad25659d6b51c4b1",
      "parents": [
        "13491a0ee1ef862b6c842132b6eb9c5e721af5ad"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Mar 02 13:15:15 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:59 2011 -0700"
      },
      "message": "rcu: fix spelling\n\nThe \"preemptible\" spelling is preferable.  May as well fix it.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "13491a0ee1ef862b6c842132b6eb9c5e721af5ad",
      "tree": "198d4dc1d56c4d6357d93522cc2ff3676cb78021",
      "parents": [
        "7e8b4c72344e0d904b0e3fa9fd2eb116f04b3d41"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Feb 25 11:37:59 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:58 2011 -0700"
      },
      "message": "rcu: call __rcu_read_unlock() in exit_rcu for tree RCU\n\nUsing __rcu_read_lock() in place of rcu_read_lock() leaves any debug\nstate as it really should be, namely with the lock still held.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "7e8b4c72344e0d904b0e3fa9fd2eb116f04b3d41",
      "tree": "29107484a66472f20fb9f8c40590aece0a5469c2",
      "parents": [
        "203373c81b83e98da82836c4b8b5dd1e6fc9011f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Feb 24 19:26:21 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:58 2011 -0700"
      },
      "message": "rcu: Converge TINY_RCU expedited and normal boosting\n\nThis applies a trick from TREE_RCU boosting to TINY_RCU, eliminating\ncode and adding comments.  The key point is that it is possible for\nthe booster thread itself to work out whether there is a normal or\nexpedited boost required based solely on local information.  There\nis therefore no need for boost initiation to know or care what type\nof boosting is required.  In addition, when boosting is complete for\na given grace period, then by definition there cannot be any more\nboosting for that grace period.  This allows eliminating yet more\nstate and statistics.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "203373c81b83e98da82836c4b8b5dd1e6fc9011f",
      "tree": "78e11ef799f6036ac5c9b664e5af4c10dbd6f4a2",
      "parents": [
        "ddeb75814f09205df795121d9e373e82de7f2aca"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Feb 24 15:25:21 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:58 2011 -0700"
      },
      "message": "rcu: remove useless -\u003eboosted_this_gp field\n\nThe -\u003eboosted_this_gp field is a holdover from an earlier design that\nwas to carry out multiple boost operations in parallel.  It is not required\nby the current design, which boosts one task at a time.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ddeb75814f09205df795121d9e373e82de7f2aca",
      "tree": "d642fc3753308a76846418a4a020a9d851781a4b",
      "parents": [
        "f0a07aeaf8935b7e9ef8032ce6546169f143951c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Feb 23 17:03:06 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:58 2011 -0700"
      },
      "message": "rcu: code cleanups in TINY_RCU priority boosting.\n\nExtraneous semicolon, bad comment, and fold INIT_LIST_HEAD() into\nlist_del() to get list_del_init().\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "f0a07aeaf8935b7e9ef8032ce6546169f143951c",
      "tree": "31c6ee98ebb7e3040ad036415702eb23ff929e01",
      "parents": [
        "108aae22339f445c134aeb48eca25df1014ab08d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Feb 23 11:10:52 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:57 2011 -0700"
      },
      "message": "rcu: Switch to this_cpu() primitives\n\nThis removes a couple of lines from invoke_rcu_cpu_kthread(), improving\nreadability.\n\nReported-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "108aae22339f445c134aeb48eca25df1014ab08d",
      "tree": "34a5ecb48e93726932004d36edcd60275cd47ce6",
      "parents": [
        "561190e3b3db372403fb6a327b0121b4cae1b87e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Feb 23 09:56:00 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:57 2011 -0700"
      },
      "message": "rcu: Use WARN_ON_ONCE for DEBUG_OBJECTS_RCU_HEAD warnings\n\nAvoid additional multiple-warning confusion in memory-corruption scenarios.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "561190e3b3db372403fb6a327b0121b4cae1b87e",
      "tree": "41778e9452679853fd873bcb5c776d0fc2327c71",
      "parents": [
        "b0c9d7ff2793502650ad987c3f237d5fe5587a1e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Mar 30 09:10:44 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:57 2011 -0700"
      },
      "message": "rcu: mark rcutorture boosting callback as being on-stack\n\nThe CONFIG_DEBUG_OBJECTS_RCU_HEAD facility requires that on-stack RCU\ncallbacks be flagged explicitly to debug-objects using the\ninit_rcu_head_on_stack() and destroy_rcu_head_on_stack() functions.\nThis commit applies those functions to the rcutorture code that tests\nRCU priority boosting.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "fc2ecf7ec76c5ee150b83dcefc863fa03fd365fb",
      "tree": "2fcdfaf97cf5b9d7a1cfce9e2c8c041c38ea7dfe",
      "parents": [
        "5ece5bab3ed8594ce2c85c6c6e6b82109db36ca7"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Wed Feb 23 09:42:14 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:57 2011 -0700"
      },
      "message": "rcu: Enable DEBUG_OBJECTS_RCU_HEAD from !PREEMPT\n\nThe prohibition of DEBUG_OBJECTS_RCU_HEAD from !PREEMPT was due to the\nfixup actions.  So just produce a warning from !PREEMPT.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "5ece5bab3ed8594ce2c85c6c6e6b82109db36ca7",
      "tree": "c9ef8faa5dbb9e7c82893657e5aa2c1040987f96",
      "parents": [
        "15ba0ba860871cf74b48b1bb47c26c91a66126f3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Apr 22 18:08:51 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:57 2011 -0700"
      },
      "message": "rcu: Add forward-progress diagnostic for per-CPU kthreads\n\nIncrement a per-CPU counter on each pass through rcu_cpu_kthread()\u0027s\nservice loop, and add it to the rcudata trace output.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "15ba0ba860871cf74b48b1bb47c26c91a66126f3",
      "tree": "2043eeca7d6df62fc0ae918b61abada073f81415",
      "parents": [
        "a9f4793d8900dc5dc09b3951bdcd4731290e06fe"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Apr 06 16:01:16 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:56 2011 -0700"
      },
      "message": "rcu: add grace-period age and more kthread state to tracing\n\nThis commit adds the age in jiffies of the current grace period along\nwith the duration in jiffies of the longest grace period since boot\nto the rcu/rcugp debugfs file.  It also adds an additional \"O\" state\nto kthread tracing to differentiate between the kthread waiting due to\nhaving nothing to do on the one hand and waiting due to being on the\nwrong CPU on the other hand.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a9f4793d8900dc5dc09b3951bdcd4731290e06fe",
      "tree": "8e3247ed961e8255b4d7e1c1b4dd13ffb361d4d4",
      "parents": [
        "90e6ac3657fd3b0446d585082000af3cf46439a7"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon May 02 03:46:10 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:56 2011 -0700"
      },
      "message": "rcu: fix tracing bug thinko on boost-balk attribution\n\nThe rcu_initiate_boost_trace() function mis-attributed refusals to\ninitiate RCU priority boosting that were in fact due to its not yet\nbeing time to boost.  This patch fixes the faulty comparison.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4a29865689dbb87a02e3b0fff4a4ae5041273173",
      "tree": "72c9f1641a9fb05e3ae4d8cc068f62f9c566bae9",
      "parents": [
        "d71df90eadfc35aa549ff9a850842673febca71f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Apr 03 21:33:51 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:56 2011 -0700"
      },
      "message": "rcu: make rcutorture version numbers available through debugfs\n\nIt is not possible to accurately correlate rcutorture output with that\nof debugfs.  This patch therefore adds a debugfs file that prints out\nthe rcutorture version number, permitting easy correlation.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "d71df90eadfc35aa549ff9a850842673febca71f",
      "tree": "dd275a3f4848784bc6625574341c11befc1b3823",
      "parents": [
        "0ac3d136b2e3cdf1161178223bc5da14a06241d0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Mar 29 17:48:28 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:56 2011 -0700"
      },
      "message": "rcu: add tracing for RCU\u0027s kthread run states.\n\nAdd tracing to help debugging situations when RCU\u0027s kthreads are not\nrunning but are supposed to be.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "0ac3d136b2e3cdf1161178223bc5da14a06241d0",
      "tree": "20ba3f20014425404b3dbcb5dfdd4410d87f879a",
      "parents": [
        "2fa218d8bbcff239302f9f36e19d7187077dd636"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Mar 28 15:47:07 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:56 2011 -0700"
      },
      "message": "rcu: add callback-queue information to rcudata output\n\nThis commit adds an indication of the state of the callback queue using\na string of four characters following the \"ql\u003d\" integer queue length.\nThe first character is \"N\" if there are callbacks that have been\nqueued that are not yet ready to be handled by the next grace period, or\n\".\" otherwise.  The second character is \"R\" if there are callbacks queued\nthat are ready to be handled by the next grace period, or \".\" otherwise.\nThe third character is \"W\" if there are callbacks waiting for the current\ngrace period, or \".\" otherwise.  Finally, the fourth character is \"D\"\nif there are callbacks that have been handled by a prior grace period\nand are waiting to be invoked, or \".\".\n\nNote that callbacks that are in the process of being invoked are\nnot shown.  These callbacks would have been removed from the rcu_data\nstructure\u0027s list by rcu_do_batch() prior to being executed.  (These\ncallbacks are also not reflected in the \"ql\u003d\" total, FWIW.)\n\nAlso, document the new callback-queue trace information.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "0ea1f2ebeb217d38770aebf91c4ecaa8e01b3305",
      "tree": "ef558d2eb804ca033a5166d24f5b4be7cf87727f",
      "parents": [
        "67b98dba474f293c389fc2b7254dcf7c0492e3bd"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Feb 22 13:42:43 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:55 2011 -0700"
      },
      "message": "rcu: Add boosting to TREE_PREEMPT_RCU tracing\n\nIncludes total number of tasks boosted, number boosted on behalf of each\nof normal and expedited grace periods, and statistics on attempts to\ninitiate boosting that failed for various reasons.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "67b98dba474f293c389fc2b7254dcf7c0492e3bd",
      "tree": "d5dab0a9cf68e255df77044f4c11a0c73d06b6ed",
      "parents": [
        "3acf4a9a3d63f23430f940842829175b0778a1b8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Feb 21 13:31:55 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:55 2011 -0700"
      },
      "message": "rcu: eliminate unused boosting statistics\n\nThe n_rcu_torture_boost_allocerror and n_rcu_torture_boost_afferror\nstatistics are not actually incremented anymore, so eliminate them.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "3acf4a9a3d63f23430f940842829175b0778a1b8",
      "tree": "e0bcf3bc65ac6272425a00703654a70650d8634c",
      "parents": [
        "e3995a25fa361ce987a7d0ade00b17e3151519d7"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Apr 17 23:45:23 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:55 2011 -0700"
      },
      "message": "rcu: avoid hammering sched with yet another bound RT kthread\n\nThe scheduler does not appear to take kindly to having multiple\nreal-time threads bound to a CPU that is going offline.  So this\ncommit is a temporary hack-around to avoid that happening.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e3995a25fa361ce987a7d0ade00b17e3151519d7",
      "tree": "ccf8a6ae71bc5cb289080b04f00170a758e33c59",
      "parents": [
        "0f962a5e7277c34987b77dc82fc9aefcedc95e27"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Apr 18 15:31:26 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:55 2011 -0700"
      },
      "message": "rcu: put per-CPU kthread at non-RT priority during CPU hotplug operations\n\nIf you are doing CPU hotplug operations, it is best not to have\nCPU-bound realtime tasks running CPU-bound on the outgoing CPU.\nSo this commit makes per-CPU kthreads run at non-realtime priority\nduring that time.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "0f962a5e7277c34987b77dc82fc9aefcedc95e27",
      "tree": "b265d93dcc8f2669f8fb9b353344b9f6cc354728",
      "parents": [
        "27f4d28057adf98750cf863c40baefb12f5b6d21"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Apr 14 12:13:53 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:55 2011 -0700"
      },
      "message": "rcu: Force per-rcu_node kthreads off of the outgoing CPU\n\nThe scheduler has had some heartburn in the past when too many real-time\nkthreads were affinitied to the outgoing CPU.  So, this commit lightens\nthe load by forcing the per-rcu_node and the boost kthreads off of the\noutgoing CPU.  Note that RCU\u0027s per-CPU kthread remains on the outgoing\nCPU until the bitter end, as it must in order to preserve correctness.\n\nAlso avoid disabling hardirqs across calls to set_cpus_allowed_ptr(),\ngiven that this function can block.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "27f4d28057adf98750cf863c40baefb12f5b6d21",
      "tree": "a66584d2cb68cebda327313f78b8f4eb602ed4ef",
      "parents": [
        "a26ac2455ffcf3be5c6ef92bc6df7182700f2114"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Feb 07 12:47:15 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:55 2011 -0700"
      },
      "message": "rcu: priority boosting for TREE_PREEMPT_RCU\n\nAdd priority boosting for TREE_PREEMPT_RCU, similar to that for\nTINY_PREEMPT_RCU.  This is enabled by the default-off RCU_BOOST\nkernel parameter.  The priority to which to boost preempted\nRCU readers is controlled by the RCU_BOOST_PRIO kernel parameter\n(defaulting to real-time priority 1) and the time to wait before\nboosting the readers who are blocking a given grace period is\ncontrolled by the RCU_BOOST_DELAY kernel parameter (defaulting to\n500 milliseconds).\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "a26ac2455ffcf3be5c6ef92bc6df7182700f2114",
      "tree": "601697c7c3fd152a1b3f29f43d3a028fc8fefd5f",
      "parents": [
        "12f5f524cafef3ab689929b118f2dfb8bf2be321"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Jan 12 14:10:23 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:54 2011 -0700"
      },
      "message": "rcu: move TREE_RCU from softirq to kthread\n\nIf RCU priority boosting is to be meaningful, callback invocation must\nbe boosted in addition to preempted RCU readers.  Otherwise, in presence\nof CPU real-time threads, the grace period ends, but the callbacks don\u0027t\nget invoked.  If the callbacks don\u0027t get invoked, the associated memory\ndoesn\u0027t get freed, so the system is still subject to OOM.\n\nBut it is not reasonable to priority-boost RCU_SOFTIRQ, so this commit\nmoves the callback invocations to a kthread, which can be boosted easily.\n\nAlso add comments and properly synchronized all accesses to\nrcu_cpu_kthread_task, as suggested by Lai Jiangshan.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "12f5f524cafef3ab689929b118f2dfb8bf2be321",
      "tree": "639473556b6edf9b79e0a18d5ba58f80eea76519",
      "parents": [
        "e59fb3120becfb36b22ddb8bd27d065d3cdca499"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Nov 29 21:56:39 2010 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:54 2011 -0700"
      },
      "message": "rcu: merge TREE_PREEPT_RCU blocked_tasks[] lists\n\nCombine the current TREE_PREEMPT_RCU -\u003eblocked_tasks[] lists in the\nrcu_node structure into a single -\u003eblkd_tasks list with -\u003egp_tasks\nand -\u003eexp_tasks tail pointers.  This is in preparation for RCU priority\nboosting, which will add a third dimension to the combinatorial explosion\nin the -\u003eblocked_tasks[] case, but simply a third pointer in the new\n-\u003eblkd_tasks case.\n\nAlso update documentation to reflect blocked_tasks[] merge\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "e59fb3120becfb36b22ddb8bd27d065d3cdca499",
      "tree": "37eaadfe112b64caae943fc7469274bc96553d92",
      "parents": [
        "a00e0d714fbded07a7a2254391ce9ed5a5cb9d82"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Sep 07 10:38:22 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:54 2011 -0700"
      },
      "message": "rcu: Decrease memory-barrier usage based on semi-formal proof\n\nCommit d09b62d fixed grace-period synchronization, but left some smp_mb()\ninvocations in rcu_process_callbacks() that are no longer needed, but\nsheer paranoia prevented them from being removed.  This commit removes\nthem and provides a proof of correctness in their absence.  It also adds\na memory barrier to rcu_report_qs_rsp() immediately before the update to\nrsp-\u003ecompleted in order to handle the theoretical possibility that the\ncompiler or CPU might move massive quantities of code into a lock-based\ncritical section.  This also proves that the sheer paranoia was not\nentirely unjustified, at least from a theoretical point of view.\n\nIn addition, the old dyntick-idle synchronization depended on the fact\nthat grace periods were many milliseconds in duration, so that it could\nbe assumed that no dyntick-idle CPU could reorder a memory reference\nacross an entire grace period.  Unfortunately for this design, the\naddition of expedited grace periods breaks this assumption, which has\nthe unfortunate side-effect of requiring atomic operations in the\nfunctions that track dyntick-idle state for RCU.  (There is some hope\nthat the algorithms used in user-level RCU might be applied here, but\nsome work is required to handle the NMIs that user-space applications\ncan happily ignore.  For the short term, better safe than sorry.)\n\nThis proof assumes that neither compiler nor CPU will allow a lock\nacquisition and release to be reordered, as doing so can result in\ndeadlock.  The proof is as follows:\n\n1.\tA given CPU declares a quiescent state under the protection of\n\tits leaf rcu_node\u0027s lock.\n\n2.\tIf there is more than one level of rcu_node hierarchy, the\n\tlast CPU to declare a quiescent state will also acquire the\n\t-\u003elock of the next rcu_node up in the hierarchy,  but only\n\tafter releasing the lower level\u0027s lock.  The acquisition of this\n\tlock clearly cannot occur prior to the acquisition of the leaf\n\tnode\u0027s lock.\n\n3.\tStep 2 repeats until we reach the root rcu_node structure.\n\tPlease note again that only one lock is held at a time through\n\tthis process.  The acquisition of the root rcu_node\u0027s -\u003elock\n\tmust occur after the release of that of the leaf rcu_node.\n\n4.\tAt this point, we set the -\u003ecompleted field in the rcu_state\n\tstructure in rcu_report_qs_rsp().  However, if the rcu_node\n\thierarchy contains only one rcu_node, then in theory the code\n\tpreceding the quiescent state could leak into the critical\n\tsection.  We therefore precede the update of -\u003ecompleted with a\n\tmemory barrier.  All CPUs will therefore agree that any updates\n\tpreceding any report of a quiescent state will have happened\n\tbefore the update of -\u003ecompleted.\n\n5.\tRegardless of whether a new grace period is needed, rcu_start_gp()\n\twill propagate the new value of -\u003ecompleted to all of the leaf\n\trcu_node structures, under the protection of each rcu_node\u0027s -\u003elock.\n\tIf a new grace period is needed immediately, this propagation\n\twill occur in the same critical section that -\u003ecompleted was\n\tset in, but courtesy of the memory barrier in #4 above, is still\n\tseen to follow any pre-quiescent-state activity.\n\n6.\tWhen a given CPU invokes __rcu_process_gp_end(), it becomes\n\taware of the end of the old grace period and therefore makes\n\tany RCU callbacks that were waiting on that grace period eligible\n\tfor invocation.\n\n\tIf this CPU is the same one that detected the end of the grace\n\tperiod, and if there is but a single rcu_node in the hierarchy,\n\twe will still be in the single critical section.  In this case,\n\tthe memory barrier in step #4 guarantees that all callbacks will\n\tbe seen to execute after each CPU\u0027s quiescent state.\n\n\tOn the other hand, if this is a different CPU, it will acquire\n\tthe leaf rcu_node\u0027s -\u003elock, and will again be serialized after\n\teach CPU\u0027s quiescent state for the old grace period.\n\nOn the strength of this proof, this commit therefore removes the memory\nbarriers from rcu_process_callbacks() and adds one to rcu_report_qs_rsp().\nThe effect is to reduce the number of memory barriers by one and to\nreduce the frequency of execution from about once per scheduling tick\nper CPU to once per grace period.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "a00e0d714fbded07a7a2254391ce9ed5a5cb9d82",
      "tree": "7c213dbf1e2561655d07749b6d689027460fb8cc",
      "parents": [
        "0ee5623f9a6e52df90a78bd21179f8ab370e102e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 08 17:14:39 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:54 2011 -0700"
      },
      "message": "rcu: Remove conditional compilation for RCU CPU stall warnings\n\nThe RCU CPU stall warnings can now be controlled using the\nrcu_cpu_stall_suppress boot-time parameter or via the same parameter\nfrom sysfs.  There is therefore no longer any reason to have\nkernel config parameters for this feature.  This commit therefore\nremoves the RCU_CPU_STALL_DETECTOR and RCU_CPU_STALL_DETECTOR_RUNNABLE\nkernel config parameters.  The RCU_CPU_STALL_TIMEOUT parameter remains\nto allow the timeout to be tuned and the RCU_CPU_STALL_VERBOSE parameter\nremains to allow task-stall information to be suppressed if desired.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "94b2c363dcf732a4edab4ed66041cb36e7f28fbf",
      "tree": "982f4c1bde2dea0ed7f6fa02d28cfc895b483ca8",
      "parents": [
        "c7bcecbe98fe29e87ac7d01c70c5998806e0989f"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Sat Apr 30 22:56:20 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 02 21:16:37 2011 +0200"
      },
      "message": "genirq: Fix typo CONFIG_GENIRC_IRQ_SHOW_LEVEL\n\ncommit ab7798ffcf98b11a9525cf65bacdae3fd58d357f (\"genirq: Expand generic\nshow_interrupts()\") added the Kconfig option GENERIC_IRQ_SHOW_LEVEL to\naccomodate PowerPC, but this doesn\u0027t actually enable the functionality due\nto a typo in the #ifdef check.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Linux/PPC Development \u003clinuxppc-dev@lists.ozlabs.org\u003e\nLink: http://lkml.kernel.org/r/%3Calpine.DEB.2.00.1104302251370.19068%40ayla.of.borg%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3fd9952df4964fac7d5868ba48eadcc9dae3ba46",
      "tree": "ac5ad53b758329fbd5d38972a26fb8380092a649",
      "parents": [
        "1be6a1f89f131e9c3d22f819ec542be9cda8c9e3",
        "5035b20fa5cd146b66f5f89619c20a4177fb736d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 30 09:15:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 30 09:15:40 2011 -0700"
      },
      "message": "Merge branch \u0027fixes-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027fixes-2.6.39\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: fix deadlock in worker_maybe_bind_and_lock()\n  workqueue: Document debugging tricks\n\nFix up trivial spelling conflict in kernel/workqueue.c\n"
    },
    {
      "commit": "40a963502cd44765a0e0d45ff3409051986b5a39",
      "tree": "d9894efb7db009b23a91b22adbde4105fe80899b",
      "parents": [
        "fcc4dc715113999c6c7b5d3087fade3ee8d0f6eb",
        "2bce5daca28346f19c190dbdb5542c9fe3e8c6e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 15:08:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 15:08:53 2011 -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, x86, nmi: Move LVT un-masking into irq handlers\n  perf events, x86: Work around the Nehalem AAJ80 erratum\n  perf, x86: Fix BTS condition\n  ftrace: Build without frame pointers on Microblaze\n"
    },
    {
      "commit": "fcc4dc715113999c6c7b5d3087fade3ee8d0f6eb",
      "tree": "1f0aa5cc31baff8b0b392208d31b7f7ce3f02cee",
      "parents": [
        "a6ab948e6500306dcb415ec80bff5f9b93f41b90",
        "ce31332d3c77532d6ea97ddcb475a2b02dd358b4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 15:08:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 15:08:31 2011 -0700"
      },
      "message": "Merge branch \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: Initialize CLOCK_ID to HRTIMER_BASE table statically\n  rtc: max8925: Call dev_set_drvdata before rtc_device_register\n"
    },
    {
      "commit": "5035b20fa5cd146b66f5f89619c20a4177fb736d",
      "tree": "cd62bba3a3c36164d0faaac1b3c922be0eca11f1",
      "parents": [
        "e2de9e0862778f4aba103027ce575efbddb8117f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Apr 29 18:08:37 2011 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Apr 29 18:08:37 2011 +0200"
      },
      "message": "workqueue: fix deadlock in worker_maybe_bind_and_lock()\n\nIf a rescuer and stop_machine() bringing down a CPU race with each\nother, they may deadlock on non-preemptive kernel.  The CPU won\u0027t\naccept a new task, so the rescuer can\u0027t migrate to the target CPU,\nwhile stop_machine() can\u0027t proceed because the rescuer is holding one\nof the CPU retrying migration.  GCWQ_DISASSOCIATED is never cleared\nand worker_maybe_bind_and_lock() retries indefinitely.\n\nThis problem can be reproduced semi reliably while the system is\nentering suspend.\n\n http://thread.gmane.org/gmane.linux.kernel/1122051\n\nA lot of kudos to Thilo-Alexander for reporting this tricky issue and\npainstaking testing.\n\nstable: This affects all kernels with cmwq, so all kernels since and\n        including v2.6.36 need this fix.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Thilo-Alexander Ginkel \u003cthilo@ginkel.com\u003e\nTested-by: Thilo-Alexander Ginkel \u003cthilo@ginkel.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "ce31332d3c77532d6ea97ddcb475a2b02dd358b4",
      "tree": "273c3664420d8fbd08346d9298c5010640ca3f71",
      "parents": [
        "f945a3d9600633de589ce698233b34ff6ad57e55"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 29 00:02:00 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 29 10:57:11 2011 +0200"
      },
      "message": "hrtimer: Initialize CLOCK_ID to HRTIMER_BASE table statically\n\nSedat and Bruno reported RCU stalls which turned out to be caused by\nthe following;\n\nsched_init() calls init_rt_bandwidth() which calls hrtimer_init()\n_BEFORE_ hrtimers_init() is called. While not entirely correct this\nworked because hrtimer_init() only accessed statically initialized\ndata (hrtimer_bases.clock_base[CLOCK_MONOTONIC])\n\nCommit e06383db9 (hrtimers: extend hrtimer base code to handle more\nthen 2 clockids) added an indirection to the hrtimer_bases.clock_base\nlookup to avoid gap handling in the hot path. The table which is used\nfor the translataion from CLOCK_ID to HRTIMER_BASE index is\ninitialized at runtime in hrtimers_init(). So the early call of the\nscheduler code translates CLOCK_MONOTONIC to HRTIMER_BASE_REALTIME.\n\nThus the rt_bandwith timer ends up on CLOCK_REALTIME. If the timer is\narmed and the wall clock time is set (e.g. ntpdate in the early boot\nprocess - which also gives the problem deterministic behaviour\ni.e. magic recovery after N hours), then the timer ends up with an\nexpiry time far into the future. That breaks the RT throttler\nmechanism as rt runtime is accumulated and never cleared, so the rt\nthrottler detects a false cpu hog condition and blocks all RT tasks\nuntil the timer finally expires. That in turn stalls the RCU thread of\nTINYRCU which leads to an huge amount of RCU callbacks piling up.\n\nMake the translation table statically initialized, so we are back to\nthe status of \u003c\u003d 2.6.39.\n\nReported-and-tested-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nReported-by: Bruno Prémont \u003cbonbons@linux-vserver.org\u003e\nCc: John stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/%3Calpine.LFD.2.02.1104282353140.3005%40ionos%3E\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1409f141ac719b994d2832911b1e9ec928943fc2",
      "tree": "2ef8c9431f15cae6f243482cbe1cf9f11ae60082",
      "parents": [
        "534e3adbd22efa327e6ff27cf2d8ebaad8382ecd"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Wed Apr 27 15:26:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 28 11:28:21 2011 -0700"
      },
      "message": "kernel/watchdog.c: disable nmi perf event in the error path of enabling watchdog\n\nIn corner cases where softlockup watchdog is not setup successfully, the\nrelevant nmi perf event for hardlockup watchdog could be disabled, then\nthe status of the underlying hardware remains unchanged.\n\nAlso, if the kthread doesn\u0027t start then the hrtimer won\u0027t run and the\nhardlockup detector will falsely fire.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@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": "6c8a7213278324f381cbcbf51510711ed745d8e6",
      "tree": "1b83e24917d58dcf4af6d6b4d8c26ce012cff43c",
      "parents": [
        "ec75a71634dabe439db91c1ef51d5099f4493808",
        "d20ac252821ab9780ddf00b95629547d3cebc857"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 10:31:29 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 27 10:31:29 2011 +0200"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "686c4cbb10fc0e75b29b097290b4f7fc3f010b9e",
      "tree": "3361f14eee716d5512a0c423ec89631a5b976ef4",
      "parents": [
        "b07ad9967f40b164af77205027352ba53729cf5a",
        "19234c0819da0e043a02710488dfd9b242b42eba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 23 22:35:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 23 22:35:16 2011 -0700"
      },
      "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: Add missing syscore_suspend() and syscore_resume() calls\n  PM: Fix error code paths executed after failing syscore_suspend()\n"
    },
    {
      "commit": "d20ac252821ab9780ddf00b95629547d3cebc857",
      "tree": "bfa57e921857575fea57e696b7d1da7ef66234ba",
      "parents": [
        "855357a21744e488cbee23a47d2b124035160a87"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Mon Apr 04 11:20:12 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 21 09:06:24 2011 -0400"
      },
      "message": "ftrace: Build without frame pointers on Microblaze\n\nMicroblaze doesn\u0027t need/support FRAME_POINTERS in order to have a working\nfunction tracer.\n\nThe patch remove Kconfig warning.\n\nWarning log:\nwarning: (LOCKDEP \u0026\u0026 FAULT_INJECTION_STACKTRACE_FILTER \u0026\u0026 LATENCYTOP \u0026\u0026\nFUNCTION_TRACER \u0026\u0026 KMEMCHECK) selects FRAME_POINTER which has unmet direct\ndependencies (DEBUG_KERNEL \u0026\u0026 (CRIS || M68K || FRV || UML || AVR32 ||\nSUPERH || BLACKFIN || MN10300) || ARCH_WANT_FRAME_POINTERS)\n\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nLink: http://lkml.kernel.org/r/1301908812-8119-2-git-send-email-monstr@monstr.eu\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCC: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "19234c0819da0e043a02710488dfd9b242b42eba",
      "tree": "c55331dd010e5fe257e001261f1a31f53f62dff4",
      "parents": [
        "2ca6f62f595c01f689b269db6736de5544da7667"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Apr 20 00:36:11 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Apr 20 00:36:11 2011 +0200"
      },
      "message": "PM: Add missing syscore_suspend() and syscore_resume() calls\n\nDevice suspend/resume infrastructure is used not only by the suspend\nand hibernate code in kernel/power, but also by APM, Xen and the\nkexec jump feature.  However, commit 40dc166cb5dddbd36aa4ad11c03915ea\n(PM / Core: Introduce struct syscore_ops for core subsystems PM)\nfailed to add syscore_suspend() and syscore_resume() calls to that\ncode, which generally leads to breakage when the features in question\nare used.\n\nTo fix this problem, add the missing syscore_suspend() and\nsyscore_resume() calls to arch/x86/kernel/apm_32.c, kernel/kexec.c\nand drivers/xen/manage.c.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\n"
    },
    {
      "commit": "4ae0ff16efeffe7d06726fd3022cdb2f3e9e6892",
      "tree": "005e974503185dd221b91299084f6595b5ba60e9",
      "parents": [
        "96ad9999185363a1520434bdc6a775bbb27621f1",
        "2dd93c4f47d506c586b827d75646a4257aafa43e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 19 10:56:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 19 10:56:46 2011 -0700"
      },
      "message": "Merge branch \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: rtc-omap: Fix a leak of the IRQ during init failure\n  posix clocks: Replace mutex with reader/writer semaphore\n"
    },
    {
      "commit": "2ca6f62f595c01f689b269db6736de5544da7667",
      "tree": "bfc4b2225ea1df64542c92dd8336420515072faa",
      "parents": [
        "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 18 23:58:59 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 18 23:58:59 2011 +0200"
      },
      "message": "PM: Fix error code paths executed after failing syscore_suspend()\n\nIf syscore_suspend() fails in suspend_enter(), create_image() or\nresume_target_kernel(), it is necessary to call sysdev_resume(),\nbecause sysdev_suspend() has been called already and succeeded\nand we are going to abort the transition.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c78193e9c7bcbf25b8237ad0dec82f805c4ea69b",
      "tree": "1d0c3c90770acb003af06d727b794eb002d58ec7",
      "parents": [
        "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:35:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:35:30 2011 -0700"
      },
      "message": "next_pidmap: fix overflow condition\n\nnext_pidmap() just quietly accepted whatever \u0027last\u0027 pid that was passed\nin, which is not all that safe when one of the users is /proc.\n\nAdmittedly the proc code should do some sanity checking on the range\n(and that will be the next commit), but that doesn\u0027t mean that the\nhelper functions should just do that pidmap pointer arithmetic without\nchecking the range of its arguments.\n\nSo clamp \u0027last\u0027 to PID_MAX_LIMIT.  The fact that we then do \"last+1\"\ndoesn\u0027t really matter, the for-loop does check against the end of the\npidmap array properly (it\u0027s only the actual pointer arithmetic overflow\ncase we need to worry about, and going one bit beyond isn\u0027t going to\noverflow).\n\n[ Use PID_MAX_LIMIT rather than pid_max as per Eric Biederman ]\n\nReported-by: Tavis Ormandy \u003ctaviso@cmpxchg8b.com\u003e\nAnalyzed-by: Robert Święcki \u003crobert@swiecki.net\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1791f881435fab951939ad700e947b66c062e083",
      "tree": "53739cfe3847e425b9bb64f22bc7526da26a9a0c",
      "parents": [
        "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Wed Mar 30 15:24:21 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 18 10:39:38 2011 +0200"
      },
      "message": "posix clocks: Replace mutex with reader/writer semaphore\n\nA dynamic posix clock is protected from asynchronous removal by a mutex.\nHowever, using a mutex has the unwanted effect that a long running clock\noperation in one process will unnecessarily block other processes.\n\nFor example, one process might call read() to get an external time stamp\ncoming in at one pulse per second. A second process calling clock_gettime\nwould have to wait for almost a whole second.\n\nThis patch fixes the issue by using a reader/writer semaphore instead of\na mutex.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLink: http://lkml.kernel.org/r/%3C20110330132421.GA31771%40riccoc20.at.omicron.at%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d733ed6c34be3aef0517a04e4103eed6b369ec50",
      "tree": "b49723304c48c2f877b9cb284a4b39361934c670",
      "parents": [
        "08150c533c57981054324b9e87dbf686006d890f",
        "49cac01e1fa74174d72adb0e872504a7fefd7c01"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 10:33:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 10:33:41 2011 -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  block: make unplug timer trace event correspond to the schedule() unplug\n  block: let io_schedule() flush the plug inline\n"
    },
    {
      "commit": "fdfc552abe2c465ab91b84fb65f36d86c6737ab4",
      "tree": "8c581c34fcf7e462783b9ce404901ee8ad4a6490",
      "parents": [
        "0ebc115da3ed67409792eb8de46361a5c673f072",
        "0cd9c6494ee5c19aef085152bc37f3a4e774a9e1",
        "e566b76ed30768140df8f0023904aed5a41244f7",
        "b30aef17f71cf9e24b10c11cbb5e5f0ebe8a85ab",
        "92f73a62a100d2068e8f327e573da01529184c18",
        "5bbc097d890409d8eff4e3f1d26f11a9d6b7c07e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 09:45:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 09:45:08 2011 -0700"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027perf-fixes-for-linus\u0027, \u0027sched-fixes-for-linus\u0027, \u0027timer-fixes-for-linus\u0027 and \u0027x86-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: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_event: Fix cgrp event scheduling bug in perf_enable_on_exec()\n  perf: Fix a build error with some GCC versions\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 erroneous all_pinned logic\n  sched: Fix sched-domain avg_load calculation\n\n* \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: rtc-mrst: follow on to the change of rtc_device_register()\n  RTC: add missing \"return 0\" in new alarm func for rtc-bfin.c\n  RTC: Fix s3c compile error due to missing s3c_rtc_setpie\n  RTC: Fix early irqs caused by calling rtc_set_alarm too early\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, amd: Disable GartTlbWlkErr when BIOS forgets it\n  x86, NUMA: Fix fakenuma boot failure\n  x86/mrst: Fix boot crash caused by incorrect pin to irq mapping\n  x86/ce4100: Add reg property to bridges\n"
    },
    {
      "commit": "49cac01e1fa74174d72adb0e872504a7fefd7c01",
      "tree": "a1ab1974eceea3179a604413955ad8369ba715d7",
      "parents": [
        "a237c1c5bc5dc5c76a21be922dca4826f3eca8ca"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:51:05 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:51:05 2011 +0200"
      },
      "message": "block: make unplug timer trace event correspond to the schedule() unplug\n\nIt\u0027s a pretty close match to what we had before - the timer triggering\nwould mean that nobody unplugged the plug in due time, in the new\nscheme this matches very closely what the schedule() unplug now is.\nIt\u0027s essentially the difference between an explicit unplug (IO unplug)\nor an implicit unplug (timer unplug, we scheduled with pending IO\nqueued).\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "a237c1c5bc5dc5c76a21be922dca4826f3eca8ca",
      "tree": "a216c9a6d9e870b84424938e9e0b4722dc8634cd",
      "parents": [
        "5853b4f06f7b9b56f37f457d7923f7b96496074e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:27:55 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:27:55 2011 +0200"
      },
      "message": "block: let io_schedule() flush the plug inline\n\nLinus correctly observes that the most important dispatch cases\nare now done from kblockd, this isn\u0027t ideal for latency reasons.\nThe original reason for switching dispatches out-of-line was to\navoid too deep a stack, so by _only_ letting the \"accidental\"\nflush directly in schedule() be guarded by offload to kblockd,\nwe should be able to get the best of both worlds.\n\nSo add a blk_schedule_flush_plug() that offloads to kblockd,\nand only use that from the schedule() path.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "5853b4f06f7b9b56f37f457d7923f7b96496074e",
      "tree": "8cf850e91b26af25071f00055fa89fb924796de6",
      "parents": [
        "a970f5d513163a305d46f330d0a7d2dd4c4506f1",
        "f6603783f9f099bf7a83b3f6c689bbbf74f0e96e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 08:01:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 08:01:13 2011 -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  block: only force kblockd unplugging from the schedule() path\n  block: cleanup the block plug helper functions\n  block, blk-sysfs: Use the variable directly instead of a function call\n  block: move queue run on unplug to kblockd\n  block: kill queue_sync_plugs()\n  block: readd plug trace event\n  block: add callback function for unplug notification\n  block: add comment on why we save and disable interrupts in flush_plug_list()\n  block: fixup block IO unplug trace call\n  block: remove block_unplug_timer() trace point\n  block: splice plug list to local context\n"
    },
    {
      "commit": "0cd9c6494ee5c19aef085152bc37f3a4e774a9e1",
      "tree": "5d24e41c96d4d80e92213520dd98d05695bc0c03",
      "parents": [
        "a6360dd37e1a144ed11e6548371bade559a1e4df"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhart@linux.intel.com",
        "time": "Thu Apr 14 15:41:57 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 15 16:34:32 2011 +0200"
      },
      "message": "futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup\n\nThe FLAGS_HAS_TIMEOUT flag was not getting set, causing the restart_block to\nrestart futex_wait() without a timeout after a signal.\n\nCommit b41277dc7a18ee332d in 2.6.38 introduced the regression by accidentally\nremoving the the FLAGS_HAS_TIMEOUT assignment from futex_wait() during the setup\nof the restart block. Restore the originaly behavior.\n\nFixes: https://bugzilla.kernel.org/show_bug.cgi?id\u003d32922\n\nReported-by: Tim Smith \u003ctsmith201104@yahoo.com\u003e\nReported-by: Torsten Hilbrich \u003ctorsten.hilbrich@secunet.com\u003e\nSigned-off-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/%3Cdaac0eb3af607f72b9a4d3126b2ba8fb5ed3b883.1302820917.git.dvhart%40linux.intel.com%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6631e635c65dc33cb798cc2f51d0ddd69ada6319",
      "tree": "c71585118b3ddd42b1bf666fef9f96e60b79f757",
      "parents": [
        "a626ca6a656450e9f4df91d0dda238fff23285f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 13 08:08:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 13 08:08:20 2011 -0700"
      },
      "message": "block: don\u0027t flush plugged IO on forced preemtion scheduling\n\nWe really only want to unplug the pending IO when the process actually\ngoes to sleep.  So move the test for flushing the plug up to the place\nwhere we actually deactivate the task - where we have properly checked\nfor preemption and for the process really sleeping.\n\nAcked-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94b5eb28b41cc79d9713696e0005ae167b5afd1b",
      "tree": "404680c86a360bfe623b5a287ee87dd5263b5a8e",
      "parents": [
        "d9c97833179036408e53ef5f3f5c7eaf781769bc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:12:19 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:12:19 2011 +0200"
      },
      "message": "block: fixup block IO unplug trace call\n\nIt was removed with the on-stack plugging, readd it and track the\ndepth of requests added when flushing the plug.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d9c97833179036408e53ef5f3f5c7eaf781769bc",
      "tree": "3c0a6d7942f61fcdbeb029664400c3a9b7d65494",
      "parents": [
        "109b81296c63228578d4760794d8dd46e02eddfb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:06:33 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:06:33 2011 +0200"
      },
      "message": "block: remove block_unplug_timer() trace point\n\nWe no longer have an unplug timer running, so no point in keeping\nthe trace point.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d419e4c0f7584ffc5c72d9aeeaac485cc756ebcf",
      "tree": "6ba462ef5bf4ecc3abed7f1459199259e00c6ab4",
      "parents": [
        "1f112cee07b314e244ee9e71d9c1e6950dc13327"
      ],
      "author": {
        "name": "Shriram Rajagopalan",
        "email": "rshriram@cs.ubc.ca",
        "time": "Mon Apr 11 22:54:48 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:48 2011 +0200"
      },
      "message": "fix XEN_SAVE_RESTORE Kconfig dependencies\n\nMake XEN_SAVE_RESTORE select HIBERNATE_CALLBACKS.\nRemove XEN_SAVE_RESTORE dependency from PM_SLEEP.\n\nSigned-off-by: Shriram Rajagopalan \u003crshriram@cs.ubc.ca\u003e\nAcked-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "1f112cee07b314e244ee9e71d9c1e6950dc13327",
      "tree": "e089e646c78701e37b4ebe00db36082e47cab2d5",
      "parents": [
        "b42282e5a05018ecdc0d63a4ad530b0999785912"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "message": "PM / Hibernate: Introduce CONFIG_HIBERNATE_CALLBACKS\n\nXen save/restore is going to use hibernate device callbacks for\nquiescing devices and putting them back to normal operations and it\nwould need to select CONFIG_HIBERNATION for this purpose.  However,\nthat also would cause the hibernate interfaces for user space to be\nenabled, which might confuse user space, because the Xen kernels\ndon\u0027t support hibernation.  Moreover, it would be wasteful, as it\nwould make the Xen kernels include a substantial amount of code that\nthey would never use.\n\nTo address this issue introduce new power management Kconfig option\nCONFIG_HIBERNATE_CALLBACKS, such that it will only select the code\nthat is necessary for the hibernate device callbacks to work and make\nCONFIG_HIBERNATION select it.  Then, Xen save/restore will be able to\nselect CONFIG_HIBERNATE_CALLBACKS without dragging the entire\nhibernate code along with it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: Shriram Rajagopalan \u003crshriram@cs.ubc.ca\u003e\n"
    },
    {
      "commit": "b30aef17f71cf9e24b10c11cbb5e5f0ebe8a85ab",
      "tree": "0e5e0e0d1d93edf934f58b116ee0c4e81db01e72",
      "parents": [
        "b0432d8f162c7d5d9537b4cb749d44076b76a783"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Fri Apr 08 12:20:16 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 11:08:54 2011 +0200"
      },
      "message": "sched: Fix erroneous all_pinned logic\n\nThe scheduler load balancer has specific code to deal with cases of\nunbalanced system due to lots of unmovable tasks (for example because of\nhard CPU affinity). In those situation, it excludes the busiest CPU that\nhas pinned tasks for load balance consideration such that it can perform\nsecond 2nd load balance pass on the rest of the system.\n\nThis all works as designed if there is only one cgroup in the system.\n\nHowever, when we have multiple cgroups, this logic has false positives and\ntriggers multiple load balance passes despite there are actually no pinned\ntasks at all.\n\nThe reason it has false positives is that the all pinned logic is deep in\nthe lowest function of can_migrate_task() and is too low level:\n\nload_balance_fair() iterates each task group and calls balance_tasks() to\nmigrate target load. Along the way, balance_tasks() will also set a\nall_pinned variable. Given that task-groups are iterated, this all_pinned\nvariable is essentially the status of last group in the scanning process.\nTask group can have number of reasons that no load being migrated, none\ndue to cpu affinity. However, this status bit is being propagated back up\nto the higher level load_balance(), which incorrectly think that no tasks\nwere moved.  It kick off the all pinned logic and start multiple passes\nattempt to move load onto puller CPU.\n\nTo fix this, move the all_pinned aggregation up at the iterator level.\nThis ensures that the status is aggregated over all task-groups, not just\nlast one in the list.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/BANLkTi\u003dernzNawaR5tJZEsV_QVnfxqXmsQ@mail.gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b0432d8f162c7d5d9537b4cb749d44076b76a783",
      "tree": "98b94ec55f6d18935aedbc9ab898705ad252b939",
      "parents": [
        "4263a2f1dad8c8e7ce2352a0cbc882c2b0c044a9"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Thu Apr 07 17:23:22 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 11:08:54 2011 +0200"
      },
      "message": "sched: Fix sched-domain avg_load calculation\n\nIn function find_busiest_group(), the sched-domain avg_load isn\u0027t\ncalculated at all if there is a group imbalance within the domain. This\nwill cause erroneous imbalance calculation.\n\nThe reason is that calculate_imbalance() sees sds-\u003eavg_load \u003d 0 and it\nwill dump entire sds-\u003emax_load into imbalance variable, which is used\nlater on to migrate entire load from busiest CPU to the puller CPU.\n\nThis has two really bad effect:\n\n1. stampede of task migration, and they won\u0027t be able to break out\n   of the bad state because of positive feedback loop: large load\n   delta -\u003e heavier load migration -\u003e larger imbalance and the cycle\n   goes on.\n\n2. severe imbalance in CPU queue depth.  This causes really long\n   scheduling latency blip which affects badly on application that\n   has tight latency requirement.\n\nThe fix is to have kernel calculate domain avg_load in both cases. This\nwill ensure that imbalance calculation is always sensible and the target\nis usually half way between busiest and puller CPU.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20110408002322.3A0D812217F@elm.corp.google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e566b76ed30768140df8f0023904aed5a41244f7",
      "tree": "5d8fa756453cb6f60554c6c253a3cf2a01945628",
      "parents": [
        "621d26567fd0c222f419e3b5ddf39e529e0fdcb3"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Wed Apr 06 02:54:54 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 11:07:55 2011 +0200"
      },
      "message": "perf_event: Fix cgrp event scheduling bug in perf_enable_on_exec()\n\nThere is a bug in perf_event_enable_on_exec() when cgroup events are\nactive on a CPU: the cgroup events may be scheduled twice causing event\nstate corruptions which eventually may lead to kernel panics.\n\nThe reason is that the function needs to first schedule out the cgroup\nevents, just like for the per-thread events. The cgroup event are\nscheduled back in automatically from the perf_event_context_sched_in()\nfunction.\n\nThe patch also adds a WARN_ON_ONCE() is perf_cgroup_switch() to catch any\nbogus state.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110406005454.GA1062@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9fa0bc1fabe1d861e46d80ecbe7e85da359195c",
      "tree": "7d90bcd4b78f22a72ea4d3102b8e2714b78d1e43",
      "parents": [
        "bb3c90f0de7b34995b5e35cf5dc97a3d428b3761"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Apr 08 10:53:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 08 11:05:24 2011 -0700"
      },
      "message": "signal.c: fix erroneous syscall kernel-doc\n\nFix erroneous syscall kernel-doc comments in kernel/signal.c.\n\nReported-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b9686ff4ddfdf45662024edd567920e6db87beb",
      "tree": "1d7e1d735121ea3c44ab72a24506151e4e88a36e",
      "parents": [
        "df9b29d13e043e134e65b9f66b68fa7eae5db8f0",
        "f994d99cf140dbb637e49882891c89b3fd84becd",
        "49c022e657fbe661460d191fbe776a387132e2b3",
        "09552b2696896dbb715be0caf91b23276f9139ba",
        "4f5058c3b71ed5930bb2b478c4d5dbc799dd9ad1",
        "f64fac86f9cd375743ed34385efc8a7732fa8e7b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 12:12:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 12:12:58 2011 -0700"
      },
      "message": "Merge branches \u0027x86-fixes-for-linus\u0027, \u0027sched-fixes-for-linus\u0027, \u0027timers-fixes-for-linus\u0027, \u0027irq-fixes-for-linus\u0027 and \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-32, fpu: Fix FPU exception handling on non-SSE systems\n  x86, hibernate: Initialize mmu_cr4_features during boot\n  x86-32, NUMA: Fix ACPI NUMA init broken by recent x86-64 change\n  x86: visws: Fixup irq overhaul fallout\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Clean up rebalance_domains() load-balance interval calculation\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86/mrst/vrtc: Fix boot crash in mrst_rtc_init()\n  rtc, x86/mrst/vrtc: Fix boot crash in rtc_read_alarm()\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Fix cpumask leak in __setup_irq()\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf probe: Fix listing incorrect line number with inline function\n  perf probe: Fix to find recursively inlined function\n  perf probe: Fix multiple --vars options behavior\n  perf probe: Fix to remove redundant close\n  perf probe: Fix to ensure function declared file\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "49c022e657fbe661460d191fbe776a387132e2b3",
      "tree": "487b713816a5ff3d81437aeecf111ffa414f6ede",
      "parents": [
        "b2a8b4b81966094703088a7bc76a313af841924d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 10:14:25 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 05 10:29:36 2011 +0200"
      },
      "message": "sched: Clean up rebalance_domains() load-balance interval calculation\n\nInstead of the possible multiple-evaluation of num_online_cpus()\nin rebalance_domains() that Linus reported, avoid it altogether\nin the normal case since it\u0027s implemented with a Hamming weight\nfunction over a cpu bitmask which can be darn expensive for those\nwith big iron.\n\nThis also makes it cleaner, smaller and documents the code.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1301991265.2225.12.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41c57892a2895865afc89ff1a21f91a0f1506f66",
      "tree": "ca637f0e7f4ec93b9c6f58c5868c27305a58da43",
      "parents": [
        "5aba085ededa6c5a1ff465e2aebc3e8eb00a7567"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Apr 04 15:00:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 17:51:46 2011 -0700"
      },
      "message": "kernel/signal.c: add kernel-doc notation to syscalls\n\nAdd kernel-doc to syscalls in signal.c.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5aba085ededa6c5a1ff465e2aebc3e8eb00a7567",
      "tree": "61037c7906bc6334823bc75d1fa0b990aeadcea3",
      "parents": [
        "21b86bd5a838ee882d36d354185e29650b0757dd"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Apr 04 14:59:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 17:51:46 2011 -0700"
      },
      "message": "kernel/signal.c: fix typos and coding style\n\nGeneral coding style and comment fixes; no code changes:\n\n - Use multi-line-comment coding style.\n - Put some function signatures completely on one line.\n - Hyphenate some words.\n - Spell Posix as POSIX.\n - Correct typos \u0026 spellos in some comments.\n - Drop trailing whitespace.\n - End sentences with periods.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "148086bb64694cc91624bab2a550d50f800eb4b7",
      "tree": "77e208ccee6fc97c608f6d827e2605345bf3b20d",
      "parents": [
        "4da7e90e653d67dfd405868246d316b04852e2d5",
        "3436ae1298cb22d722a6520fc97f112dd767a9e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:58 2011 -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 rebalance interval calculation\n  sched, doc: Beef up load balancing description\n  sched: Leave sched_setscheduler() earlier if possible, do not disturb SCHED_FIFO tasks\n"
    },
    {
      "commit": "4da7e90e653d67dfd405868246d316b04852e2d5",
      "tree": "735707a0b9f0c212776717ec8bc95735ff6a1d01",
      "parents": [
        "fb9a7d76da108d120efb2258ea83b18dbbb2ecdd",
        "fd1edb3aa2c1d92618d8f0c6d15d44ea41fcac6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:40 2011 -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: Fix task_struct reference leak\n  perf: Fix task context scheduling\n  perf: mmap 512 kiB by default\n  perf: Rebase max unprivileged mlock threshold on top of page size\n  perf tools: Fix NO_NEWT\u003d1 python build error\n  perf symbols: Properly align symbol_conf.priv_size\n  perf tools: Emit clearer message for sys_perf_event_open ENOENT return\n  perf tools: Fixup exit path when not able to open events\n  perf symbols: Fix vsyscall symbol lookup\n  oprofile, x86: Allow setting EDGE/INV/CMASK for counter events\n"
    },
    {
      "commit": "4352d9d44b935e4d000be6ec89ddb55c2bf35f24",
      "tree": "26b9d37f5a41b4c01d800a444ad230eafb48e47a",
      "parents": [
        "b3b896c73b4b04b506816a09994192e3a54f0fef"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Mon Apr 04 08:31:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:31:23 2011 -0700"
      },
      "message": "ntp: fix non privileged system time shifting\n\nThe ADJ_SETOFFSET bit added in commit 094aa188 (\"ntp: Add ADJ_SETOFFSET\nmode bit\") also introduced a way for any user to change the system time.\nSneaky or buggy calls to adjtimex() could set\n\n    ADJ_OFFSET_SS_READ | ADJ_SETOFFSET\n\nwhich would result in a successful call to timekeeping_inject_offset().\nThis patch fixes the issue by adding the capability check.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f5058c3b71ed5930bb2b478c4d5dbc799dd9ad1",
      "tree": "5c756cbcd329d62fb95744185b54c952eed903df",
      "parents": [
        "78fca1b95837a44983608302e89c7258981be9b3"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Sat Apr 02 19:39:35 2011 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 02 21:26:20 2011 +0200"
      },
      "message": "genirq: Fix cpumask leak in __setup_irq()\n\nThe allocated cpumask should be freed in __setup_irq().\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nLKML-Reference: \u003c1301744375-6812-1-git-send-email-dfeng@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c0bb9e45f3a7f67fc358946727bc3d5f23d0f55d",
      "tree": "55b320cd26722eb6e201110b4aceddfa15983722",
      "parents": [
        "76d479a7caff58b1e5f31d80805f7f65f9177696"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Aug 25 10:22:58 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Apr 01 16:14:30 2011 +1100"
      },
      "message": "kdump: Allow shrinking of kdump region to be overridden\n\nOn ppc64 the crashkernel region almost always overlaps an area of firmware.\nThis works fine except when using the sysfs interface to reduce the kdump\nregion. If we free the firmware area we are guaranteed to crash.\n\nRename free_reserved_phys_range to crash_free_reserved_phys_range and make\nit a weak function so we can override it.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "fd1edb3aa2c1d92618d8f0c6d15d44ea41fcac6a",
      "tree": "ae456f2e42966042790809d7590c31736aa05557",
      "parents": [
        "ab711fe08297de1485fff0a366e6db8828cafd6a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 28 13:13:56 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:02:56 2011 +0200"
      },
      "message": "perf: Fix task_struct reference leak\n\nsys_perf_event_open() had an imbalance in the number of task refs it\ntook causing memory leakage\n\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: stable@kernel.org # .37+\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "20443384fe090c5f8aeb016e7e85659c5bbdd69f",
      "tree": "c023e471d96f1c7d5e344f4b6ae7bfb8db0e1937",
      "parents": [
        "652d78fd7a9ebd881290d6bbbc85925c06b907b4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 31 03:33:29 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:02:54 2011 +0200"
      },
      "message": "perf: Rebase max unprivileged mlock threshold on top of page size\n\nEnsure we allow 512 kiB + 1 page for user control without\nassuming a 4096 bytes page size.\n\nReported-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1301535209-9679-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3436ae1298cb22d722a6520fc97f112dd767a9e1",
      "tree": "ba05a2b0a80157f9eb19e34b0ac54b9dd279600b",
      "parents": [
        "e2495b577324938f0209b4f895c5f205c7e47854"
      ],
      "author": {
        "name": "Sisir Koppaka",
        "email": "sisir.koppaka@gmail.com",
        "time": "Sat Mar 26 18:22:55 2011 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:00:37 2011 +0200"
      },
      "message": "sched: Fix rebalance interval calculation\n\nThe interval for checking scheduling domains if they are due to be\nbalanced currently depends on boot state NR_CPUS, which may not\naccurately reflect the number of online CPUs at the time of check.\n\nThus replace NR_CPUS with num_online_cpus().\n\n (ed: Should only affect those who set NR_CPUS really high, such as 4096\n      or so :-)\n\nSigned-off-by: Sisir Koppaka \u003csisir.koppaka@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cAANLkTikqHWid2Q93F5U5Qw5snJH8C5PXoa7J6\u003d6hYO94@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a51e91981870d013fcfcc08b0117997edbcbc7a7",
      "tree": "6e673d3b27f6150dd2723d773a8704657e5bb261",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Dario Faggioli",
        "email": "raistlin@linux.it",
        "time": "Thu Mar 24 14:00:18 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:00:34 2011 +0200"
      },
      "message": "sched: Leave sched_setscheduler() earlier if possible, do not disturb SCHED_FIFO tasks\n\nsched_setscheduler() (in sched.c) is called in order of changing the\nscheduling policy and/or the real-time priority of a task. Thus,\nif we find out that neither of those are actually being modified, it\nis possible to return earlier and save the overhead of a full\ndeactivate+activate cycle of the task in question.\n\nBeside that, if we have more than one SCHED_FIFO task with the same\npriority on the same rq (which means they share the same priority queue)\nhaving one of them changing its position in the priority queue because of\na sched_setscheduler (as it happens by means of the deactivate+activate)\nthat does not actually change the priority violates POSIX which states,\nfor SCHED_FIFO:\n\n  \"If a thread whose policy or priority has been modified by\n   pthread_setschedprio() is a running thread or is runnable, the effect on\n   its position in the thread list depends on the direction of the\n   modification, as follows: a. \u003c...\u003e b. If the priority is unchanged, the\n   thread does not change position in the thread list. c. \u003c...\u003e\"\n\n     http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_08.html\n\n (ed: And the POSIX specification here does, briefly and somewhat unexpectedly,\n      match what common sense tells us as well. )\n\nSigned-off-by: Dario Faggioli \u003craistlin@linux.it\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1300971618.3960.82.camel@Palantir\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "78c89825649a9a5ed526c507603196f467d781a5",
      "tree": "eb2485baf085f7a6820c6b9030dfa3d733591aa3",
      "parents": [
        "e282326600f31ab38d8814fd6deb277a48850c35"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 30 14:13:23 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 30 14:13:23 2011 +0200"
      },
      "message": "genirq: Remove the now obsolete config options and select statements\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "353c8ed44f8f7414be614685ed29d1e23f5fa76b",
      "tree": "215ed76c15b6d95f7444fc845635253628dc33ba",
      "parents": [
        "0ce790e7d736cedc563e1fb4e998babf5a4dbc3d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 22:18:28 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 22:24:05 2011 +0200"
      },
      "message": "genirq: Fix misnamed label in handle_edge_eoi_irq\n\nReported-by: michael@ellerman.id.au\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: linuxppc-dev@lists.ozlabs.org\n"
    },
    {
      "commit": "851d7cf647e0d31668eb5dc496f7698a2f6136b4",
      "tree": "15a292814827ef43cbfa6d28e41c7058bf71ebf7",
      "parents": [
        "0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 02:51:13 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:50:32 2011 +0200"
      },
      "message": "genirq: Remove move_*irq leftovers\n\nAll users converted to new interface.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1",
      "tree": "b4b0cb4b619368bc93ff883f4b667e05a185549b",
      "parents": [
        "dced35aeb0367dda2636ee9ee914bda14510dcc9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 13:32:20 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:48:19 2011 +0200"
      },
      "message": "genirq: Remove compat code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a6e120ed42004d6051fff7c3233e2554f12ccecb",
      "tree": "dd0210b2f78a5fca1b24fe8211d5dbaac9434a6b",
      "parents": [
        "a9eb076b21425929ce543978db03265d9db210de"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 25 22:20:51 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:47:58 2011 +0200"
      },
      "message": "alpha: Use generic show_interrupts()\n\nThe only subtle difference is that alpha uses ACTUAL_NR_IRQS and\nprints the IRQF_DISABLED flag.\n\nChange the generic implementation to deal with ACTUAL_NR_IRQS if\ndefined.\n\nThe IRQF_DISABLED printing is pointless, as we nowadays run all\ninterrupts with irqs disabled.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cd22c0e44b105aecd78e5f9e77abab3a1b8dc00c",
      "tree": "98be0a3bdb0fcc9ff7f31e774a4c69d655d19041",
      "parents": [
        "89078d572eb9ce8d4c04264b8b0ba86de0d74c8f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 11:36:05 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 11:36:05 2011 +0200"
      },
      "message": "genirq: Fix harmless typo\n\nThe late night fixup missed to convert the data type from irq_desc to\nirq_data, which results in a harmless but annoying warning.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e5217fb8ae5527e95cff9474f7b3c0d8e3a35fea",
      "tree": "eb85a4b7b02fb49a3534a976f79a3798393f7fc6",
      "parents": [
        "5ede9ddfba424b5dad96e7ccd55607875a64ff6c",
        "8ec4ad2bebd1dd7e782bd1a1ac4c5e17ceb2ff81",
        "0ef5ca1e1f0de71300142b8f730f26ded6a0c2f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 17:39:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 17:39:54 2011 -0700"
      },
      "message": "Merge branches \u0027irq-cleanup-for-linus\u0027 and \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  vlynq: Convert irq functions\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq; Fix cleanup fallout\n  genirq: Fix typo and remove unused variable\n  genirq: Fix new kernel-doc warnings\n  genirq: Add setter for AFFINITY_SET in irq_data state\n  genirq: Provide setter inline for IRQD_IRQ_INPROGRESS\n  genirq: Remove handle_IRQ_event\n  arm: Ns9xxx: Remove private irq flow handler\n  powerpc: cell: Use the core flow handler\n  genirq: Provide edge_eoi flow handler\n  genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data\n  genirq: Split irq_set_affinity() so it can be called with lock held.\n  genirq: Add chip flag for restricting cpu_on/offline calls\n  genirq: Add chip hooks for taking CPUs on/off line.\n  genirq: Add irq disabled flag to irq_data state\n  genirq: Reserve the irq when calling irq_set_chip()\n"
    },
    {
      "commit": "0ef5ca1e1f0de71300142b8f730f26ded6a0c2f3",
      "tree": "f8eb0e5e63b7d3115c27f110e59a762fd871d693",
      "parents": [
        "a6aeddd1c4e464a2150f97ca2d1c3d68cfbd9296"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 21:59:37 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 01:41:22 2011 +0200"
      },
      "message": "genirq; Fix cleanup fallout\n\nI missed the CONFIG_GENERIC_PENDING_IRQ dependency in the affinity\nrelated functions and the IRQ_LEVEL propagation into irq_data\nstate. Did not pop up on my main test platforms. :(\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: David Daney \u003cddaney@caviumnetworks.com\u003e\n"
    },
    {
      "commit": "243b422af9ea9af4ead07a8ad54c90d4f9b6081a",
      "tree": "bdcd77b51cce8bd2ed5fcc41c6b430a8d6a9d74f",
      "parents": [
        "5847098cd896c92819800e17e983bf6530035209"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 28 14:13:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 15:45:44 2011 -0700"
      },
      "message": "Relax si_code check in rt_sigqueueinfo and rt_tgsigqueueinfo\n\nCommit da48524eb206 (\"Prevent rt_sigqueueinfo and rt_tgsigqueueinfo\nfrom spoofing the signal code\") made the check on si_code too strict.\nThere are several legitimate places where glibc wants to queue a\nnegative si_code different from SI_QUEUE:\n\n - This was first noticed with glibc\u0027s aio implementation, which wants\n   to queue a signal with si_code SI_ASYNCIO; the current kernel\n   causes glibc\u0027s tst-aio4 test to fail because rt_sigqueueinfo()\n   fails with EPERM.\n\n - Further examination of the glibc source shows that getaddrinfo_a()\n   wants to use SI_ASYNCNL (which the kernel does not even define).\n   The timer_create() fallback code wants to queue signals with SI_TIMER.\n\nAs suggested by Oleg Nesterov \u003coleg@redhat.com\u003e, loosen the check to\nforbid only the problematic SI_TKILL case.\n\nReported-by: Klaus Dittrich \u003ckladit@arcor.de\u003e\nAcked-by: Julien Tinnes \u003cjln@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6aeddd1c4e464a2150f97ca2d1c3d68cfbd9296",
      "tree": "18350cbcc8aa5619e98e5f56750828da300db537",
      "parents": [
        "30398bf6c684a77274dbdabf7efc1f24e4a99028"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 20:28:56 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 20:28:56 2011 +0200"
      },
      "message": "genirq: Fix typo and remove unused variable\n\nSigh, I\u0027m overworked.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "30398bf6c684a77274dbdabf7efc1f24e4a99028",
      "tree": "d4ee5d514a53fbb8186bdbc726a525bb488c7dcf",
      "parents": [
        "ee38c04b58983a236b43bae71b2415d38bceaf75"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Mar 18 09:33:56 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 20:13:57 2011 +0200"
      },
      "message": "genirq: Fix new kernel-doc warnings\n\nFix new irq-related kernel-doc warnings in 2.6.38:\n\nWarning(kernel/irq/manage.c:149): No description found for parameter \u0027mask\u0027\nWarning(kernel/irq/manage.c:149): Excess function parameter \u0027cpumask\u0027 description in \u0027irq_set_affinity\u0027\nWarning(include/linux/irq.h:161): No description found for parameter \u0027state_use_accessors\u0027\nWarning(include/linux/irq.h:161): Excess struct/union/enum/typedef member \u0027state_use_accessor\u0027 description in \u0027irq_data\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nLKML-Reference: \u003c20110318093356.b939558d.randy.dunlap@oracle.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "33b054b867b84015173a38d9cd9ff513b6498818",
      "tree": "341f935d57af66fe82d384940b577fa9215ce5e6",
      "parents": [
        "6829310548a76d343205029bb41c14e75bf6a7fb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:27:31 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:55:11 2011 +0200"
      },
      "message": "genirq: Remove handle_IRQ_event\n\nLast user gone.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0521c8fbb3da45c2a58cd551ca6e9644983f6028",
      "tree": "d2ed3452a75f1d3ff516cd02c86f4371db81e06e",
      "parents": [
        "32f4125ebffee4f3c4dbc6a437fc656129eb9e60"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:13:24 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:55:11 2011 +0200"
      },
      "message": "genirq: Provide edge_eoi flow handler\n\nThis is a replacment for the cell flow handler which is in the way of\ncleanups. Must be selected to avoid general bloat.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "32f4125ebffee4f3c4dbc6a437fc656129eb9e60",
      "tree": "d64c6bb7ba40c33734896303734416ea5b4f3290",
      "parents": [
        "c2d0c555c22242c3a76e366074c4d83ef9fa3b8c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 14:10:52 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:55:10 2011 +0200"
      },
      "message": "genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data\n\nWe really need these flags for some of the interrupt chips. Move it\nfrom internal state to irq_data and provide proper accessors.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: David Daney \u003cddaney@caviumnetworks.com\u003e\n"
    },
    {
      "commit": "c2d0c555c22242c3a76e366074c4d83ef9fa3b8c",
      "tree": "7426945b566129163639229fa0a5f420cdce13a8",
      "parents": [
        "b3d422329f2e061d66af4f933ef316e50e5edcac"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Mar 25 12:38:50 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:59 2011 +0200"
      },
      "message": "genirq: Split irq_set_affinity() so it can be called with lock held.\n\nThe .irq_cpu_online() and .irq_cpu_offline() functions may need to\nadjust affinity, but they are called with the descriptor lock held.\nCreate __irq_set_affinity_locked() which is called with the lock held.\nMake irq_set_affinity() just a wrapper that acquires the lock.\n\n[ tglx: Changed the argument to irq_data, added a !desc check and\n        moved the !irq_set_affinity check where it belongs ]\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: linux-mips@linux-mips.org\nCc: ralf@linux-mips.org\nLKML-Reference: \u003c1301081931-11240-4-git-send-email-ddaney@caviumnetworks.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b3d422329f2e061d66af4f933ef316e50e5edcac",
      "tree": "530100dd1733e24a017f4b3df4959c667369d236",
      "parents": [
        "0fdb4b259ed3e91b687ac26848202f5e7c217e62"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 16:05:36 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:58 2011 +0200"
      },
      "message": "genirq: Add chip flag for restricting cpu_on/offline calls\n\nAdd a flag which indicates that the on/offline callback should only be\ncalled on enabled interrupts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0fdb4b259ed3e91b687ac26848202f5e7c217e62",
      "tree": "52503c0c5c35f95ab88a9867fc46c43fc7d9c200",
      "parents": [
        "801a0e9ae36e9b487092e31699d28c0b9a21ad52"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Mar 25 12:38:49 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:58 2011 +0200"
      },
      "message": "genirq: Add chip hooks for taking CPUs on/off line.\n\n[ tglx: Removed the enabled argument as this is now available in\nirq_data ]\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: linux-mips@linux-mips.org\nCc: ralf@linux-mips.org\nLKML-Reference: \u003c1301081931-11240-3-git-send-email-ddaney@caviumnetworks.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "801a0e9ae36e9b487092e31699d28c0b9a21ad52",
      "tree": "c448d150797272b09417f5410e7570742e59368b",
      "parents": [
        "d72274e5895d11570a0a4a3214a1933c86d5ccb7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 11:02:49 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:58 2011 +0200"
      },
      "message": "genirq: Add irq disabled flag to irq_data state\n\nSome irq_chip implementation require to know the disabled state of the\ninterrupt in certain callbacks. Add a state flag and accessor to\nirq_data.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d72274e5895d11570a0a4a3214a1933c86d5ccb7",
      "tree": "3925786563e67241cc5798ebbbcf79c0ce738f69",
      "parents": [
        "16c29dafcc86024048f1dbb8349d31cb22c7c55a"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Mar 25 12:38:48 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:58 2011 +0200"
      },
      "message": "genirq: Reserve the irq when calling irq_set_chip()\n\nThe helper macros and functions like for_each_active_irq() don\u0027t work\nunless the irq is in the allocated_irqs set.\n\nIn the case of !CONFIG_SPARSE_IRQ, instead of forcing all users of the\nirq infrastructure to explicitly call irq_reserve_irq(), do it for\nthem.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: linux-mips@linux-mips.org\nCc: ralf@linux-mips.org\nLKML-Reference: \u003c1301081931-11240-2-git-send-email-ddaney@caviumnetworks.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "16c29dafcc86024048f1dbb8349d31cb22c7c55a",
      "tree": "100c4fd34903adf02c9b8ae7705a3e1f30c8d712",
      "parents": [
        "dc50eddb2f3a0dff365f093b2a93fb4ab4dd4389",
        "d47d81c0e9abdc3c88653fabff5beae82c949b09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 21:07:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 25 21:07:59 2011 -0700"
      },
      "message": "Merge branch \u0027syscore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027syscore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  Introduce ARCH_NO_SYSDEV_OPS config option (v2)\n  cpufreq: Use syscore_ops for boot CPU suspend/resume (v2)\n  KVM: Use syscore_ops instead of sysdev class and sysdev\n  PCI / Intel IOMMU: Use syscore_ops instead of sysdev class and sysdev\n  timekeeping: Use syscore_ops instead of sysdev class and sysdev\n  x86: Use syscore_ops instead of sysdev classes and sysdevs\n"
    }
  ],
  "next": "95e14ed7fc4b2db62eb597a70850a0fede48b78a"
}
