)]}'
{
  "log": [
    {
      "commit": "38f57d1a4b4c13db92c7f6300a4e4ae70ff94d2b",
      "tree": "863023d589e15068c851c4a1f3be5de47395dfe1",
      "parents": [
        "5957b1ac52c5fde2afe5d80abe2a1cb82a9b4f20"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 17:59:14 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:49 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(in6_dev_finish_destroy_rcu) to kfree_rcu()\n\nThe rcu callback in6_dev_finish_destroy_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(in6_dev_finish_destroy_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "5957b1ac52c5fde2afe5d80abe2a1cb82a9b4f20",
      "tree": "1b0a04a440d272fe925afd9cfe597bbc509c57bd",
      "parents": [
        "f5c8593c107500979909bd51c85e74bb2eaffbaa"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 17:58:00 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:48 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(tcf_police_free_rcu) to kfree_rcu()\n\n[PATCH 05/17] net,rcu: convert call_rcu(tcf_police_free_rcu) to kfree_rcu()\n\nThe rcu callback tcf_police_free_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(tcf_police_free_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "f5c8593c107500979909bd51c85e74bb2eaffbaa",
      "tree": "af8a93c758fa2de9eaa8eed7110fe835efe62d23",
      "parents": [
        "025cea99db3fb110ebc8ede5ff647833fab9574f"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 17:57:04 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:48 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(tcf_common_free_rcu) to kfree_rcu()\n\nThe rcu callback tcf_common_free_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(tcf_common_free_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "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": "b0c9d7ff2793502650ad987c3f237d5fe5587a1e",
      "tree": "04a19658925baa1eda66bad18d8a2ebd061ddac5",
      "parents": [
        "fc2ecf7ec76c5ee150b83dcefc863fa03fd365fb"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Mar 29 12:56:56 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 DEBUG_OBJECTS_RCU_HEAD check for alignment\n\nVerify that rcu_head structures are aligned to a four-byte boundary.\nThis check is enabled by CONFIG_DEBUG_OBJECTS_RCU_HEAD.\n\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": "90e6ac3657fd3b0446d585082000af3cf46439a7",
      "tree": "1b7e4beb5f649e8a7c7562d2ef557739ad1a2a1e",
      "parents": [
        "4a29865689dbb87a02e3b0fff4a4ae5041273173"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Apr 06 15:20:47 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:56 2011 -0700"
      },
      "message": "rcu: update tracing documentation for new rcutorture and rcuboost\n\nThis commit documents the new debugfs rcu/rcutorture and rcu/rcuboost\ntrace files.  The description has been updated as suggested by Josh\nTriplett.\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": "2fa218d8bbcff239302f9f36e19d7187077dd636",
      "tree": "da5d352856fb52289ad2bded0ab55df7484568b6",
      "parents": [
        "0ea1f2ebeb217d38770aebf91c4ecaa8e01b3305"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Mar 27 21:37:58 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 05 23:16:56 2011 -0700"
      },
      "message": "rcu: Update RCU\u0027s trace.txt documentation for new format\n\nThe trace.txt file had obsolete output for the debugfs rcu/rcudata\nfile, so update it.\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": "0ee5623f9a6e52df90a78bd21179f8ab370e102e",
      "tree": "1101e32d7b8b1bc5b89b7d725828abd681c1e6c7",
      "parents": [
        "d2af6768f6128a682e7490d04e2f3d660bd6fb76"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 19:59:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 19:59:13 2011 -0700"
      },
      "message": "Linux 2.6.39-rc6\n"
    },
    {
      "commit": "d2af6768f6128a682e7490d04e2f3d660bd6fb76",
      "tree": "6f25a84cd251a605b103111d1bd615bfb13b9ae2",
      "parents": [
        "cce2c56e7666199916525907dc817209dd58287c",
        "8aeb96f80232e9a701b5c4715504f4c9173978bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 18:52:09 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 18:52:09 2011 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/radeon/kms: fix gart setup on fusion parts (v2)\n  drm: Send pending vblank events before disabling vblank.\n  drm/radeon: fix regression on atom cards with hardcoded EDID record.\n  drm/radeon/kms: add some new pci ids\n"
    },
    {
      "commit": "8aeb96f80232e9a701b5c4715504f4c9173978bd",
      "tree": "59852e4f90221689eef0ed0ae8b7ff51e598b90a",
      "parents": [
        "498548ec69c6897fe4376b2ca90758762fa0b817"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Tue May 03 19:28:02 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed May 04 10:16:40 2011 +1000"
      },
      "message": "drm/radeon/kms: fix gart setup on fusion parts (v2)\n\nOut of the entire GART/VM subsystem, the hw designers changed\nthe location of 3 regs.\n\nv2: airlied: add parameter for userspace to work from.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "498548ec69c6897fe4376b2ca90758762fa0b817",
      "tree": "9e7fa6f5d7e58ab2acb688c7a9e4653856cf4e49",
      "parents": [
        "eaa4f5e1d0b816291a59a47917e569c0384f2b6f"
      ],
      "author": {
        "name": "Christopher James Halse Rogers",
        "email": "christopher.halse.rogers@canonical.com",
        "time": "Wed Apr 27 16:10:57 2011 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed May 04 10:11:55 2011 +1000"
      },
      "message": "drm: Send pending vblank events before disabling vblank.\n\nThis is the least-bad behaviour.  It means that we signal the\nvblank event before it actually happens, but since we\u0027re disabling\nvblanks there\u0027s no guarantee that it will *ever* happen otherwise.\n\nThis prevents GL applications which use WaitMSC from hanging\nindefinitely.\n\nSigned-off-by: Christopher James Halse Rogers \u003cchristopher.halse.rogers@canonical.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "eaa4f5e1d0b816291a59a47917e569c0384f2b6f",
      "tree": "befbb663805892aeccb458de70316d9d723abbc2",
      "parents": [
        "e2c85d8e3974c9041ad7b080846b28d2243e771b"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Sun May 01 20:16:30 2011 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed May 04 09:29:25 2011 +1000"
      },
      "message": "drm/radeon: fix regression on atom cards with hardcoded EDID record.\n\nSince fafcf94e2b5732d1e13b440291c53115d2b172e9 introduced an edid size, it seems to have broken this path.\n\nThis manifest as oops on T500 Lenovo laptops with dual graphics primarily.\n\nFixes: https://bugzilla.kernel.org/show_bug.cgi?id\u003d33812\n\ncc: stable@kernel.org\nReviewed-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "e2c85d8e3974c9041ad7b080846b28d2243e771b",
      "tree": "f125faf647ac4bef10758a5294531ccd88564526",
      "parents": [
        "609cfda586c7fe3e5d1a02c51edb587506294167"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Tue May 03 15:15:55 2011 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed May 04 09:28:59 2011 +1000"
      },
      "message": "drm/radeon/kms: add some new pci ids\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "cce2c56e7666199916525907dc817209dd58287c",
      "tree": "555a0ae78da2148b37c585cd4477047376b0bde9",
      "parents": [
        "609cfda586c7fe3e5d1a02c51edb587506294167"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 16:10:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 16:10:25 2011 -0700"
      },
      "message": "logfs: initialize superblock entries earlier\n\nIn particular, s_freeing_list needs to be initialized early, since it is\nused on some of the error paths when mounts fail.  The mapping inode,\nfor example, would be initialized and then free\u0027d on an error path\nbefore s_freeing_list was initialized, but the inode drop operation\nneeds the s_freeing_list to be set up.\n\nNormally you\u0027d never see this, because not only is logfs fairly rare,\nbut a successful mount will never have any issues.\n\nReported-by: werner \u003cw.landgraf@ru.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "609cfda586c7fe3e5d1a02c51edb587506294167",
      "tree": "cc852bb08c070aa89cd9cf0aebe810c65e38352a",
      "parents": [
        "9a6cd4b45a1372b04bb4c3307f1ce79a0a2e2fa9",
        "b9269dc7bfdf8c985971c09f2dcb2aa04ad7986d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 09:25:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 09:25:42 2011 -0700"
      },
      "message": "Merge branch \u0027stable/bug-fixes-for-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/bug-fixes-for-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen: mask_rw_pte mark RO all pagetable pages up to pgt_buf_top\n  xen/mmu: Add workaround \"x86-64, mm: Put early page table high\"\n"
    },
    {
      "commit": "9a6cd4b45a1372b04bb4c3307f1ce79a0a2e2fa9",
      "tree": "d4672f9b0388ab49f8e279e9fd69b682549e002c",
      "parents": [
        "bab0dcc717e28f76f10337a26ed5a14adcd786ce",
        "0c9c99a765321104cc5f9c97f949382a9ba4927e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 09:24:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 09:24:44 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:\n  mmc: sdhci: Check mrq !\u003d NULL in sdhci_tasklet_finish\n  mmc: sdhci: Check mrq-\u003ecmd in sdhci_tasklet_finish\n  mmc: tmio: fix .set_ios(MMC_POWER_UP) handling\n  mmc: fix a race between card-detect rescan and clock-gate work instances\n  mmc: omap: Fix possible NULL pointer deref\n  mmc: core: mmc_add_card(): fix missing break in switch statement\n  mmc: sdhci-pci: Fix error case in sdhci_pci_probe_slot()\n"
    },
    {
      "commit": "bab0dcc717e28f76f10337a26ed5a14adcd786ce",
      "tree": "78fb4b44b72705eb53afc5ce556c17f4f4e5c15c",
      "parents": [
        "497ff0344432d1c4ab493ce163a87410064b8d91",
        "7806a49ab625ebeb1709e5e87299b64932b807a7",
        "94b2c363dcf732a4edab4ed66041cb36e7f28fbf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 09:23:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 03 09:23:44 2011 -0700"
      },
      "message": "Merge branches \u0027x86-fixes-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* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, reboot: Fix relocations in reboot_32.S\n  x86, NUMA: Fix empty memblk detection in numa_cleanup_meminfo()\n  x86, AMD: Fix APIC timer erratum 400 affecting K8 Rev.A-E processors\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 typo CONFIG_GENIRC_IRQ_SHOW_LEVEL\n"
    },
    {
      "commit": "497ff0344432d1c4ab493ce163a87410064b8d91",
      "tree": "fbb4f5038622f475bf40d61047b3c3cf44a3d068",
      "parents": [
        "5933f2ae353a93b1d3b501bc63c925531849bbc7",
        "bf283707d5fb174ec09215ae19860ad04ba7b67a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 20:26:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 20:26:32 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: wm831x-ts - move BTN_TOUCH reporting to data transfer\n  Input: wm831x-ts - allow IRQ flags to be specified\n  Input: wm831x-ts - fix races with IRQ management\n"
    },
    {
      "commit": "5933f2ae353a93b1d3b501bc63c925531849bbc7",
      "tree": "4b21f6a2e5f252651827c8cb7c9692e378ba04c2",
      "parents": [
        "adadfe48df3858c3c1ba52963502f38885ab2f3c",
        "ff538818f4a82c4cf02d2d6bd6ac5c7360b9d41d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 18:00:43 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 18:00:43 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)\n  sysctl: net: call unregister_net_sysctl_table where needed\n  Revert: veth: remove unneeded ifname code from veth_newlink()\n  smsc95xx: fix reset check\n  tg3: Fix failure to enable WoL by default when possible\n  networking: inappropriate ioctl operation should return ENOTTY\n  amd8111e: trivial typo spelling: Negotitate -\u003e Negotiate\n  ipv4: don\u0027t spam dmesg with \"Using LC-trie\" messages\n  af_unix: Only allow recv on connected seqpacket sockets.\n  mii: add support of pause frames in mii_get_an\n  net: ftmac100: fix scheduling while atomic during PHY link status change\n  usbnet: Transfer of maintainership\n  usbnet: add support for some Huawei modems with cdc-ether ports\n  bnx2: cancel timer on device removal\n  iwl4965: fix \"Received BA when not expected\"\n  iwlagn: fix \"Received BA when not expected\"\n  dsa/mv88e6131: fix unknown multicast/broadcast forwarding on mv88e6085\n  usbnet: Resubmit interrupt URB if device is open\n  iwl4965: fix \"TX Power requested while scanning\"\n  iwlegacy: led stay solid on when no traffic\n  b43: trivial: update module info about ucode16_mimo firmware\n  ...\n"
    },
    {
      "commit": "ff538818f4a82c4cf02d2d6bd6ac5c7360b9d41d",
      "tree": "e385bfa4e7c3e48c2c6c755987c3ba50d3d5aa98",
      "parents": [
        "6c8c44462ac8ac3f95929328f0c56e9e8b6dd524"
      ],
      "author": {
        "name": "Lucian Adrian Grijincu",
        "email": "lucian.grijincu@gmail.com",
        "time": "Sun May 01 01:44:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 16:12:14 2011 -0700"
      },
      "message": "sysctl: net: call unregister_net_sysctl_table where needed\n\nctl_table_headers registered with register_net_sysctl_table should\nhave been unregistered with the equivalent unregister_net_sysctl_table\n\nSigned-off-by: Lucian Adrian Grijincu \u003clucian.grijincu@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c8c44462ac8ac3f95929328f0c56e9e8b6dd524",
      "tree": "d8e8206cbcdff00eef515b5b9324aedb54a3f0da",
      "parents": [
        "d946092000698fd204d82a9d239103c656fb63bf"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Apr 30 01:28:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 15:54:31 2011 -0700"
      },
      "message": "Revert: veth: remove unneeded ifname code from veth_newlink()\n\n84c49d8c3e4abefb0a41a77b25aa37ebe8d6b743 (\"veth: remove unneeded\nifname code from veth_newlink()\") caused regression on veth\ncreation. This patch reverts the original one.\n\nReported-by: Michał Mirosław \u003cmirqus@gmail.com\u003e\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d946092000698fd204d82a9d239103c656fb63bf",
      "tree": "6d043e823caaddbbbde50b79429d110169f22b28",
      "parents": [
        "6fdbab9d93e04bfe71f2b3fde485d092e2ffe3ec"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Sat Apr 30 08:29:27 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 15:50:58 2011 -0700"
      },
      "message": "smsc95xx: fix reset check\n\nThe reset loop check should check the MII_BMCR register value for\nBMCR_RESET rather than for MII_BMCR (the register address, which also\nhappens to be zero).\n\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fdbab9d93e04bfe71f2b3fde485d092e2ffe3ec",
      "tree": "cd88b86a5b7b7c9c16f6fbdefd03b9d5310b41c6",
      "parents": [
        "41c31f318a5209922d051e293c61e4724daad11c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Apr 28 11:02:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 15:44:17 2011 -0700"
      },
      "message": "tg3: Fix failure to enable WoL by default when possible\n\ntg3 is supposed to enable WoL by default on adapters which support\nthat, but it fails to do so unless the adapter\u0027s\n/sys/devices/.../power/wakeup file contains \u0027enabled\u0027 during the\ninitialization of the adapter.  Fix that by making tg3 use\ndevice_set_wakeup_enable() to enable wakeup automatically whenever\nWoL should be enabled by default.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41c31f318a5209922d051e293c61e4724daad11c",
      "tree": "23e17b3010423fcc721e524bd9a559703063191f",
      "parents": [
        "983960b159a75621855283030d92a80bea92e071"
      ],
      "author": {
        "name": "Lifeng Sun",
        "email": "lifongsun@gmail.com",
        "time": "Wed Apr 27 22:04:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 15:41:29 2011 -0700"
      },
      "message": "networking: inappropriate ioctl operation should return ENOTTY\n\nioctl() calls against a socket with an inappropriate ioctl operation\nare incorrectly returning EINVAL rather than ENOTTY:\n\n  [ENOTTY]\n      Inappropriate I/O control operation.\n\nBugLink: https://bugzilla.kernel.org/show_bug.cgi?id\u003d33992\n\nSigned-off-by: Lifeng Sun \u003clifongsun@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7806a49ab625ebeb1709e5e87299b64932b807a7",
      "tree": "3f6e43d254544d1a7cf90ab688ac4cfde967c6db",
      "parents": [
        "2be19102b71c1a45d37fec50303791daa1a06869"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon May 02 14:33:24 2011 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon May 02 14:44:46 2011 -0700"
      },
      "message": "x86, reboot: Fix relocations in reboot_32.S\n\nThe use of base for %ebx in this file is arbitrary, *except* that we\nalso use it to compute the real-mode segment.  Therefore, make it so\nthat r_base really is the true address to which %ebx points.\n\nThis resolves kernel bugzilla 33302.\n\nReported-and-tested-by: Alexey Zaytsev \u003calexey.zaytsev@gmail.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nLink: http://lkml.kernel.org/n/tip-08os5wi3yq1no0y4i5m4z7he@git.kernel.org\n"
    },
    {
      "commit": "983960b159a75621855283030d92a80bea92e071",
      "tree": "3f93525b4372ae650a4d8d1b84e27d5b4d0a40f3",
      "parents": [
        "badb02953aac4af9993163e2a87be60f10700db9"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 02 09:59:29 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 14:42:55 2011 -0700"
      },
      "message": "amd8111e: trivial typo spelling: Negotitate -\u003e Negotiate\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9269dc7bfdf8c985971c09f2dcb2aa04ad7986d",
      "tree": "72c8c5cb8c49c02d304255eafa25eba5fa03292a",
      "parents": [
        "a38647837a411f7df79623128421eef2118b5884"
      ],
      "author": {
        "name": "Stefano Stabellini",
        "email": "stefano.stabellini@eu.citrix.com",
        "time": "Tue Apr 12 12:19:49 2011 +0100"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon May 02 16:33:52 2011 -0400"
      },
      "message": "xen: mask_rw_pte mark RO all pagetable pages up to pgt_buf_top\n\nmask_rw_pte is currently checking if a pfn is a pagetable page if it\nfalls in the range pgt_buf_start - pgt_buf_end but that is incorrect\nbecause pgt_buf_end is a moving target: pgt_buf_top is the real\nboundary.\n\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "a38647837a411f7df79623128421eef2118b5884",
      "tree": "49c444f812e80f72e36cfd86d653bb43519615f7",
      "parents": [
        "8e10cd74342c7f5ce259cceca36f6eba084f5d58"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Apr 29 11:34:00 2011 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Mon May 02 16:33:34 2011 -0400"
      },
      "message": "xen/mmu: Add workaround \"x86-64, mm: Put early page table high\"\n\nAs a consequence of the commit:\n\ncommit 4b239f458c229de044d6905c2b0f9fe16ed9e01e\nAuthor: Yinghai Lu \u003cyinghai@kernel.org\u003e\nDate:   Fri Dec 17 16:58:28 2010 -0800\n\n    x86-64, mm: Put early page table high\n\nit causes the Linux kernel to crash under Xen:\n\nmapping kernel into physical memory\nXen: setup ISA identity maps\nabout to get started...\n(XEN) mm.c:2466:d0 Bad type (saw 7400000000000001 !\u003d exp 1000000000000000) for mfn b1d89 (pfn bacf7)\n(XEN) mm.c:3027:d0 Error while pinning mfn b1d89\n(XEN) traps.c:481:d0 Unhandled invalid opcode fault/trap [#6] on VCPU 0 [ec\u003d0000]\n(XEN) domain_crash_sync called from entry.S\n(XEN) Domain 0 (vcpu#0) crashed on cpu#0:\n...\n\nThe reason is that at some point init_memory_mapping is going to reach\nthe pagetable pages area and map those pages too (mapping them as normal\nmemory that falls in the range of addresses passed to init_memory_mapping\nas argument). Some of those pages are already pagetable pages (they are\nin the range pgt_buf_start-pgt_buf_end) therefore they are going to be\nmapped RO and everything is fine.\nSome of these pages are not pagetable pages yet (they fall in the range\npgt_buf_end-pgt_buf_top; for example the page at pgt_buf_end) so they\nare going to be mapped RW.  When these pages become pagetable pages and\nare hooked into the pagetable, xen will find that the guest has already\na RW mapping of them somewhere and fail the operation.\nThe reason Xen requires pagetables to be RO is that the hypervisor needs\nto verify that the pagetables are valid before using them. The validation\noperations are called \"pinning\" (more details in arch/x86/xen/mmu.c).\n\nIn order to fix the issue we mark all the pages in the entire range\npgt_buf_start-pgt_buf_top as RO, however when the pagetable allocation\nis completed only the range pgt_buf_start-pgt_buf_end is reserved by\ninit_memory_mapping. Hence the kernel is going to crash as soon as one\nof the pages in the range pgt_buf_end-pgt_buf_top is reused (b/c those\nranges are RO).\n\nFor this reason, this function is introduced which is called _after_\nthe init_memory_mapping has completed (in a perfect world we would\ncall this function from init_memory_mapping, but lets ignore that).\n\nBecause we are called _after_ init_memory_mapping the pgt_buf_[start,\nend,top] have all changed to new values (b/c another init_memory_mapping\nis called). Hence, the first time we enter this function, we save\naway the pgt_buf_start value and update the pgt_buf_[end,top].\n\nWhen we detect that the \"old\" pgt_buf_start through pgt_buf_end\nPFNs have been reserved (so memblock_x86_reserve_range has been called),\nwe immediately set out to RW the \"old\" pgt_buf_end through pgt_buf_top.\n\nAnd then we update those \"old\" pgt_buf_[end|top] with the new ones\nso that we can redo this on the next pagetable.\n\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nReviewed-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\n[v1: Updated with Jeremy\u0027s comments]\n[v2: Added the crash output]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "badb02953aac4af9993163e2a87be60f10700db9",
      "tree": "2f60f9eeda84733423169aae6a84878b582502eb",
      "parents": [
        "7cfd260910b881250cde76ba92ebe3cbf8493a8f",
        "16b345d89686ca0482a9ca741a1167def1abdd7f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 12:21:47 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 02 12:21:47 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n"
    },
    {
      "commit": "adadfe48df3858c3c1ba52963502f38885ab2f3c",
      "tree": "f6e6388f5dff08878c0888ab42122fbe81710783",
      "parents": [
        "625a3b6057e86d5079976db5648bd42289c8b6cc",
        "52c6e6f990669deac3f370f1603815adb55a1dbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 12:17:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 12:17:29 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/ubifs-2.6\n\n* \u0027for-linus\u0027 of git://git.infradead.org/ubifs-2.6:\n  UBIFS: seek journal heads to the latest bud in replay\n  UBIFS: do not free write-buffers when in R/O mode\n"
    },
    {
      "commit": "625a3b6057e86d5079976db5648bd42289c8b6cc",
      "tree": "bfdc13d0060375297927d63aa184dea75c55ff88",
      "parents": [
        "c7bcecbe98fe29e87ac7d01c70c5998806e0989f",
        "e8bf8df9c296b782c32236c6a5893aec301320c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 12:17:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 12:17:05 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027fixes\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (47 commits)\n  CLKDEV: Fix clkdev return value for NULL clk case\n  ARM: 6891/1: prevent heap corruption in OABI semtimedop\n  ARM: kprobes: Tidy-up kprobes-decode.c\n  ARM: kprobes: Add emulation of hint instructions like NOP and WFI\n  ARM: kprobes: Add emulation of SBFX, UBFX, BFI and BFC instructions\n  ARM: kprobes: Add emulation of MOVW and MOVT instructions\n  ARM: kprobes: Reject probing of undefined data processing instructions\n  ARM: kprobes: Remove redundant code in space_1111\n  ARM: kprobes: Fix emulation of PLD instructions\n  ARM: kprobes: Reject probing of SETEND instructions\n  ARM: kprobes: Consolidate stub decoding functions\n  ARM: kprobes: Reject probing of all coprocessor instructions\n  ARM: kprobes: Fix emulation of USAD8 instructions\n  ARM: kprobes: Fix emulation of SMUAD, SMUSD and SMMUL instructions\n  ARM: kprobes: Fix emulation of SXTB16, SXTB, SXTH, UXTB16, UXTB and UXTH instructions\n  ARM: kprobes: Reject probing of undefined media instructions\n  ARM: kprobes: Add emulation of RBIT instruction\n  ARM: kprobes: Reject probing of LDRB instructions which load PC\n  ARM: kprobes: Fix emulation of LDRD and STRD instructions\n  ARM: kprobes: Reject probing of LDR/STR instructions which update PC unpredictably\n  ...\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": "52c6e6f990669deac3f370f1603815adb55a1dbd",
      "tree": "11e1cf3982cfffb36010faef4a77903473b89d4f",
      "parents": [
        "b50b9f408502a2ea90459ae36ba8cdc9cc005cfe"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Apr 25 18:46:31 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon May 02 19:23:48 2011 +0300"
      },
      "message": "UBIFS: seek journal heads to the latest bud in replay\n\nThis is the second fix of the following symptom:\n\nUBIFS error (pid 34456): could not find an empty LEB\n\nwhich sometimes happens after power cuts when we mount the file-system - UBIFS\nrefuses it with the above error message which comes from the\n\u0027ubifs_rcvry_gc_commit()\u0027 function. I can reproduce this using the integck test\nwith the UBIFS power cut emulation enabled.\n\nAnalysis of the problem.\n\nCurrently UBIFS replay seeks the journal heads to the last _replayed_ bud.\nBut the buds are replayed out-of-order, so the replay basically seeks journal\nheads to the \"random\" bud belonging to this head, and not to the _last_ one.\n\nThe result of this is that the GC head may be seeked to a full LEB with no free\nspace, or very little free space. And \u0027ubifs_rcvry_gc_commit()\u0027 tries to find a\nfully or mostly dirty LEB to match the current GC head (because we need to\ngarbage-collect that dirty LEB at one go, because we do not have @c-\u003egc_lnum).\nSo \u0027ubifs_find_dirty_leb()\u0027 fails and we fall back to finding an empty LEB and\nalso fail. As a result - recovery fails and mounting fails.\n\nThis patch teaches the replay to initialize the GC heads exactly to the latest\nbuds, i.e. the buds which have the largest sequence number in corresponding\nlog reference nodes.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "b50b9f408502a2ea90459ae36ba8cdc9cc005cfe",
      "tree": "07c53213eaa3017282a5876eb34037fcff4a9441",
      "parents": [
        "8e10cd74342c7f5ce259cceca36f6eba084f5d58"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Apr 25 18:17:09 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon May 02 19:23:36 2011 +0300"
      },
      "message": "UBIFS: do not free write-buffers when in R/O mode\n\nCurrently UBIFS has a small optimization - it frees write-buffers when it is\nre-mounted from R/W mode to R/O mode. Of course, when it is mounted R/O, it\ndoes not allocate write-buffers as well.\n\nThis optimization is nice but it leads to subtle problems and complications\nin recovery, which I can reproduce using the integck test. The symptoms are\nthat after a power cut the file-system cannot be mounted if we first mount\nit R/O, and then re-mount R/W - \u0027ubifs_rcvry_gc_commit()\u0027 prints:\n\nUBIFS error (pid 34456): could not find an empty LEB\n\nAnalysis of the  problem.\n\nWhen mounting R/W, the reply process sets journal heads to buds [1], but\nwhen mounting R/O - it does not do this, because the write-buffers are not\nallocated. So \u0027ubifs_rcvry_gc_commit()\u0027 works completely differently for the\nsame file-system but for the following 2 cases:\n\n1. mounting R/W after a power cut and recover\n2. mounting R/O after a power cut, re-mounting R/W and run deferred recovery\n\nIn the former case, we have journal heads seeked to the a bud, in the latter\ncase, they are non-seeked (wbuf-\u003elnum \u003d\u003d -1). So in the latter case we do not\ntry to recover the GC LEB by garbage-collecting to the GC head, but we just\ntry to find an empty LEB, and there may be no empty LEBs, so we just fail.\nOn the other hand, in the former case (mount R/W), we are able to make a GC LEB\n(@c-\u003egc_lnum) by garbage-collecting.\n\nThus, let\u0027s remove this small nice optimization and always allocate\nwrite-buffers. This should not make too big difference - we have only 3\nof them, each of max. write unit size, which is usually 2KiB. So this is\nabout 6KiB of RAM for the typical case, and only when mounted R/O.\n\n[1]: Note, currently the replay process is setting (seeking) the journal heads\nto _some_ buds, not necessarily to the buds which had been the journal heads\nbefore the power cut happened. This will be fixed separately.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "c7bcecbe98fe29e87ac7d01c70c5998806e0989f",
      "tree": "fa3c2d92ed0303adfb7eb2a8b82f2d22fea3aaf0",
      "parents": [
        "96f3ee280549ebf62818ef71603061a3b3230eb9",
        "24af2b1cc418d6791b1d9e56bf6070cccb752db3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 09:07:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 09:07:27 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: hda - Fix Realtek\u0027s chained fixup checks\n  Revert \"ALSA: hda - Fix pin-config of Gigabyte mobo\"\n  ALSA: HDA: Fix automute for Gateway NV79\n  ALSA: hda: add beep quirk for Realtek 0x1043:831a\n  ALSA: usb-audio - Terratec Aureon 7.1 USB ID as C-Media cm6206 quirks\n  ALSA: hda - VIA: Fix notify_aa_path_ctls() invalid issue.\n  ALSA - au88x0 - Add buffer bytes constraints\n"
    },
    {
      "commit": "96f3ee280549ebf62818ef71603061a3b3230eb9",
      "tree": "42576f17169c6c9a2d334cf70ae313a02580f26c",
      "parents": [
        "fa515888821d307a79cb8d1e8e052b7aff39d844",
        "a9851832857dc1e4efefca1713f5cff3e168a25c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 08:47:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 08:47:35 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] irqstats: fix counting of pfault, dasd diag and virtio irqs\n  [S390] prng: fix pointer arithmetic\n"
    },
    {
      "commit": "fa515888821d307a79cb8d1e8e052b7aff39d844",
      "tree": "5d04ecc5289184c4cc5ab990e4132bac51385fcc",
      "parents": [
        "bc9be57f85d465506d0d4a8951275dae4e694f16",
        "c30aa39c233ca1df8397eb9e9c8b40a397ce72bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 08:47:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 08:47:12 2011 -0700"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging:\n  hwmon: (twl4030-madc-hwmon) Return proper error if hwmon_device_register fails\n"
    },
    {
      "commit": "bc9be57f85d465506d0d4a8951275dae4e694f16",
      "tree": "a3c47cf5c578227a10e2132abd9151c36d9ed163",
      "parents": [
        "646032e3b05b32d3f20cb108a030593d9d792eb5",
        "56acc7a39ac4ac7638cdc32cd3d0832ebbc834e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 08:46:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 08:46:50 2011 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c-parport: Fix adapter list handling\n  i2c-i801: Move device ID definitions to driver\n"
    },
    {
      "commit": "646032e3b05b32d3f20cb108a030593d9d792eb5",
      "tree": "1ced1d6ba3628d76ae389175b0f2c24711358d84",
      "parents": [
        "3fd9952df4964fac7d5868ba48eadcc9dae3ba46"
      ],
      "author": {
        "name": "Lasse Collin",
        "email": "lasse.collin@tukaani.org",
        "time": "Sun May 01 19:38:42 2011 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 02 08:46:12 2011 -0700"
      },
      "message": "XZ decompressor: Fix decoding of empty LZMA2 streams\n\nThe old code considered valid empty LZMA2 streams to be corrupt.\nNote that a typical empty .xz file has no LZMA2 data at all,\nand thus most .xz files having no uncompressed data are handled\ncorrectly even without this fix.\n\nSigned-off-by: Lasse Collin \u003classe.collin@tukaani.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "24af2b1cc418d6791b1d9e56bf6070cccb752db3",
      "tree": "860658929ab0fd89dd320918554a1b12d764155b",
      "parents": [
        "ebb47241ea0eac6a5a23404821a2d62f64c68496"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon May 02 13:55:36 2011 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon May 02 13:55:36 2011 +0200"
      },
      "message": "ALSA: hda - Fix Realtek\u0027s chained fixup checks\n\nThe check of chained fixup list entry was done against the wrong element.\nA stupid mistake during refactoring.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "ebb47241ea0eac6a5a23404821a2d62f64c68496",
      "tree": "d571c420963abc0afb62b81479a5be84f475ccb9",
      "parents": [
        "94024cd1aefa0f8bcc9dfe46c05bd7ce3f471a1c"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon May 02 10:37:29 2011 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon May 02 10:37:29 2011 +0200"
      },
      "message": "Revert \"ALSA: hda - Fix pin-config of Gigabyte mobo\"\n\nThis reverts commit c6b358748e19ce7e230b0926ac42696bc485a562.\n\nIt turned out that there are different pin configurations for this\nPCI SSID, including multi-channel modes.  And more proper fix for\nallowing line-out mutes will come up in 2.6.40 tree, so we won\u0027t need\nthis fixup any more there.\n\nReported-by: Andrew Clayton \u003candrew@digital-domain.net\u003e\nReported-by: Emmanuel Benisty \u003cbenisty.e@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "7cfd260910b881250cde76ba92ebe3cbf8493a8f",
      "tree": "4a5eb018c25ccacfd744ba6feb6b367fdd45d7da",
      "parents": [
        "a05d2ad1c1f391c7f514a1d1e09b5417968a7d07"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun May 01 02:04:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 01 23:17:50 2011 -0700"
      },
      "message": "ipv4: don\u0027t spam dmesg with \"Using LC-trie\" messages\n\nfib_trie_table() is called during netns creation and\nChromium uses clone(CLONE_NEWNET) to sandbox renderer process.\n\nDon\u0027t print anything.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a05d2ad1c1f391c7f514a1d1e09b5417968a7d07",
      "tree": "911e711680c3328de540ec2530cd4bc3df3943b5",
      "parents": [
        "2b5a4ace664cfe05c17bee60c4da66263a05fccf"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Apr 24 01:54:57 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 01 23:16:28 2011 -0700"
      },
      "message": "af_unix: Only allow recv on connected seqpacket sockets.\n\nThis fixes the following oops discovered by Dan Aloni:\n\u003e Anyway, the following is the output of the Oops that I got on the\n\u003e Ubuntu kernel on which I first detected the problem\n\u003e (2.6.37-12-generic). The Oops that followed will be more useful, I\n\u003e guess.\n\n\u003e[ 5594.669852] BUG: unable to handle kernel NULL pointer dereference\n\u003e at           (null)\n\u003e [ 5594.681606] IP: [\u003cffffffff81550b7b\u003e] unix_dgram_recvmsg+0x1fb/0x420\n\u003e [ 5594.687576] PGD 2a05d067 PUD 2b951067 PMD 0\n\u003e [ 5594.693720] Oops: 0002 [#1] SMP\n\u003e [ 5594.699888] last sysfs file:\n\nThe bug was that unix domain sockets use a pseduo packet for\nconnecting and accept uses that psudo packet to get the socket.\nIn the buggy seqpacket case we were allowing unconnected\nsockets to call recvmsg and try to receive the pseudo packet.\n\nThat is always wrong and as of commit 7361c36c5 the pseudo\npacket had become enough different from a normal packet\nthat the kernel started oopsing.\n\nDo for seqpacket_recv what was done for seqpacket_send in 2.5\nand only allow it on connected seqpacket sockets.\n\nCc: stable@kernel.org\nTested-by: Dan Aloni \u003cdan@aloni.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2be19102b71c1a45d37fec50303791daa1a06869",
      "tree": "b6902dc6d25f3d99d047963f85ed7f15778a5c26",
      "parents": [
        "e20a2d205c05cef6b5783df339a7d54adeb50962"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sun May 01 19:12:04 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 01 19:15:11 2011 +0200"
      },
      "message": "x86, NUMA: Fix empty memblk detection in numa_cleanup_meminfo()\n\nnuma_cleanup_meminfo() trims each memblk between low (0) and\nhigh (max_pfn) limits and discards empty ones.  However, the\nemptiness detection incorrectly used equality test.  If the\nstart of a memblk is higher than max_pfn, it is empty but fails\nthe equality test and doesn\u0027t get discarded.\n\nThe condition triggers when max_pfn is lower than start of a\nNUMA node and results in memory misconfiguration - leading to\nWARN_ON()s and other funnies.  The bug was discovered in devel\nbranch where 32bit too uses this code path for NUMA init.  If a\nnode is above the addressing limit, max_pfn ends up lower than\nthe node triggering this problem.\n\nThe failure hasn\u0027t been observed on x86-64 but is still possible\nwith broken hardware e820/NUMA info.  As the fix is very low\nrisk, it would be better to apply it even for 64bit.\n\nFix it by using \u003e\u003d instead of \u003d\u003d.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\n[ Extracted the actual fix from the original patch and rewrote patch description. ]\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20110501171204.GO29280@htj.dyndns.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e20a2d205c05cef6b5783df339a7d54adeb50962",
      "tree": "41bc3658f7c7f437093bf1a693e320f917e4b87c",
      "parents": [
        "3fd9952df4964fac7d5868ba48eadcc9dae3ba46"
      ],
      "author": {
        "name": "Boris Ostrovsky",
        "email": "ostr@amd64.org",
        "time": "Fri Apr 29 17:47:43 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 01 18:55:51 2011 +0200"
      },
      "message": "x86, AMD: Fix APIC timer erratum 400 affecting K8 Rev.A-E processors\n\nOlder AMD K8 processors (Revisions A-E) are affected by erratum\n400 (APIC timer interrupts don\u0027t occur in C states greater than\nC1). This, for example, means that X86_FEATURE_ARAT flag should\nnot be set for these parts.\n\nThis addresses regression introduced by commit\nb87cf80af3ba4b4c008b4face3c68d604e1715c6 (\"x86, AMD: Set ARAT\nfeature on AMD processors\") where the system may become\nunresponsive until external interrupt (such as keyboard input)\noccurs. This results, for example, in time not being reported\ncorrectly, lack of progress on the system and other lockups.\n\nReported-by: Joerg-Volker Peetz \u003cjvpeetz@web.de\u003e\nTested-by: Joerg-Volker Peetz \u003cjvpeetz@web.de\u003e\nAcked-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nSigned-off-by: Boris Ostrovsky \u003cBoris.Ostrovsky@amd.com\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/1304113663-6586-1-git-send-email-ostr@amd64.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "56acc7a39ac4ac7638cdc32cd3d0832ebbc834e4",
      "tree": "c2f1b47a7ff678de38413b05016cb0ded3e8f714",
      "parents": [
        "a6e5e2be44616c8400f9ec2f635b10f8e579217c"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun May 01 18:18:49 2011 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Sun May 01 18:18:49 2011 +0200"
      },
      "message": "i2c-parport: Fix adapter list handling\n\nUse a standard list with proper locking to handle the list of\nadapters. Thankfully it only matters on systems with more than one\nparallel port, which are very rare.\n\nThanks to Lukasz Kapiec for reporting the problem to me.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "a6e5e2be44616c8400f9ec2f635b10f8e579217c",
      "tree": "256bc5f315449dbd1f31e6a973860178eaeaf06f",
      "parents": [
        "3fd9952df4964fac7d5868ba48eadcc9dae3ba46"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun May 01 18:18:49 2011 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Sun May 01 18:18:49 2011 +0200"
      },
      "message": "i2c-i801: Move device ID definitions to driver\n\nMove the SMBus device ID definitions of recent devices from pci_ids.h\nto the i2c-i801.c driver file. They don\u0027t have to be shared, as they\nare clearly identified and only used in this driver. In the future,\nsuch IDs will go to i2c-i801 directly. This will make adding support\nfor new devices much faster and easier, as it will avoid cross-\nsubsystem patch sets and merge conflicts.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Seth Heasley \u003cseth.heasley@intel.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c30aa39c233ca1df8397eb9e9c8b40a397ce72bb",
      "tree": "ec550c54d08f245c717587bc4bae228ffe75090b",
      "parents": [
        "1be6a1f89f131e9c3d22f819ec542be9cda8c9e3"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Sun May 01 11:34:55 2011 -0400"
      },
      "committer": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Sun May 01 09:06:35 2011 -0700"
      },
      "message": "hwmon: (twl4030-madc-hwmon) Return proper error if hwmon_device_register fails\n\nThe driver did not return an error if the call to hwmon_device_register failed.\nFix by returning the error reported from hwmon_device_register.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\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": "e8bf8df9c296b782c32236c6a5893aec301320c7",
      "tree": "13b3749d6b912b84b069d83ca39b53bea5e23ac5",
      "parents": [
        "0f22072ab50cac7983f9660d33974b45184da4f9"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Apr 30 10:14:08 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Apr 30 10:14:08 2011 +0100"
      },
      "message": "CLKDEV: Fix clkdev return value for NULL clk case\n\nclkdev may incorrectly cause a clkdev entry with a NULL clk to return\n-ENOENT.  This is not the intention of this code; -ENOENT should only\nbe returned if the clock entry can not be found in the table.  Fix\nthis.\n\nReported-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "1be6a1f89f131e9c3d22f819ec542be9cda8c9e3",
      "tree": "f5a98ccdd1e9b825c32dbfda4a7fc529a0f2ce83",
      "parents": [
        "40a963502cd44765a0e0d45ff3409051986b5a39",
        "5f6279da3760ce48f478f2856aacebe0c59a39f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 16:27:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 16:27:52 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] pmcraid: reject negative request size\n  [SCSI] put stricter guards on queue dead checks\n  [SCSI] scsi_dh: fix reference counting in scsi_dh_activate error path\n  [SCSI] mpt2sas: prevent heap overflows and unchecked reads\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": "a6ab948e6500306dcb415ec80bff5f9b93f41b90",
      "tree": "7c5d934ae840835b63dd38dbeb47adfc40927648",
      "parents": [
        "592311c91daece7d6503bdef8fcc434f829aad23",
        "1ff42c32c7614c2e810ed388fd1ba04a5626b74c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 15:07:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 15:07:19 2011 -0700"
      },
      "message": "Merge branch \u0027x86-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: ce4100: Configure IOAPIC pins for USB and SATA to level type\n  x86: devicetree: Configure IOAPIC pin only once\n  x86, setup: When probing memory with e801, use ax/bx as a pair\n"
    },
    {
      "commit": "592311c91daece7d6503bdef8fcc434f829aad23",
      "tree": "90683b80c0fed0aec1960af80c9a16cbf4d4d911",
      "parents": [
        "9748d4d2b482e66d7024b4518ee0788521761801",
        "bc4d45f1901042a295b10949f51d24cce223e65d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 14:58:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 14:58:34 2011 -0700"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  hwmon: (lm85) Fix error paths in probe function\n  hwmon: (lm85) Add missing list terminators\n  hwmon: (adm1021) Clarify documentation regarding Xeon processors\n  hwmon: (lm90) Fix update interval information in driver documentation\n  hwmon: (lm90) Add support for ADT7461A and NCT1008\n"
    },
    {
      "commit": "2b5a4ace664cfe05c17bee60c4da66263a05fccf",
      "tree": "fcae796e9b40d1670649a198ec95e03009f9c902",
      "parents": [
        "eee9700c5dd8fbac517c8c1e85c60b688bc311a9"
      ],
      "author": {
        "name": "artpol",
        "email": "artpol84@gmail.com",
        "time": "Wed Apr 27 17:49:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 29 13:57:32 2011 -0700"
      },
      "message": "mii: add support of pause frames in mii_get_an\n\nAdd support of pause frames advertise in mii_get_an. This provides all drivers\nthat use mii_ethtool_gset to represent their own and Link partner flow control\nabilities in ethtool.\n\nSigned-off-by: Artem Polyakov \u003cartpol84@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eee9700c5dd8fbac517c8c1e85c60b688bc311a9",
      "tree": "a714e66dfea1c9166d2b23f04c9000590593bd5c",
      "parents": [
        "686f13bb17784fbf8595a59ff4e4bd707d5ae66f"
      ],
      "author": {
        "name": "Adam Jaremko",
        "email": "adam.jaremko@gmail.com",
        "time": "Thu Apr 28 07:41:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 29 12:41:59 2011 -0700"
      },
      "message": "net: ftmac100: fix scheduling while atomic during PHY link status change\n\nSigned-off-by: Adam Jaremko \u003cadam.jaremko@gmail.com\u003e\nAcked-by: Po-Yu Chuang \u003cratbert@faraday-tech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "686f13bb17784fbf8595a59ff4e4bd707d5ae66f",
      "tree": "ef53bec34d427fe7bcac82fa453a0077b5498ec9",
      "parents": [
        "b3c914aa84f4e4bbb3efc8f41c359d96e5e932d2"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Fri Apr 29 14:15:53 2011 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 29 12:40:21 2011 -0700"
      },
      "message": "usbnet: Transfer of maintainership\n\nSomebody has to do it, however unfortunate be the cause.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3c914aa84f4e4bbb3efc8f41c359d96e5e932d2",
      "tree": "5b500f869ec00167f87a197900c9fddfe14ec362",
      "parents": [
        "8333a46ad3877485e4d67ef499c6dda36bfd1f9a"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dcbw@redhat.com",
        "time": "Wed Apr 27 09:54:28 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 29 12:40:20 2011 -0700"
      },
      "message": "usbnet: add support for some Huawei modems with cdc-ether ports\n\nSome newer Huawei devices (T-Mobile Rocket, others) have cdc-ether\ncompatible ports, so recognize and expose them.\n\nSigned-off-by: Dan Williams \u003cdcbw@redhat.com\u003e\nAcked-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8333a46ad3877485e4d67ef499c6dda36bfd1f9a",
      "tree": "d4f94e094e1c7f342b6e53c6cc0819a051f5c149",
      "parents": [
        "b3b270054b80e6195b1d2b2ce082239911261839"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Apr 26 10:30:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 29 12:32:35 2011 -0700"
      },
      "message": "bnx2: cancel timer on device removal\n\nThis oops was recently reported to me:\n\ninvalid opcode: 0000 [#1] SMP\nlast sysfs file:\n/sys/devices/pci0000:00/0000:00:01.0/0000:01:0d.0/0000:02:05.0/device\nCPU 1\nModules linked in: bnx2(+) sunrpc ipv6 dm_mirror dm_region_hash dm_log sg\nmicrocode serio_raw amd64_edac_mod edac_core edac_mce_amd k8temp i2c_piix4\nshpchp ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase\nscsi_transport_sas radeon ttm drm_kms_helper drm hwmon i2c_algo_bit i2c_core\ndm_mod [last unloaded: bnx2]\n\nModules linked in: bnx2(+) sunrpc ipv6 dm_mirror dm_region_hash dm_log sg\nmicrocode serio_raw amd64_edac_mod edac_core edac_mce_amd k8temp i2c_piix4\nshpchp ext4 mbcache jbd2 sd_mod crc_t10dif mptsas mptscsih mptbase\nscsi_transport_sas radeon ttm drm_kms_helper drm hwmon i2c_algo_bit i2c_core\ndm_mod [last unloaded: bnx2]\nPid: 23900, comm: pidof Not tainted 2.6.32-130.el6.x86_64 #1 BladeCenter LS21\n-[797251Z]-\nRIP: 0010:[\u003cffffffffa058b270\u003e]  [\u003cffffffffa058b270\u003e] 0xffffffffa058b270\nRSP: 0018:ffff880002083e48  EFLAGS: 00010246\nRAX: ffff880002083e90 RBX: ffff88007ccd4000 RCX: 0000000000000000\nRDX: 0000000000000100 RSI: dead000000200200 RDI: ffff8800007b8700\nRBP: ffff880002083ed0 R08: ffff88000208db40 R09: 0000022d191d27c8\nR10: 0000000000000000 R11: 0000000000000000 R12: ffff8800007b9bc8\nR13: ffff880002083e90 R14: ffff8800007b8700 R15: ffffffffa058b270\nFS:  00007fbb3bcf7700(0000) GS:ffff880002080000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nCR2: 0000000001664a98 CR3: 0000000060395000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess pidof (pid: 23900, threadinfo ffff8800007e8000, task ffff8800091c0040)\nStack:\n ffffffff81079f77 ffffffff8109e010 ffff88007ccd5c20 ffff88007ccd5820\n\u003c0\u003e ffff88007ccd5420 ffff8800007e9fd8 ffff8800007e9fd8 0000010000000000\n\u003c0\u003e ffff88007ccd5020 ffff880002083e90 ffff880002083e90 ffffffff8102a00d\nCall Trace:\n \u003cIRQ\u003e\n [\u003cffffffff81079f77\u003e] ? run_timer_softirq+0x197/0x340\n [\u003cffffffff8109e010\u003e] ? tick_sched_timer+0x0/0xc0\n [\u003cffffffff8102a00d\u003e] ? lapic_next_event+0x1d/0x30\n [\u003cffffffff8106f737\u003e] __do_softirq+0xb7/0x1e0\n [\u003cffffffff81092cc0\u003e] ? hrtimer_interrupt+0x140/0x250\n [\u003cffffffff81185f90\u003e] ? filldir+0x0/0xe0\n [\u003cffffffff8100c2cc\u003e] call_softirq+0x1c/0x30\n [\u003cffffffff8100df05\u003e] do_softirq+0x65/0xa0\n [\u003cffffffff8106f525\u003e] irq_exit+0x85/0x90\n [\u003cffffffff814e3340\u003e] smp_apic_timer_interrupt+0x70/0x9b\n [\u003cffffffff8100bc93\u003e] apic_timer_interrupt+0x13/0x20\n \u003cEOI\u003e\n [\u003cffffffff81211ba5\u003e] ? selinux_file_permission+0x45/0x150\n [\u003cffffffff81262a75\u003e] ? _atomic_dec_and_lock+0x55/0x80\n [\u003cffffffff812050c6\u003e] security_file_permission+0x16/0x20\n [\u003cffffffff811861c1\u003e] vfs_readdir+0x71/0xe0\n [\u003cffffffff81186399\u003e] sys_getdents+0x89/0xf0\n [\u003cffffffff8100b172\u003e] system_call_fastpath+0x16/0x1b\n\nIt occured during some stress testing, in which the reporter was repeatedly\nremoving and modprobing the bnx2 module while doing various other random\noperations on the bnx2 registered net device.  Noting that this error occured on\na serdes based device, we noted that there were a few ethtool operations (most\nnotably self_test and set_phys_id) that have execution paths that lead into\nbnx2_setup_serdes_phy.  This function is notable because it executes a mod_timer\ncall, which starts the bp-\u003etimer running.  Currently bnx2 is setup to assume\nthat this timer only nees to be stopped when bnx2_close or bnx2_suspend is\ncalled.  Since the above ethtool operations are not gated on the net device\nhaving been opened however, that assumption is incorrect, and can lead to the\ntimer still running after the module has been removed, leading to the oops above\n(as well as other simmilar oopses).\n\nFix the problem by ensuring that the timer is stopped when pci_device_unregister\nis called.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReported-by: Hushan Jia \u003chjia@redhat.com\u003e\nCC: Michael Chan \u003cmchan@broadcom.com\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nAcked-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16b345d89686ca0482a9ca741a1167def1abdd7f",
      "tree": "3e3a9db573cadfa2b7f615e4ebcc525e0e26bf51",
      "parents": [
        "bfd36103ec26599557c2bd3225a1f1c9267f8fcb"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Fri Apr 29 17:51:56 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 29 15:24:15 2011 -0400"
      },
      "message": "iwl4965: fix \"Received BA when not expected\"\n\nNeed to use broadcast sta_id for management frames, otherwise we broke\nBA session in the firmware and get messages like that:\n\n\"Received BA when not expected\"\n\nor (on older kernels):\n\n\"BA scd_flow 0 does not match txq_id 10\"\n\nThis fix regression introduced in 2.6.35 during station management\ncode rewrite by:\n\ncommit 2a87c26bbe9587baeb9e56d3ce0b4971bd777643\nAuthor: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nDate:   Fri Apr 30 11:30:45 2010 -0700\n\n    iwlwifi: use iwl_find_station less\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bfd36103ec26599557c2bd3225a1f1c9267f8fcb",
      "tree": "0fd0ea7d8678e0c1b59f3513ab8ce7c53da2c628",
      "parents": [
        "f325757ab2812b42da4d690cf8da73c0e678368c"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Fri Apr 29 17:51:06 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 29 15:24:15 2011 -0400"
      },
      "message": "iwlagn: fix \"Received BA when not expected\"\n\nNeed to use broadcast sta_id for management frames, otherwise we broke\nBA session in the firmware and get messages like that:\n\n\"Received BA when not expected\"\n\nor (on older kernels):\n\n\"BA scd_flow 0 does not match txq_id 10\"\n\nThis fix regression introduced in 2.6.35 during station management\ncode rewrite by:\n\ncommit 2a87c26bbe9587baeb9e56d3ce0b4971bd777643\nAuthor: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nDate:   Fri Apr 30 11:30:45 2010 -0700\n\n    iwlwifi: use iwl_find_station less\n\nPatch partially resolve:\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d16691\nHowever, there are still 11n performance problems on 4965 and 5xxx\ndevices that need to be investigated.\n\nCc: stable@kernel.org # 2.6.35+\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\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": "9748d4d2b482e66d7024b4518ee0788521761801",
      "tree": "3b71de5908ea10da61be9f763f0b0f08ac369eec",
      "parents": [
        "fafc9929c668f8bae6dd1f109f33a86d2cb3c460",
        "3b1fb2ffecbc869d6a680b0c3a1118dc4aba1d47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 07:54:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 29 07:54:48 2011 -0700"
      },
      "message": "Merge branch \u0027omap-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6\n\n* \u0027omap-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:\n  OMAP3+: voltage: remove initial voltage\n  OMAP4: Intialize IVA Device in addition to DSP device.\n  omap: rx51: mark reserved memory earlier\n  OMAP3: l3: fix for \"irq 10: nobody cared\" message\n  arm: omap2: enable smc instruction for sleep34xx\n  OMAP2/3: hwmod: fix gpio-reset timeouts seen during bootup.\n  OMAP3: PM: Do not rely on ROM code to restore CM_AUTOIDLE_PLL.AUTO_PERIPH_DPLL\n  OMAP2+: PM: Fix the saving of CM_AUTOIDLE_PLL register on scratchpad area\n  OMAP4: clock data: Change DSS clock aliases\n  OMAP2+: hwmod data: Fix wrong dma_system end address\n"
    },
    {
      "commit": "0f22072ab50cac7983f9660d33974b45184da4f9",
      "tree": "59c175c63787b9b0424c40064df02cda7fe72a24",
      "parents": [
        "408133e9dca2b94c64b917b144ec816df913a94e"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Fri Apr 29 15:48:07 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Apr 29 15:53:14 2011 +0100"
      },
      "message": "ARM: 6891/1: prevent heap corruption in OABI semtimedop\n\nWhen CONFIG_OABI_COMPAT is set, the wrapper for semtimedop does not\nbound the nsops argument.  A sufficiently large value will cause an\ninteger overflow in allocation size, followed by copying too much data\ninto the allocated buffer.  Fix this by restricting nsops to SEMOPM.\nUntested.\n\nCc: stable@kernel.org\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "bc4d45f1901042a295b10949f51d24cce223e65d",
      "tree": "61de31e24034cce008e7fd2544ccfdaa95678acd",
      "parents": [
        "5f441e2256506a5878d276399e0a22a13942fe4b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Fri Apr 29 16:33:36 2011 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Fri Apr 29 16:33:36 2011 +0200"
      },
      "message": "hwmon: (lm85) Fix error paths in probe function\n\nWe must remove all files we created, even in error cases.\n\nFixes second part of kernel bug #34072:\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d34072\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    }
  ],
  "next": "5f441e2256506a5878d276399e0a22a13942fe4b"
}
