)]}'
{
  "log": [
    {
      "commit": "facc4e159672b4ed10aa18147bfa187b013c9505",
      "tree": "0b058683e1dde49a73b858fc29477e6f76860add",
      "parents": [
        "b6fc6020140db437069d5bec447858fcfd64d31c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Nov 28 16:26:56 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:08 2011 -0800"
      },
      "message": "rcu: Irq nesting is always 0 on rcu_enter_idle_common\n\nBecause tasks don\u0027t nest, the -\u003edyntick_nesting must always be zero upon\nentry to rcu_idle_enter_common().  Therefore, pass \"0\" rather than the\ncounter itself.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b6fc6020140db437069d5bec447858fcfd64d31c",
      "tree": "43b4f6aa420bd636a30116443f2417cd2176a679",
      "parents": [
        "7cb92499000e3c86dae653077b1465458a039ef6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Nov 28 16:18:56 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:07 2011 -0800"
      },
      "message": "rcu: Don\u0027t check irq nesting from rcu idle entry/exit\n\nBecause tasks do not nest, rcu_idle_enter() and rcu_idle_exit() do\nnot need to check for nesting.  This commit therefore moves nesting\nchecks from rcu_idle_enter_common() to rcu_irq_exit() and from\nrcu_idle_exit_common() to rcu_irq_enter().\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7cb92499000e3c86dae653077b1465458a039ef6",
      "tree": "ebc982a5cc562b4fe0cb8f20541f45a5506a0b5f",
      "parents": [
        "3842a0832a1d6eb0b31421f8810a813135967512"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Nov 28 12:28:34 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:07 2011 -0800"
      },
      "message": "rcu: Permit dyntick-idle with callbacks pending\n\nThe current implementation of RCU_FAST_NO_HZ prevents CPUs from entering\ndyntick-idle state if they have RCU callbacks pending.  Unfortunately,\nthis has the side-effect of often preventing them from entering this\nstate, especially if at least one other CPU is not in dyntick-idle state.\nHowever, the resulting per-tick wakeup is wasteful in many cases: if the\nCPU has already fully responded to the current RCU grace period, there\nwill be nothing for it to do until this grace period ends, which will\nfrequently take several jiffies.\n\nThis commit therefore permits a CPU that has done everything that the\ncurrent grace period has asked of it (rcu_pending() \u003d\u003d 0) even if it\nstill as RCU callbacks pending.  However, such a CPU posts a timer to\nwake it up several jiffies later (6 jiffies, based on experience with\ngrace-period lengths).  This wakeup is required to handle situations\nthat can result in all CPUs being in dyntick-idle mode, thus failing\nto ever complete the current grace period.  If a CPU wakes up before\nthe timer goes off, then it cancels that timer, thus avoiding spurious\nwakeups.\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": "f0e7c19db8798b4b991a2c71911e71f5dfdb348f",
      "tree": "fce748b22aeb29f8e28a28028211e777bc4123dd",
      "parents": [
        "c92b131bdcf89bf79870f1631d07547241a98f6c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Nov 23 15:02:05 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:05 2011 -0800"
      },
      "message": "rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass\n\nFixes and workarounds for a number of issues (for example, that in\ndf4012edc) make it safe to once again detect dyntick-idle CPUs on the\nfirst pass of force_quiescent_state(), so this commit makes that change.\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": "c92b131bdcf89bf79870f1631d07547241a98f6c",
      "tree": "618f38e1f4e6f71e056b240613a89915730b03f9",
      "parents": [
        "3ad0decf98d97b9039d8ed47cee287366b929cdf"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Nov 23 13:38:58 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:04 2011 -0800"
      },
      "message": "rcu: Remove dynticks false positives and RCU failures\n\nAssertions in rcu_init_percpu_data() unknowingly relied on outgoing\nCPUs being turned off before reaching the idle loop.  Unfortunately,\nwhen running under kvm/qemu on x86, CPUs really can get to idle before\nbegin shut off.  These CPUs are then born in dyntick-idle mode from an\nRCU perspective, which results in splats in rcu_init_percpu_data() and\nin RCU wrongly ignoring those CPUs despite them being active.  This in\nturn can cause RCU to end grace periods prematurely, potentially freeing\nup memory that the newly onlined CPUs were still using.  This is most\ndecidedly not what we need to see in an RCU implementation.\n\nThis commit therefore replaces the assertions in rcu_init_percpu_data()\nwith code that forces RCU\u0027s dyntick-idle view of newly onlined CPUs to\nmatch reality.\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": "3ad0decf98d97b9039d8ed47cee287366b929cdf",
      "tree": "3d6c02ceb148b55b9632422346978bf369e790e9",
      "parents": [
        "f535a607c13c7b674e0788ca5765779aa74a01c3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 21:08:13 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:03 2011 -0800"
      },
      "message": "rcu: Reduce latency of rcu_prepare_for_idle()\n\nRe-enable interrupts across calls to quiescent-state functions and\nalso across force_quiescent_state() to reduce latency.\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": "f535a607c13c7b674e0788ca5765779aa74a01c3",
      "tree": "433a07d16ff11d9f67e7991831cebf3cadfd9939",
      "parents": [
        "84ad00cb61f1cb21f0b63bc6f7dc254399eb3830"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 20:43:02 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:02 2011 -0800"
      },
      "message": "rcu: Eliminate RCU_FAST_NO_HZ grace-period hang\n\nWith the new implementation of RCU_FAST_NO_HZ, it was possible to hang\nRCU grace periods as follows:\n\no\tCPU 0 attempts to go idle, cycles several times through the\n\trcu_prepare_for_idle() loop, then goes dyntick-idle when\n\tRCU needs nothing more from it, while still having at least\n\ton RCU callback pending.\n\no\tCPU 1 goes idle with no callbacks.\n\nBoth CPUs can then stay in dyntick-idle mode indefinitely, preventing\nthe RCU grace period from ever completing, possibly hanging the system.\n\nThis commit therefore prevents CPUs that have RCU callbacks from entering\ndyntick-idle mode.  This approach also eliminates the need for the\nend-of-grace-period IPIs used previously.\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": "84ad00cb61f1cb21f0b63bc6f7dc254399eb3830",
      "tree": "7f275af0caaead54a5e8847afa308f5e2b33997a",
      "parents": [
        "3084f2f80cc8a1fd66233722d88beac0fe85e26f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 17:46:19 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:01 2011 -0800"
      },
      "message": "rcu: Avoid needlessly IPIing CPUs at GP end\n\nIf a CPU enters dyntick-idle mode with callbacks pending, it will need\nan IPI at the end of the grace period.  However, if it exits dyntick-idle\nmode before the grace period ends, it will be needlessly IPIed at the\nend of the grace period.\n\nTherefore, this commit clears the per-CPU rcu_awake_at_gp_end flag\nwhen a CPU determines that it does not need it.  This in turn requires\ndisabling interrupts across much of rcu_prepare_for_idle() in order to\navoid having nested interrupts clearing this state out from under us.\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": "3084f2f80cc8a1fd66233722d88beac0fe85e26f",
      "tree": "bce77805235278599eda0572d5d36b11419681d7",
      "parents": [
        "433cdddcd9ac5558068edd7f8d4707a70f7710f5"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 17:07:11 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:00 2011 -0800"
      },
      "message": "rcu: Go dyntick-idle more quickly if CPU has serviced current grace period\n\nThe earlier version would attempt to push callbacks through five times\nbefore going into dyntick-idle mode if callbacks remained, but the CPU\nhad done all that it needed to do for the current RCU grace periods.\nThis is wasteful:  In most cases, once the CPU has done all that it\nneeds to for the current RCU grace periods, it will make no further\nprogress on the callbacks no matter how many times it loops through\nthe RCU core processing and the idle-entry code.\n\nThis commit therefore goes to dyntick-idle mode whenever the current\nCPU has done all it can for the current grace period.\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": "433cdddcd9ac5558068edd7f8d4707a70f7710f5",
      "tree": "7f3686eb64c9ee3a239e5920df588c70837c5637",
      "parents": [
        "045fb9315a2129023d70a0eecf0942e18fca4fcd"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 14:58:03 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:00 2011 -0800"
      },
      "message": "rcu: Add tracing for RCU_FAST_NO_HZ\n\nThis commit adds trace_rcu_prep_idle(), which is invoked from\nrcu_prepare_for_idle() and rcu_wake_cpu() to trace attempts on\nthe part of RCU to force CPUs into dyntick-idle mode.\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": "1268fbc746ea1cd279886a740dcbad4ba5232225",
      "tree": "dc0ff36b4114992a3f67479e25132f5e99f36b9e",
      "parents": [
        "b58bdccaa8d908e0f71dae396468a0d3f7bb3125"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Nov 17 18:48:14 2011 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:57 2011 -0800"
      },
      "message": "nohz: Remove tick_nohz_idle_enter_norcu() / tick_nohz_idle_exit_norcu()\n\nThose two APIs were provided to optimize the calls of\ntick_nohz_idle_enter() and rcu_idle_enter() into a single\nirq disabled section. This way no interrupt happening in-between would\nneedlessly process any RCU job.\n\nNow we are talking about an optimization for which benefits\nhave yet to be measured. Let\u0027s start simple and completely decouple\nidle rcu and dyntick idle logics to simplify.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b58bdccaa8d908e0f71dae396468a0d3f7bb3125",
      "tree": "c03e6b8691a6569407c69b3456df88094d70309a",
      "parents": [
        "a95f8817f8afa75ab41728bd1bb65024c65c91c3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Nov 16 17:48:21 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:56 2011 -0800"
      },
      "message": "rcu: Add rcutorture CPU-hotplug capability\n\nRunning CPU-hotplug operations concurrently with rcutorture has\nhistorically been a good way to find bugs in both RCU and CPU hotplug.\nThis commit therefore adds an rcutorture module parameter called\n\"onoff_interval\" that causes a randomly selected CPU-hotplug operation to\nbe executed at the specified interval, in seconds.  The default value of\n\"onoff_interval\" is zero, which disables rcutorture-instigated CPU-hotplug\noperations.\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": "77aeeebd7b5483582d0eb6e3fd2894771d1fd8e5",
      "tree": "fc46b87358f3d68c6d2c82813e2667fd1afd996e",
      "parents": [
        "7fc20c5cbdd184f32cb0f886f1a069f123f5787a"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 16:02:52 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:54 2011 -0800"
      },
      "message": "events: Make events use the new is_idle_task() API\n\nChange from direct comparison of -\u003epid with zero to is_idle_task().\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "7fc20c5cbdd184f32cb0f886f1a069f123f5787a",
      "tree": "4254d7277295778b97cf86a7f3019a0dbeeb22b4",
      "parents": [
        "29f043a2caea2860db36fbeda0c17f79bf0cffbe"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 15:59:58 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:52 2011 -0800"
      },
      "message": "kdb: Make KDB use the new is_idle_task() API\n\nChange from direct comparison of -\u003epid with zero to is_idle_task().\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "99745b6a83414006f5c1e83efaebb423b41b67ef",
      "tree": "454ab3cf035a8d9a42f378066b166e8b2e6ba927",
      "parents": [
        "c4f3060843506ba6d473ab9a0afe5bd5dc93a00d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 15:48:45 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:48 2011 -0800"
      },
      "message": "rcu: Make RCU use the new is_idle_task() API\n\nChange from direct comparison of -\u003epid with zero to is_idle_task().\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": "bb3bf7052de520f2d21a1275e95fac7a84d89e4c",
      "tree": "791d90c55d835ef7f81c6d7fe98efcbbf6872869",
      "parents": [
        "d5f546d834ddc44539651e9955eb3577b0a3eb8b"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Nov 04 13:24:07 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:47 2011 -0800"
      },
      "message": "rcu: Control rcutorture startup from kernel boot parameters\n\nCurrently, if rcutorture is built into the kernel, it must be manually\nstarted or started from an init script.  This is inconvenient for\nautomated KVM testing, where it is good to be able to fully control\nrcutorture execution from the kernel parameters.  This patch therefore\nadds a module parameter named \"rcutorture_runnable\" that defaults\nto zero (\"don\u0027t start automatically\"), but which can be set to one\nto cause rcutorture to start up immediately during boot.\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": "d5f546d834ddc44539651e9955eb3577b0a3eb8b",
      "tree": "8262c6af876ff49d7f60772690255588b8833bd5",
      "parents": [
        "b807fbff3102bcac76ed9157d834dc20bb3d133b"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Nov 04 11:44:12 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:46 2011 -0800"
      },
      "message": "rcu: Add rcutorture system-shutdown capability\n\nAlthough it is easy to run rcutorture tests under KVM, there is currently\nno nice way to run such a test for a fixed time period, collect all of\nthe rcutorture data, and then shut the system down cleanly.  This commit\ntherefore adds an rcutorture module parameter named \"shutdown_secs\" that\nspecified the run duration in seconds, after which rcutorture terminates\nthe test and powers the system down.  The default value for \"shutdown_secs\"\nis zero, which disables shutdown.\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": "11dbaa8cb79a6e4a234a134898436f717a663f01",
      "tree": "79d18cd1af72016fcc54768388e46253208abe2e",
      "parents": [
        "aea1b35e29e658d42d7ba2237f3aa7f93e18509d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Nov 02 07:38:25 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:44 2011 -0800"
      },
      "message": "rcu: Fix idle-task checks\n\nRCU has traditionally relied on idle_cpu() to determine whether a given\nCPU is running in the context of an idle task, but commit 908a3283\n(Fix idle_cpu()) has invalidated this approach.  After commit 908a3283,\nidle_cpu() will return true if the current CPU is currently running the\nidle task, and will be doing so for the foreseeable future.  RCU instead\nneeds to know whether or not the current CPU is currently running the\nidle task, regardless of what the near future might bring.\n\nThis commit therefore switches from idle_cpu() to \"current-\u003epid !\u003d 0\".\n\nReported-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSuggested-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nTested-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "aea1b35e29e658d42d7ba2237f3aa7f93e18509d",
      "tree": "0221b1c12b5c3e3ed7f2bb2ffc957b09891bcb51",
      "parents": [
        "0989cb46783188ea7346ba6490be0046b9b7a725"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Nov 02 06:54:54 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:43 2011 -0800"
      },
      "message": "rcu: Allow dyntick-idle mode for CPUs with callbacks\n\nCurrently, RCU does not permit a CPU to enter dyntick-idle mode if that\nCPU has any RCU callbacks queued.  This means that workloads for which\neach CPU wakes up and does some RCU updates every few ticks will never\nenter dyntick-idle mode.  This can result in significant unnecessary power\nconsumption, so this patch permits a given to enter dyntick-idle mode if\nit has callbacks, but only if that same CPU has completed all current\nwork for the RCU core.  We determine use rcu_pending() to determine\nwhether a given CPU has completed all current work for the RCU core.\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": "0989cb46783188ea7346ba6490be0046b9b7a725",
      "tree": "ab3ca7e6099efd9ca814e9202a679388f36ecc90",
      "parents": [
        "4145fa7fbee3ec1e61c52825b146192885d9759f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 01 08:57:21 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:42 2011 -0800"
      },
      "message": "rcu: Add more information to the wrong-idle-task complaint\n\nThe current code just complains if the current task is not the idle task.\nThis commit therefore adds printing of the identity of the idle task.\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": "4145fa7fbee3ec1e61c52825b146192885d9759f",
      "tree": "58e0767a59bf110acb99da3fb5c1f0f0b5170be8",
      "parents": [
        "9ceae0e248fb553c702d51d5275167d462f4efd2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Oct 31 15:01:54 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:42 2011 -0800"
      },
      "message": "rcu: Deconfuse dynticks entry-exit tracing\n\nThe trace_rcu_dyntick() trace event did not print both the old and\nthe new value of the nesting level, and furthermore printed only\nthe low-order 32 bits of it.  This could result in some confusion\nwhen interpreting trace-event dumps, so this commit prints both\nthe old and the new value, prints the full 64 bits, and also selects\nthe process-entry/exit increment to print nicely in hexadecimal.\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": "416eb33cd60ef405e2860a186364e57bcb2d89f6",
      "tree": "c8c67e399b99246ce47a411b3518d4365f139606",
      "parents": [
        "98ad1cc14a5c4fd658f9d72c6ba5c86dfd3ce0d5"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 16:31:02 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:38 2011 -0800"
      },
      "message": "rcu: Fix early call to rcu_idle_enter()\n\nOn the irq exit path, tick_nohz_irq_exit()\nmay raise a softirq, which action leads to the wake up\npath and select_task_rq_fair() that makes use of rcu\nto iterate the domains.\n\nThis is an illegal use of RCU because we may be in RCU\nextended quiescent state if we interrupted an RCU-idle\nwindow in the idle loop:\n\n[  132.978883] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  132.978883] [ INFO: suspicious RCU usage. ]\n[  132.978883] -------------------------------\n[  132.978883] kernel/sched_fair.c:1707 suspicious rcu_dereference_check() usage!\n[  132.978883]\n[  132.978883] other info that might help us debug this:\n[  132.978883]\n[  132.978883]\n[  132.978883] rcu_scheduler_active \u003d 1, debug_locks \u003d 0\n[  132.978883] RCU used illegally from extended quiescent state!\n[  132.978883] 2 locks held by swapper/0:\n[  132.978883]  #0:  (\u0026p-\u003epi_lock){-.-.-.}, at: [\u003cffffffff8105a729\u003e] try_to_wake_up+0x39/0x2f0\n[  132.978883]  #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff8105556a\u003e] select_task_rq_fair+0x6a/0xec0\n[  132.978883]\n[  132.978883] stack backtrace:\n[  132.978883] Pid: 0, comm: swapper Tainted: G        W   3.0.0+ #178\n[  132.978883] Call Trace:\n[  132.978883]  \u003cIRQ\u003e  [\u003cffffffff810a01f6\u003e] lockdep_rcu_suspicious+0xe6/0x100\n[  132.978883]  [\u003cffffffff81055c49\u003e] select_task_rq_fair+0x749/0xec0\n[  132.978883]  [\u003cffffffff8105556a\u003e] ? select_task_rq_fair+0x6a/0xec0\n[  132.978883]  [\u003cffffffff812fe494\u003e] ? do_raw_spin_lock+0x54/0x150\n[  132.978883]  [\u003cffffffff810a1f2d\u003e] ? trace_hardirqs_on+0xd/0x10\n[  132.978883]  [\u003cffffffff8105a7c3\u003e] try_to_wake_up+0xd3/0x2f0\n[  132.978883]  [\u003cffffffff81094f98\u003e] ? ktime_get+0x68/0xf0\n[  132.978883]  [\u003cffffffff8105aa35\u003e] wake_up_process+0x15/0x20\n[  132.978883]  [\u003cffffffff81069dd5\u003e] raise_softirq_irqoff+0x65/0x110\n[  132.978883]  [\u003cffffffff8108eb65\u003e] __hrtimer_start_range_ns+0x415/0x5a0\n[  132.978883]  [\u003cffffffff812fe3ee\u003e] ? do_raw_spin_unlock+0x5e/0xb0\n[  132.978883]  [\u003cffffffff8108ed08\u003e] hrtimer_start+0x18/0x20\n[  132.978883]  [\u003cffffffff8109c9c3\u003e] tick_nohz_stop_sched_tick+0x393/0x450\n[  132.978883]  [\u003cffffffff810694f2\u003e] irq_exit+0xd2/0x100\n[  132.978883]  [\u003cffffffff81829e96\u003e] do_IRQ+0x66/0xe0\n[  132.978883]  [\u003cffffffff81820d53\u003e] common_interrupt+0x13/0x13\n[  132.978883]  \u003cEOI\u003e  [\u003cffffffff8103434b\u003e] ? native_safe_halt+0xb/0x10\n[  132.978883]  [\u003cffffffff810a1f2d\u003e] ? trace_hardirqs_on+0xd/0x10\n[  132.978883]  [\u003cffffffff810144ea\u003e] default_idle+0xba/0x370\n[  132.978883]  [\u003cffffffff810147fe\u003e] amd_e400_idle+0x5e/0x130\n[  132.978883]  [\u003cffffffff8100a9f6\u003e] cpu_idle+0xb6/0x120\n[  132.978883]  [\u003cffffffff817f217f\u003e] rest_init+0xef/0x150\n[  132.978883]  [\u003cffffffff817f20e2\u003e] ? rest_init+0x52/0x150\n[  132.978883]  [\u003cffffffff81ed9cf3\u003e] start_kernel+0x3da/0x3e5\n[  132.978883]  [\u003cffffffff81ed9346\u003e] x86_64_start_reservations+0x131/0x135\n[  132.978883]  [\u003cffffffff81ed944d\u003e] x86_64_start_kernel+0x103/0x112\n\nFix this by calling rcu_idle_enter() after tick_nohz_irq_exit().\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "2bbb6817c0ac1b5f2a68d720f364f98eeb1ac4fd",
      "tree": "05bb5ba54671a8eaeca4fe4406a75e820317e473",
      "parents": [
        "280f06774afedf849f0b34248ed6aff57d0f6908"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Oct 08 16:01:00 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:36 2011 -0800"
      },
      "message": "nohz: Allow rcu extended quiescent state handling seperately from tick stop\n\nIt is assumed that rcu won\u0027t be used once we switch to tickless\nmode and until we restart the tick. However this is not always\ntrue, as in x86-64 where we dereference the idle notifiers after\nthe tick is stopped.\n\nTo prepare for fixing this, add two new APIs:\ntick_nohz_idle_enter_norcu() and tick_nohz_idle_exit_norcu().\n\nIf no use of RCU is made in the idle loop between\ntick_nohz_enter_idle() and tick_nohz_exit_idle() calls, the arch\nmust instead call the new *_norcu() version such that the arch doesn\u0027t\nneed to call rcu_idle_enter() and rcu_idle_exit().\n\nOtherwise the arch must call tick_nohz_enter_idle() and\ntick_nohz_exit_idle() and also call explicitly:\n\n- rcu_idle_enter() after its last use of RCU before the CPU is put\nto sleep.\n- rcu_idle_exit() before the first use of RCU after the CPU is woken\nup.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "280f06774afedf849f0b34248ed6aff57d0f6908",
      "tree": "62ef683226d0569c0e6c3ba34ab2e6d85b2e047f",
      "parents": [
        "867f236bd12f5091df6dc7cc75f94d7fd982d78a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 18:22:06 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:35 2011 -0800"
      },
      "message": "nohz: Separate out irq exit and idle loop dyntick logic\n\nThe tick_nohz_stop_sched_tick() function, which tries to delay\nthe next timer tick as long as possible, can be called from two\nplaces:\n\n- From the idle loop to start the dytick idle mode\n- From interrupt exit if we have interrupted the dyntick\nidle mode, so that we reprogram the next tick event in\ncase the irq changed some internal state that requires this\naction.\n\nThere are only few minor differences between both that\nare handled by that function, driven by the ts-\u003einidle\ncpu variable and the inidle parameter. The whole guarantees\nthat we only update the dyntick mode on irq exit if we actually\ninterrupted the dyntick idle mode, and that we enter in RCU extended\nquiescent state from idle loop entry only.\n\nSplit this function into:\n\n- tick_nohz_idle_enter(), which sets ts-\u003einidle to 1, enters\ndynticks idle mode unconditionally if it can, and enters into RCU\nextended quiescent state.\n\n- tick_nohz_irq_exit() which only updates the dynticks idle mode\nwhen ts-\u003einidle is set (ie: if tick_nohz_idle_enter() has been called).\n\nTo maintain symmetry, tick_nohz_restart_sched_tick() has been renamed\ninto tick_nohz_idle_exit().\n\nThis simplifies the code and micro-optimize the irq exit path (no need\nfor local_irq_save there). This also prepares for the split between\ndynticks and rcu extended quiescent state logics. We\u0027ll need this split to\nfurther fix illegal uses of RCU in extended quiescent states in the idle\nloop.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "0464e937485f15d2add78e3b0f498469f4e6600d",
      "tree": "4007c0643436591850ac8bc87e03601afb8f1920",
      "parents": [
        "e6b80a3b0994ea6c3d876d72464f2debbfcfeb05"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 18:22:01 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:30 2011 -0800"
      },
      "message": "rcu: Inform the user about extended quiescent state on PROVE_RCU warning\n\nInform the user if an RCU usage error is detected by lockdep while in\nan extended quiescent state (in this case, the RCU-free window in idle).\nThis is accomplished by adding a line to the RCU lockdep splat indicating\nwhether or not the splat occurred in extended quiescent state.\n\nUses of RCU from within extended quiescent state mode are totally ignored\nby RCU, hence the importance of this diagnostic.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: 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": "e6b80a3b0994ea6c3d876d72464f2debbfcfeb05",
      "tree": "207337c207fecf2e05e52ffb3003831d240529fd",
      "parents": [
        "a0f8eefb127f5be07628954f310a7fc8c82b2fc3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 16:25:18 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:30 2011 -0800"
      },
      "message": "rcu: Detect illegal rcu dereference in extended quiescent state\n\nReport that none of the rcu read lock maps are held while in an RCU\nextended quiescent state (the section between rcu_idle_enter()\nand rcu_idle_exit()). This helps detect any use of rcu_dereference()\nand friends from within the section in idle where RCU is not allowed.\n\nThis way we can guarantee an extended quiescent window where the CPU\ncan be put in dyntick idle mode or can simply aoid to be part of any\nglobal grace period completion while in the idle loop.\n\nUses of RCU from such mode are totally ignored by RCU, hence the\nimportance of these checks.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: 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": "a0f8eefb127f5be07628954f310a7fc8c82b2fc3",
      "tree": "58fa4263824fa3b907b9ef70b1255fcf7c3c791b",
      "parents": [
        "b40d293eb36ba40cd428b6d178db911174689702"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 03 12:08:17 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:29 2011 -0800"
      },
      "message": "rcu: Remove redundant return from rcu_report_exp_rnp()\n\nEmpty void functions do not need \"return\", so this commit removes it\nfrom rcu_report_exp_rnp().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b40d293eb36ba40cd428b6d178db911174689702",
      "tree": "78109a13c0bf86608f3caaea547fd9e948aee743",
      "parents": [
        "34240697d619c439c55f21989680024dcb604aab"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 22 07:12:34 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:28 2011 -0800"
      },
      "message": "rcu: Omit self-awaken when setting up expedited grace period\n\nWhen setting up an expedited grace period, if there were no readers, the\ntask will awaken itself.  This commit removes this useless self-awakening.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "34240697d619c439c55f21989680024dcb604aab",
      "tree": "5fa80ddb82706121520677e8e700e5081f5edaa1",
      "parents": [
        "2c01531f08f8ba663a20d8472a3032f6df133b6e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Oct 03 11:38:52 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:27 2011 -0800"
      },
      "message": "rcu: Disable preemption in rcu_is_cpu_idle()\n\nBecause rcu_is_cpu_idle() is to be used to check for extended quiescent\nstates in RCU-preempt read-side critical sections, it cannot assume that\npreemption is disabled.  And preemption must be disabled when accessing\nthe dyntick-idle state, because otherwise the following sequence of events\ncould occur:\n\n1.\tTask A on CPU 1 enters rcu_is_cpu_idle() and picks up the pointer\n\tto CPU 1\u0027s per-CPU variables.\n\n2.\tTask B preempts Task A and starts running on CPU 1.\n\n3.\tTask A migrates to CPU 2.\n\n4.\tTask B blocks, leaving CPU 1 idle.\n\n5.\tTask A continues execution on CPU 2, accessing CPU 1\u0027s dyntick-idle\n\tinformation using the pointer fetched in step 1 above, and finds\n\tthat CPU 1 is idle.\n\n6.\tTask A therefore incorrectly concludes that it is executing in\n\tan extended quiescent state, possibly issuing a spurious splat.\n\nTherefore, this commit disables preemption within the rcu_is_cpu_idle()\nfunction.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "91afaf300269aa99a4d646969b3258b74294ac4d",
      "tree": "b4d7dd5f5c9933be7873b206624f7b55eb25d906",
      "parents": [
        "a8eecf2248a45bf69f0625b23c003ad2ccd765ee"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Oct 02 07:44:32 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:26 2011 -0800"
      },
      "message": "rcu: Add failure tracing to rcutorture\n\nTrace the rcutorture RCU accesses and dump the trace buffer when the\nfirst failure is detected.\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": "a8eecf2248a45bf69f0625b23c003ad2ccd765ee",
      "tree": "170e96d6a6cf26da8751ec98f59c81adc28717e6",
      "parents": [
        "9b2e4f1880b789be1f24f9684f7a54b90310b5c0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Oct 02 11:01:15 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:25 2011 -0800"
      },
      "message": "trace: Allow ftrace_dump() to be called from modules\n\nAdd an EXPORT_SYMBOL_GPL() so that rcutorture can dump the trace buffer\nupon detection of an RCU error.\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": "9b2e4f1880b789be1f24f9684f7a54b90310b5c0",
      "tree": "1fa922e0616e298837a7079cb49118188a58186c",
      "parents": [
        "b804cb9e91c6c304959c69d4f9daeef4ffdba71c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Sep 30 12:10:22 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:24 2011 -0800"
      },
      "message": "rcu: Track idleness independent of idle tasks\n\nEarlier versions of RCU used the scheduling-clock tick to detect idleness\nby checking for the idle task, but handled idleness differently for\nCONFIG_NO_HZ\u003dy.  But there are now a number of uses of RCU read-side\ncritical sections in the idle task, for example, for tracing.  A more\nfine-grained detection of idleness is therefore required.\n\nThis commit presses the old dyntick-idle code into full-time service,\nso that rcu_idle_enter(), previously known as rcu_enter_nohz(), is\nalways invoked at the beginning of an idle loop iteration.  Similarly,\nrcu_idle_exit(), previously known as rcu_exit_nohz(), is always invoked\nat the end of an idle-loop iteration.  This allows the idle task to\nuse RCU everywhere except between consecutive rcu_idle_enter() and\nrcu_idle_exit() calls, in turn allowing architecture maintainers to\nspecify exactly where in the idle loop that RCU may be used.\n\nBecause some of the userspace upcall uses can result in what looks\nto RCU like half of an interrupt, it is not possible to expect that\nthe irq_enter() and irq_exit() hooks will give exact counts.  This\npatch therefore expands the -\u003edynticks_nesting counter to 64 bits\nand uses two separate bitfields to count process/idle transitions\nand interrupt entry/exit transitions.  It is presumed that userspace\nupcalls do not happen in the idle loop or from usermode execution\n(though usermode might do a system call that results in an upcall).\nThe counter is hard-reset on each process/idle transition, which\navoids the interrupt entry/exit error from accumulating.  Overflow\nis avoided by the 64-bitness of the -\u003edyntick_nesting counter.\n\nThis commit also adds warnings if a non-idle task asks RCU to enter\nidle state (and these checks will need some adjustment before applying\nFrederic\u0027s OS-jitter patches (http://lkml.org/lkml/2011/10/7/246).\nIn addition, validation of -\u003edynticks and -\u003edynticks_nesting is added.\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": "7077714ec4940a6c5b1189c3afb4f47bf49ad877",
      "tree": "c8713205a1e6ce6973822bb76ea5e7e1774444ee",
      "parents": [
        "389abd48efe1ceacb141b2fd151263b1bc432dbc"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Sep 22 13:18:44 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:22 2011 -0800"
      },
      "message": "rcu: Make synchronize_sched_expedited() better at work sharing\n\nWhen synchronize_sched_expedited() takes its second and subsequent\nsnapshots of sync_sched_expedited_started, it subtracts 1.  This\nmeans that the concurrent caller of synchronize_sched_expedited()\nthat incremented to that value sees our successful completion, it\nwill not be able to take advantage of it.  This restriction is\npointless, given that our full expedited grace period would have\nhappened after the other guy started, and thus should be able to\nserve as a proxy for the other guy successfully executing\ntry_stop_cpus().\n\nThis commit therefore removes the subtraction of 1.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "389abd48efe1ceacb141b2fd151263b1bc432dbc",
      "tree": "f61a46a05c11b3d6ecd10b6beb73824bd5e88388",
      "parents": [
        "af446b702c58b700cc5fa99f6edc78b99e55b995"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 21 14:41:37 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:21 2011 -0800"
      },
      "message": "rcu: Avoid RCU-preempt expedited grace-period botch\n\nBecause rcu_read_unlock_special() samples rcu_preempted_readers_exp(rnp)\nafter dropping rnp-\u003elock, the following sequence of events is possible:\n\n1.\tTask A exits its RCU read-side critical section, and removes\n\titself from the -\u003eblkd_tasks list, releases rnp-\u003elock, and is\n\tthen preempted.  Task B remains on the -\u003eblkd_tasks list, and\n\tblocks the current expedited grace period.\n\n2.\tTask B exits from its RCU read-side critical section and removes\n\titself from the -\u003eblkd_tasks list.  Because it is the last task\n\tblocking the current expedited grace period, it ends that\n\texpedited grace period.\n\n3.\tTask A resumes, and samples rcu_preempted_readers_exp(rnp) which\n\tof course indicates that nothing is blocking the nonexistent\n\texpedited grace period. Task A is again preempted.\n\n4.\tSome other CPU starts an expedited grace period.  There are several\n\ttasks blocking this expedited grace period queued on the\n\tsame rcu_node structure that Task A was using in step 1 above.\n\n5.\tTask A examines its state and incorrectly concludes that it was\n\tthe last task blocking the expedited grace period on the current\n\trcu_node structure.  It therefore reports completion up the\n\trcu_node tree.\n\n6.\tThe expedited grace period can then incorrectly complete before\n\tthe tasks blocked on this same rcu_node structure exit their\n\tRCU read-side critical sections.  Arbitrarily bad things happen.\n\nThis commit therefore takes a snapshot of rcu_preempted_readers_exp(rnp)\nprior to dropping the lock, so that only the last task thinks that it is\nthe last task, thus avoiding the failure scenario laid out above.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "af446b702c58b700cc5fa99f6edc78b99e55b995",
      "tree": "0eacf146b7f1b221e844c52db6061e31928ff99e",
      "parents": [
        "dc47ce90c3a822cd7c9e9339fe4d5f61dcb26b50"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Sep 10 21:54:08 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:20 2011 -0800"
      },
      "message": "rcu: -\u003esignaled better named -\u003efqs_state\n\nThe -\u003esignaled field was named before complications in the form of\ndyntick-idle mode and offlined CPUs.  These complications have required\nthat force_quiescent_state() be implemented as a state machine, instead\nof simply unconditionally sending reschedule IPIs.  Therefore, this\ncommit renames -\u003esignaled to -\u003efqs_state to catch up with the new\nforce_quiescent_state() reality.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "975e32c287a9b144cf115d3f42ca18664b3331df",
      "tree": "c45cb3cd1bcaf2d09efeeaec192d344c898f2c70",
      "parents": [
        "031af165b1cd295ef04d2bfbcae9bc3cb9180735",
        "167e33c32845a30368463dac5a4fe2be5edcc34a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:07:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:07:24 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Do no try to schedule task events if there are none\n  lockdep, kmemcheck: Annotate -\u003elock in lockdep_init_map()\n  perf header: Use event_name() to get an event name\n  perf stat: Failure with \"Operation not supported\"\n"
    },
    {
      "commit": "031af165b1cd295ef04d2bfbcae9bc3cb9180735",
      "tree": "fc5abaa84eb1135cae41e8ab0d3356171fc0a760",
      "parents": [
        "1cee22b7f385b6c4f716846203a96e1f302132aa"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Thu Dec 08 14:34:44 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:29 2011 -0800"
      },
      "message": "sys_getppid: add missing rcu_dereference\n\nIn order to safely dereference current-\u003ereal_parent inside an\nrcu_read_lock, we need an rcu_dereference.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09dc3cf93f7d16fdd37a0ad8486faebb5e2769ec",
      "tree": "4db1b0103db218d0d0aa26a26232c3674dd18622",
      "parents": [
        "c193c82f054195aa352ccbef91afc28446e5a30e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Dec 08 14:34:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "printk: avoid double lock acquire\n\nCommit 4f2a8d3cf5e (\"printk: Fix console_sem vs logbuf_lock unlock race\")\nintroduced another silly bug where we would want to acquire an already\nheld lock.  Avoid this.\n\nReported-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09d9673d53005fdf40de4c759425893904292236",
      "tree": "0c7b526b3338a5e8541b4da157e2cafaa3a1c1c5",
      "parents": [
        "fb38f9b8fe98a9c1f6b1e57d1b08b1102b293929",
        "c9c024b3f3e07d087974db4c0dc46217fff3a6c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:21:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:21:28 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  alarmtimers: Fix time comparison\n  ptp: Fix clock_getres() implementation\n"
    },
    {
      "commit": "86b47c25494b824da655b95f6fdb4fdb3f17aa77",
      "tree": "45ed2f1c82a258bcbbe0550aa728b11187512322",
      "parents": [
        "a33caeb118198286309859f014c0662f3ed54ed4"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Nov 22 16:08:21 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 07 16:31:22 2011 +0100"
      },
      "message": "perf: Do no try to schedule task events if there are none\n\nperf_event_sched_in() shouldn\u0027t try to schedule task events if there\nare none otherwise task\u0027s ctx-\u003eis_active will be set and will not be\ncleared during sched_out. This will prevent newly added events from\nbeing scheduled into the task context.\n\nFixes a boo-boo in commit 1d5f003f5a9 (\"perf: Do not set task_ctx\npointer in cpuctx if there are no events in the context\").\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111122140821.GF2557@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "091c0f86bad6bb0b003dff2f6195508e29548648",
      "tree": "d04ef2b42ae456c2f281728413405c2e6af34880",
      "parents": [
        "4fb1db334aa2569281481a09840650e7be28161d",
        "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 06 11:54:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 06 11:54:33 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ftrace: Fix hash record accounting bug\n  perf: Fix parsing of __print_flags() in TP_printk()\n  jump_label: jump_label_inc may return before the code is patched\n  ftrace: Remove force undef config value left for testing\n  tracing: Restore system filter behavior\n  tracing: fix event_subsystem ref counting\n"
    },
    {
      "commit": "a33caeb118198286309859f014c0662f3ed54ed4",
      "tree": "c9bc38bef15bd7167ab27e1285d56a1e6cef4549",
      "parents": [
        "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Wed Nov 09 16:04:51 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 18:18:13 2011 +0100"
      },
      "message": "lockdep, kmemcheck: Annotate -\u003elock in lockdep_init_map()\n\nSince commit f59de89 (\"lockdep: Clear whole lockdep_map on initialization\"),\nlockdep_init_map() will clear all the struct. But it will break\nlock_set_class()/lock_set_subclass(). A typical race condition\nis like below:\n\n     CPU A                                   CPU B\nlock_set_subclass(lockA);\n lock_set_class(lockA);\n   lockdep_init_map(lockA);\n     /* lockA-\u003ename is cleared */\n     memset(lockA);\n                                     __lock_acquire(lockA);\n                                       /* lockA-\u003eclass_cache[] is cleared */\n                                       register_lock_class(lockA);\n                                         look_up_lock_class(lockA);\n                                           WARN_ON_ONCE(class-\u003ename !\u003d\n                                                     lock-\u003ename);\n\n     lock-\u003ename \u003d name;\n\nSo restore to what we have done before commit f59de89 but annotate\n-\u003elock with kmemcheck_mark_initialized() to suppress the kmemcheck\nwarning reported in commit f59de89.\n\nReported-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nReported-by: Borislav Petkov \u003cbp@alien8.de\u003e\nSuggested-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111109080451.GB8124@zhy\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c9c024b3f3e07d087974db4c0dc46217fff3a6c0",
      "tree": "4dd125eef6c2f332d641876fac0e6f522b1d75c5",
      "parents": [
        "d68fb11c3dae75c8331538dcf083a65e697cc034"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 05 21:20:23 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 06 11:38:32 2011 +0100"
      },
      "message": "alarmtimers: Fix time comparison\n\nThe expiry function compares the timer against current time and does\nnot expire the timer when the expiry time is \u003e\u003d now. That\u0027s wrong. If\nthe timer is set for now, then it must expire.\n\nMake the condition expiry \u003e now for breaking out the loop.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "232ea344550c4a099d35d9df552509d6748a31c0",
      "tree": "2b4a1c351d290537fdf18cc5bed78bf43536f175",
      "parents": [
        "40c043b077c6e377c8440d71563c055d0c4f0f0a",
        "dc440d10e1668b15fe704a23adb9b53fbbb24a44"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:54:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:54:00 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Fix loss of notification with multi-event\n  perf, x86: Force IBS LVT offset assignment for family 10h\n  perf, x86: Disable PEBS on SandyBridge chips\n  trace_events_filter: Use rcu_assign_pointer() when setting ftrace_event_call-\u003efilter\n  perf session: Fix crash with invalid CPU list\n  perf python: Fix undefined symbol problem\n  perf/x86: Enable raw event access to Intel offcore events\n  perf: Don\u0027t use -ENOSPC for out of PMU resources\n  perf: Do not set task_ctx pointer in cpuctx if there are no events in the context\n  perf/x86: Fix PEBS instruction unwind\n  oprofile, x86: Fix crash when unloading module (nmi timer mode)\n  oprofile: Fix crash when unloading module (hr timer mode)\n"
    },
    {
      "commit": "40c043b077c6e377c8440d71563c055d0c4f0f0a",
      "tree": "e0c1d672a1156d7840d3ef650ba1aa963c68e13a",
      "parents": [
        "f14aa871c7e1e58a01bf33a562ac314fae64517c",
        "de28f25e8244c7353abed8de0c7792f5f883588c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:53:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:53:43 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  clockevents: Set noop handler in clockevents_exchange_device()\n  tick-broadcast: Stop active broadcast device when replacing it\n  clocksource: Fix bug with max_deferment margin calculation\n  rtc: Fix some bugs that allowed accumulating time drift in suspend/resume\n  rtc: Disable the alarm in the hardware\n"
    },
    {
      "commit": "f14aa871c7e1e58a01bf33a562ac314fae64517c",
      "tree": "5ab1459c3f372dbb765c69808eb8300749eba6c7",
      "parents": [
        "7125faceabe43067293d0c9e2ef7154ecea51721",
        "52cef189165d74a5d6030184a8e05595194c69ca",
        "550acb19269d65f32e9ac4ddb26c2b2070e37f1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:51:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:51:21 2011 -0800"
      },
      "message": "Merge branches \u0027core-urgent-for-linus\u0027 and \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  slab, lockdep: Fix silly bug\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Fix race condition when stopping the irq thread\n"
    },
    {
      "commit": "7125faceabe43067293d0c9e2ef7154ecea51721",
      "tree": "9de559e9280843d02d9a70976fbad23428161189",
      "parents": [
        "35337c834124d2893b7fe4ba683c7639e6c37e0c",
        "4cecf6d401a01d054afc1e5f605bcbfe553cb9b9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:50:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:50:24 2011 -0800"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched, x86: Avoid unnecessary overflow in sched_clock\n  sched: Fix buglet in return_cfs_rq_runtime()\n  sched: Avoid SMT siblings in select_idle_sibling() if possible\n  sched: Set the command name of the idle tasks in SMP kernels\n  sched, rt: Provide means of disabling cross-cpu bandwidth sharing\n  sched: Document wait_for_completion_*() return values\n  sched_fair: Fix a typo in the comment describing update_sd_lb_stats\n  sched: Add a comment to effective_load() since it\u0027s a pain\n"
    },
    {
      "commit": "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7",
      "tree": "afee7574ab5b3a8e3d907327e73c2785cd275abe",
      "parents": [
        "d06c27b22aa66e48e32f03f9387328a9af9b0625"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 20:32:39 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:47 2011 -0500"
      },
      "message": "ftrace: Fix hash record accounting bug\n\nIf the set_ftrace_filter is cleared by writing just whitespace to\nit, then the filter hash refcounts will be decremented but not\nupdated. This causes two bugs:\n\n1) No functions will be enabled for tracing when they all should be\n\n2) If the users clears the set_ftrace_filter twice, it will crash ftrace:\n\n------------[ cut here ]------------\nWARNING: at /home/rostedt/work/git/linux-trace.git/kernel/trace/ftrace.c:1384 __ftrace_hash_rec_update.part.27+0x157/0x1a7()\nModules linked in:\nPid: 2330, comm: bash Not tainted 3.1.0-test+ #32\nCall Trace:\n [\u003cffffffff81051828\u003e] warn_slowpath_common+0x83/0x9b\n [\u003cffffffff8105185a\u003e] warn_slowpath_null+0x1a/0x1c\n [\u003cffffffff810ba362\u003e] __ftrace_hash_rec_update.part.27+0x157/0x1a7\n [\u003cffffffff810ba6e8\u003e] ? ftrace_regex_release+0xa7/0x10f\n [\u003cffffffff8111bdfe\u003e] ? kfree+0xe5/0x115\n [\u003cffffffff810ba51e\u003e] ftrace_hash_move+0x2e/0x151\n [\u003cffffffff810ba6fb\u003e] ftrace_regex_release+0xba/0x10f\n [\u003cffffffff8112e49a\u003e] fput+0xfd/0x1c2\n [\u003cffffffff8112b54c\u003e] filp_close+0x6d/0x78\n [\u003cffffffff8113a92d\u003e] sys_dup3+0x197/0x1c1\n [\u003cffffffff8113a9a6\u003e] sys_dup2+0x4f/0x54\n [\u003cffffffff8150cac2\u003e] system_call_fastpath+0x16/0x1b\n---[ end trace 77a3a7ee73794a02 ]---\n\nLink: http://lkml.kernel.org/r/20111101141420.GA4918@debian\n\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bbbf7af4bf8fc69bc751818cf30521080fa47dcb",
      "tree": "bbc986e2013cdfeb3b99bacc2f5326b787b7e410",
      "parents": [
        "c7c6ec8becaf742b223c7b491f4893014be23a07"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Oct 18 19:55:51 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:46 2011 -0500"
      },
      "message": "jump_label: jump_label_inc may return before the code is patched\n\nIf cpu A calls jump_label_inc() just after atomic_add_return() is\ncalled by cpu B, atomic_inc_not_zero() will return value greater then\nzero and jump_label_inc() will return to a caller before jump_label_update()\nfinishes its job on cpu B.\n\nLink: http://lkml.kernel.org/r/20111018175551.GH17571@redhat.com\n\nCc: stable@vger.kernel.org\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c7c6ec8becaf742b223c7b491f4893014be23a07",
      "tree": "1eb23e1dd22ef56b298bc2f207d5d4999a0731cf",
      "parents": [
        "27b14b56af081ec7edeefb3a38b2c9577cc5ef48"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 10:45:23 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:45 2011 -0500"
      },
      "message": "ftrace: Remove force undef config value left for testing\n\nA forced undef of a config value was used for testing and was\naccidently left in during the final commit. This causes x86 to\nrun slower than needed while running function tracing as well\nas causes the function graph selftest to fail when DYNMAIC_FTRACE\nis not set. This is because the code in MCOUNT expects the ftrace\ncode to be processed with the config value set that happened to\nbe forced not set.\n\nThe forced config option was left in by:\n    commit 6331c28c962561aee59e5a493b7556a4bb585957\n    ftrace: Fix dynamic selftest failure on some archs\n\nLink: http://lkml.kernel.org/r/20111102150255.GA6973@debian\n\nCc: stable@vger.kernel.org\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "27b14b56af081ec7edeefb3a38b2c9577cc5ef48",
      "tree": "841e01c8d64fdf08b88c8a76de3272b4630ed145",
      "parents": [
        "cb59974742aea24adf6637eb0c4b8e7b48bca6fb"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 01 09:09:35 2011 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:45 2011 -0500"
      },
      "message": "tracing: Restore system filter behavior\n\nThough not all events have field \u0027prev_pid\u0027, it was allowed to do this:\n\n  # echo \u0027prev_pid \u003d\u003d 100\u0027 \u003e events/sched/filter\n\nbut commit 75b8e98263fdb0bfbdeba60d4db463259f1fe8a2 (tracing/filter: Swap\nentire filter of events) broke it without any reason.\n\nLink: http://lkml.kernel.org/r/4EAF46CF.8040408@cn.fujitsu.com\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cb59974742aea24adf6637eb0c4b8e7b48bca6fb",
      "tree": "1f891849b3fa24d69c3517c3c3739964ecfb0ac9",
      "parents": [
        "dc440d10e1668b15fe704a23adb9b53fbbb24a44"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Mon Oct 31 11:07:42 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:44 2011 -0500"
      },
      "message": "tracing: fix event_subsystem ref counting\n\nFix a bug introduced by e9dbfae5, which prevents event_subsystem from\never being released.\n\nRef_count was added to keep track of subsystem users, not for counting\nevents.  Subsystem is created with ref_count \u003d 1, so there is no need to\nincrement it for every event, we have nr_events for that.  Fix this by\ntouching ref_count only when we actually have a new user -\nsubsystem_open().\n\nCc: stable@vger.kernel.org\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1320052062-7846-1-git-send-email-idryomov@gmail.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "dc440d10e1668b15fe704a23adb9b53fbbb24a44",
      "tree": "badea13d8ad1464283d12d7e40c08e748b9209d7",
      "parents": [
        "2c3757e54e0d95f47bdc160fdc4f14849f3437cf",
        "d3d9acf646679c1981032b0985b386d12fccc60c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 14:34:00 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 14:34:00 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n"
    },
    {
      "commit": "10c6db110d0eb4466b59812c49088ab56218fc2e",
      "tree": "d1d4e8debcf7415df49ce691b4c3da7443919f11",
      "parents": [
        "16e5294e5f8303756a179cf218e37dfb9ed34417"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 26 02:47:31 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 09:33:03 2011 +0100"
      },
      "message": "perf: Fix loss of notification with multi-event\n\nWhen you do:\n        $ perf record -e cycles,cycles,cycles noploop 10\n\nYou expect about 10,000 samples for each event, i.e., 10s at\n1000samples/sec. However, this is not what\u0027s happening. You\nget much fewer samples, maybe 3700 samples/event:\n\n$ perf report -D | tail -15\nAggregated stats:\n           TOTAL events:      10998\n            MMAP events:         66\n            COMM events:          2\n          SAMPLE events:      10930\ncycles stats:\n           TOTAL events:       3644\n          SAMPLE events:       3644\ncycles stats:\n           TOTAL events:       3642\n          SAMPLE events:       3642\ncycles stats:\n           TOTAL events:       3644\n          SAMPLE events:       3644\n\nOn a Intel Nehalem or even AMD64, there are 4 counters capable\nof measuring cycles, so there is plenty of space to measure those\nevents without multiplexing (even with the NMI watchdog active).\nAnd even with multiplexing, we\u0027d expect roughly the same number\nof samples per event.\n\nThe root of the problem was that when the event that caused the buffer\nto become full was not the first event passed on the cmdline, the user\nnotification would get lost. The notification was sent to the file\ndescriptor of the overflowed event but the perf tool was not polling\non it.  The perf tool aggregates all samples into a single buffer,\ni.e., the buffer of the first event. Consequently, it assumes\nnotifications for any event will come via that descriptor.\n\nThe seemingly straight forward solution of moving the waitq into the\nringbuffer object doesn\u0027t work because of life-time issues. One could\nperf_event_set_output() on a fd that you\u0027re also blocking on and cause\nthe old rb object to be freed while its waitq would still be\nreferenced by the blocked thread -\u003e FAIL.\n\nTherefore link all events to the ringbuffer and broadcast the wakeup\nfrom the ringbuffer object to all possible events that could be waited\nupon. This is rather ugly, and we\u0027re open to better solutions but it\nworks for now.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nFinished-by: Stephane Eranian \u003ceranian@google.com\u003e\nReviewed-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111126014731.GA7030@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "de28f25e8244c7353abed8de0c7792f5f883588c",
      "tree": "03f94969b51c454f5da2b52cc311e510c28c2080",
      "parents": [
        "c1be84309c58b1e7c6d626e28fba41a22b364c3d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 16:02:45 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 16:07:23 2011 +0100"
      },
      "message": "clockevents: Set noop handler in clockevents_exchange_device()\n\nIf a device is shutdown, then there might be a pending interrupt,\nwhich will be processed after we reenable interrupts, which causes the\noriginal handler to be run. If the old handler is the (broadcast)\nperiodic handler the shutdown state might hang the kernel completely.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "c1be84309c58b1e7c6d626e28fba41a22b364c3d",
      "tree": "4d4db4e9ef8ceb5b762d4c2334e68b73858a1b07",
      "parents": [
        "b1f919664d04a8d0ba29cb76673c7ca3325a2006"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 12:34:16 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 16:06:54 2011 +0100"
      },
      "message": "tick-broadcast: Stop active broadcast device when replacing it\n\nWhen a better rated broadcast device is installed, then the current\nactive device is not disabled, which results in two running broadcast\ndevices.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "550acb19269d65f32e9ac4ddb26c2b2070e37f1c",
      "tree": "804925b363142e47a4a26f1afcfb8f9e302bed0e",
      "parents": [
        "b930c26416c4ea6855726fd977145ccea9afbdda"
      ],
      "author": {
        "name": "Ido Yariv",
        "email": "ido@wizery.com",
        "time": "Thu Dec 01 13:55:08 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 11:54:24 2011 +0100"
      },
      "message": "genirq: Fix race condition when stopping the irq thread\n\nIn irq_wait_for_interrupt(), the should_stop member is verified before\nsetting the task\u0027s state to TASK_INTERRUPTIBLE and calling schedule().\nIn case kthread_stop sets should_stop and wakes up the process after\nshould_stop is checked by the irq thread but before the task\u0027s state\nis changed, the irq thread might never exit:\n\nkthread_stop                    irq_wait_for_interrupt\n------------                    ----------------------\n\n                                 ...\n...                              while (!kthread_should_stop()) {\nkthread-\u003eshould_stop \u003d 1;\nwake_up_process(k);\nwait_for_completion(\u0026kthread-\u003eexited);\n...\n                                     set_current_state(TASK_INTERRUPTIBLE);\n\n                                     ...\n\n                                     schedule();\n                                 }\n\nFix this by checking if the thread should stop after modifying the\ntask\u0027s state.\n\n[ tglx: Simplified it a bit ]\n\nSigned-off-by: Ido Yariv \u003cido@wizery.com\u003e\nLink: http://lkml.kernel.org/r/1322740508-22640-1-git-send-email-ido@wizery.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d3d9acf646679c1981032b0985b386d12fccc60c",
      "tree": "68df9e100ae7304a1384160b5d1b068241f4d1fe",
      "parents": [
        "4a1dba72384193753e44e15d9d05a50be6587271"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 23 08:49:49 2011 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Dec 01 22:16:47 2011 -0500"
      },
      "message": "trace_events_filter: Use rcu_assign_pointer() when setting ftrace_event_call-\u003efilter\n\nftrace_event_call-\u003efilter is sched RCU protected but didn\u0027t use\nrcu_assign_pointer().  Use it.\n\nTODO: Add proper __rcu annotation to call-\u003efilter and all its users.\n\n-v2: Use RCU_INIT_POINTER() for %NULL clearing as suggested by Eric.\n\nLink: http://lkml.kernel.org/r/20111123164949.GA29639@google.com\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: stable@kernel.org # (2.6.39+)\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b1f919664d04a8d0ba29cb76673c7ca3325a2006",
      "tree": "eeaafc566a9023a794eaefcda8a5201ba7ffa9bc",
      "parents": [
        "6a8943d9ec2567572fca25cf69ad45844d0141a3"
      ],
      "author": {
        "name": "Yang Honggang (Joseph)",
        "email": "eagle.rtlinux@gmail.com",
        "time": "Thu Dec 01 22:22:41 2011 -0500"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Dec 01 15:50:00 2011 -0800"
      },
      "message": "clocksource: Fix bug with max_deferment margin calculation\n\nIn order to leave a margin of 12.5% we should \u003e\u003e 3 not \u003e\u003e 5.\n\nCC: stable@kernel.org\nSigned-off-by: Yang Honggang (Joseph) \u003ceagle.rtlinux@gmail.com\u003e\n[jstultz: Modified commit subject]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "8cd7920370a3715ccbd1c98bf33f172b8837dc0b",
      "tree": "6ee969f2a1e235ed37348f841c3f15a03cfdff1e",
      "parents": [
        "57db53b07429c0d648f48727dd6c7c2b64c5708d",
        "f7bc83d87d242917ca0ee041ed509f57f361dd56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 29 14:43:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 29 14:43:22 2011 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM: Update comments describing device power management callbacks\n  PM / Sleep: Update documentation related to system wakeup\n  PM / Runtime: Make documentation follow the new behavior of irq_safe\n  PM / Sleep: Correct inaccurate information in devices.txt\n  PM / Domains: Document how PM domains are used by the PM core\n  PM / Hibernate: Do not leak memory in error/test code paths\n"
    },
    {
      "commit": "a34815b96f9a21b3a2e2912dfd0d994acd2855e3",
      "tree": "e2e6ac428637059305d7c00274f0c034f0c82858",
      "parents": [
        "9b5a4d4f65e260a109eaeea8bbc8062a7c58b55e",
        "884a45d964dd395eda945842afff5e16bcaedf56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 13:55:59 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 13:55:59 2011 -0800"
      },
      "message": "Merge branch \u0027for-3.2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\n* \u0027for-3.2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup_freezer: fix freezing groups with stopped tasks\n"
    },
    {
      "commit": "c28800a9c3caaf387d85ac665a25ebe99e480295",
      "tree": "401ba805709a65a9f5c1919b3dc763c70b64b38f",
      "parents": [
        "ce8f55c2a0ff652480c12a4f1f22ff5ce15e3a22",
        "27c9cd7e601632b3794e1c3344d37b86917ffb43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:52 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:52 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  hrtimer: Fix extra wakeups from __remove_hrtimer()\n  timekeeping: add arch_offset hook to ktime_get functions\n  clocksource: Avoid selecting mult values that might overflow when adjusted\n  time: Improve documentation of timekeeeping_adjust()\n"
    },
    {
      "commit": "ce8f55c2a0ff652480c12a4f1f22ff5ce15e3a22",
      "tree": "cba248174b2380106b93bb73bdf5de5368e1dca8",
      "parents": [
        "52553ddffad76ccf192d4dd9ce88d5818f57f62a",
        "2ed0e645f358c26f4f4a7aed56a9488db0020ad1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:32 2011 -0800"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Don\u0027t allow per cpu interrupts to be suspended\n"
    },
    {
      "commit": "52553ddffad76ccf192d4dd9ce88d5818f57f62a",
      "tree": "c455a00601de4deeb4d9cc759e8b527ca574293a",
      "parents": [
        "401d0069cb344f401bc9d264c31db55876ff78c0"
      ],
      "author": {
        "name": "Edward Donovan",
        "email": "edward.donovan@numble.net",
        "time": "Sun Nov 27 23:07:34 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:09 2011 -0800"
      },
      "message": "genirq: fix regression in irqfixup, irqpoll\n\nCommit fa27271bc8d2(\"genirq: Fixup poll handling\") introduced a\nregression that broke irqfixup/irqpoll for some hardware configurations.\n\nAmidst reorganizing \u0027try_one_irq\u0027, that patch removed a test that\nchecked for \u0027action-\u003ehandler\u0027 returning IRQ_HANDLED, before acting on\nthe interrupt.  Restoring this test back returns the functionality lost\nsince 2.6.39.  In the current set of tests, after \u0027action\u0027 is set, it\nmust precede \u0027!action-\u003enext\u0027 to take effect.\n\nWith this and my previous patch to irq/spurious.c, c75d720fca8a, all\nIRQ regressions that I have encountered are fixed.\n\nSigned-off-by: Edward Donovan \u003cedward.donovan@numble.net\u003e\nReported-and-tested-by: Rogério Brito \u003crbrito@ime.usp.br\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org (2.6.39+)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "884a45d964dd395eda945842afff5e16bcaedf56",
      "tree": "47a28f7231d65cff01f797ad1ad74e4a82a86839",
      "parents": [
        "860ca0e6f72d21ded33ce14be9a53eb103f88441"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Nov 22 07:44:47 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Nov 24 11:58:22 2011 -0800"
      },
      "message": "cgroup_freezer: fix freezing groups with stopped tasks\n\n2d3cbf8b (cgroup_freezer: update_freezer_state() does incorrect state\ntransitions) removed is_task_frozen_enough and replaced it with a simple\nfrozen call. This, however, breaks freezing for a group with stopped tasks\nbecause those cannot be frozen and so the group remains in CGROUP_FREEZING\nstate (update_if_frozen doesn\u0027t count stopped tasks) and never reaches\nCGROUP_FROZEN.\n\nLet\u0027s add is_task_frozen_enough back and use it at the original locations\n(update_if_frozen and try_to_freeze_cgroup). Semantically we consider\nstopped tasks as frozen enough so we should consider both cases when\ntesting frozen tasks.\n\nTestcase:\nmkdir /dev/freezer\nmount -t cgroup -o freezer none /dev/freezer\nmkdir /dev/freezer/foo\nsleep 1h \u0026\npid\u003d$!\nkill -STOP $pid\necho $pid \u003e /dev/freezer/foo/tasks\necho FROZEN \u003e /dev/freezer/foo/freezer.state\nwhile true\ndo\n\tcat /dev/freezer/foo/freezer.state\n\t[ \"`cat /dev/freezer/foo/freezer.state`\" \u003d \"FROZEN\" ] \u0026\u0026 break\n\tsleep 1\ndone\necho OK\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tomasz Buchert \u003ctomasz.buchert@inria.fr\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "bb58dd5d1ffad6c2d21c69698ba766dad4ae54e6",
      "tree": "aedde5149df5e3eb8c217b90540222ee507d5e9e",
      "parents": [
        "f10cdea68b70bd85706baed0decab59618f9c353"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 22 23:08:10 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:03:38 2011 +0100"
      },
      "message": "PM / Hibernate: Do not leak memory in error/test code paths\n\nThe hibernation core code forgets to release memory preallocated\nfor hibernation if there\u0027s an error in its early stages or if test\nmodes causing hibernation_snapshot() to return early are used.  This\ncauses the system to be hardly usable, because the amount of\npreallocated memory is usually huge.  Fix this problem.\n\nReported-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "8ba8ed54de4dd79bb88ab6cd7dbf2e83d58d6d57",
      "tree": "d4d1c687f1b7f58783103b43a04618d8e4019bba",
      "parents": [
        "bbbc4791cd48ac12996e43c0033b504c79b53639",
        "468e6a20afaccb67e2a7d7f60d301f90e1c6f301"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 08:22:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 08:22:48 2011 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: remove vm_dirties and task-\u003edirties\n  writeback: hard throttle 1000+ dd on a slow USB stick\n  mm: Make task in balance_dirty_pages() killable\n"
    },
    {
      "commit": "2d360fcbd851b7f9f8c23b1c30b2f3c060fa43e6",
      "tree": "8228db95030b82921c90b95f353441946af3a677",
      "parents": [
        "a767835f6dc85277e40fbfe69a29c18817d6c00b",
        "501a708f18ef911328ffd39f39738b8a7862aa8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 20 14:33:02 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 20 14:33:02 2011 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / Suspend: Fix bug in suspend statistics update\n  PM / Hibernate: Fix the early termination of test modes\n  PM / shmobile: Fix build of sh7372_pm_init() for CONFIG_PM unset\n  PM Sleep: Do not extend wakeup paths to devices with ignore_children set\n  PM / driver core: disable device\u0027s runtime PM during shutdown\n  PM / devfreq: correct Kconfig dependency\n  PM / devfreq: fix use after free in devfreq_remove_device\n  PM / shmobile: Avoid restoring the INTCS state during initialization\n  PM / devfreq: Remove compiler error after irq.h update\n  PM / QoS: Properly use the WARN() macro in dev_pm_qos_add_request()\n  PM / Clocks: Only disable enabled clocks in pm_clk_suspend()\n  ARM: mach-shmobile: sh7372 A3SP no_suspend_console fix\n  PM / shmobile: Don\u0027t skip debugging output in pd_power_up()\n"
    },
    {
      "commit": "501a708f18ef911328ffd39f39738b8a7862aa8e",
      "tree": "f3adbf5979f9e714291cec5c2a893edbca16ba26",
      "parents": [
        "aa9a7b11821e883a7b93ecce190881e0ea48648b"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Sat Nov 19 14:37:57 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Nov 19 14:37:57 2011 +0100"
      },
      "message": "PM / Suspend: Fix bug in suspend statistics update\n\nAfter commit 2a77c46de1e3dace73745015635ebbc648eca69c\n(PM / Suspend: Add statistics debugfs file for suspend to RAM)\na missing pair of braces inside the state_store() function causes even\ninvalid arguments to suspend to be wrongly treated as failed suspend\nattempts. Fix this.\n\n[rjw: Put the hash/subject of the buggy commit into the changelog.]\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "27c9cd7e601632b3794e1c3344d37b86917ffb43",
      "tree": "dc6f3d9accdf9c7fd8fd80dd81ff2ed7e07304e7",
      "parents": [
        "d004e024058a0eaca097513ce62cbcf978913e0a"
      ],
      "author": {
        "name": "Jeff Ohlstein",
        "email": "johlstei@codeaurora.org",
        "time": "Fri Nov 18 15:47:10 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Nov 19 12:17:37 2011 +0100"
      },
      "message": "hrtimer: Fix extra wakeups from __remove_hrtimer()\n\n__remove_hrtimer() attempts to reprogram the clockevent device when\nthe timer being removed is the next to expire. However,\n__remove_hrtimer() reprograms the clockevent *before* removing the\ntimer from the timerqueue and thus when hrtimer_force_reprogram()\nfinds the next timer to expire it finds the timer we\u0027re trying to\nremove.\n\nThis is especially noticeable when the system switches to NOHz mode\nand the system tick is removed. The timer tick is removed from the\nsystem but the clockevent is programmed to wakeup in another HZ\nanyway.\n\nSilence the extra wakeup by removing the timer from the timerqueue\nbefore calling hrtimer_force_reprogram() so that we actually program\nthe clockevent for the next timer to expire.\n\nThis was broken by 998adc3 \"hrtimers: Convert hrtimers to use\ntimerlist infrastructure\".\n\nSigned-off-by: Jeff Ohlstein \u003cjohlstei@codeaurora.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1321660030-8520-1-git-send-email-johlstei@codeaurora.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aa9a7b11821e883a7b93ecce190881e0ea48648b",
      "tree": "b917fb563df2d27b95d6012afd9bf63237a7e3d5",
      "parents": [
        "88995e809f8a8115f30db24696c9137aad93d570"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Fri Nov 18 23:02:42 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 18 23:02:42 2011 +0100"
      },
      "message": "PM / Hibernate: Fix the early termination of test modes\n\nCommit 2aede851ddf08666f68ffc17be446420e9d2a056\n(PM / Hibernate: Freeze kernel threads after preallocating memory)\npostponed the freezing of kernel threads to after preallocating memory\nfor hibernation. But while doing that, the hibernation test TEST_FREEZER\nand the test mode HIBERNATION_TESTPROC were not moved accordingly.\n\nAs a result, when using these test modes, it only goes upto the freezing of\nuserspace and exits, when in fact it should go till the complete end of task\nfreezing stage, namely the freezing of kernel threads as well.\n\nSo, move these points of exit to appropriate places so that freezing of\nkernel threads is also tested while using these test harnesses.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d004e024058a0eaca097513ce62cbcf978913e0a",
      "tree": "94191734e099dd46b8998d813125efaa4a8a37d6",
      "parents": [
        "367177e50189ab0a983b52f3d3f7eb2a1927db71"
      ],
      "author": {
        "name": "Hector Palacios",
        "email": "hector.palacios@digi.com",
        "time": "Mon Nov 14 11:15:25 2011 +0100"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Nov 17 14:57:19 2011 -0800"
      },
      "message": "timekeeping: add arch_offset hook to ktime_get functions\n\nktime_get and ktime_get_ts were calling timekeeping_get_ns()\nbut later they were not calling arch_gettimeoffset() so architectures\nusing this mechanism returned 0 ns when calling these functions.\n\nThis happened for example when running Busybox\u0027s ping which calls\nsyscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts) which eventually\ncalls ktime_get. As a result the returned ping travel time was zero.\n\nCC: stable@kernel.org\nSigned-off-by: Hector Palacios \u003chector.palacios@digi.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "2ed0e645f358c26f4f4a7aed56a9488db0020ad1",
      "tree": "f8425da7c40d068d532cc53313eebdd3414e5047",
      "parents": [
        "aa1b052a34d7ec85b23f4fba564df24b9477201b"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Wed Nov 16 12:27:39 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 17 17:44:04 2011 +0100"
      },
      "message": "genirq: Don\u0027t allow per cpu interrupts to be suspended\n\nThe power management functions related to interrupts do not know\n(yet) about per-cpu interrupts and end up calling the wrong\nlow-level methods to enable/disable interrupts.\n\nThis leads to all kind of interesting issues (action taken on one\nCPU only, updating a refcount which is not used otherwise...).\n\nThe workaround for the time being is simply to flag these interrupts\nwith IRQF_NO_SUSPEND. At least on ARM, these interrupts are actually\ndealt with at the architecture level.\n\nReported-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nLink: http://lkml.kernel.org/r/1321446459-31409-1-git-send-email-marc.zyngier@arm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aa1b052a34d7ec85b23f4fba564df24b9477201b",
      "tree": "904f0ede7a80b9c8e6e341bfb5d72b8731767d24",
      "parents": [
        "bd29e568a4cb6465f6e5ec7c1c1f3ae7d99cbec1",
        "c75d720fca8a91ce99196d33adea383621027bf2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 17 11:46:26 2011 -0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 17 11:46:26 2011 -0200"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Fix irqfixup, irqpoll regression\n"
    },
    {
      "commit": "468e6a20afaccb67e2a7d7f60d301f90e1c6f301",
      "tree": "5558e92e85decd0fa0bb95ed6e637e1f68ea2fe1",
      "parents": [
        "1df647197c5b8aacaeb58592cba9a1df322c9000"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Sep 07 10:41:32 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Thu Nov 17 20:49:06 2011 +0800"
      },
      "message": "writeback: remove vm_dirties and task-\u003edirties\n\nThey are not used any more.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "fccfdc6f0d8c83c854eeb6d93aa158f0e551bd49",
      "tree": "d3a397152c6bff8675350e58e2aceb4ec34c1108",
      "parents": [
        "4dcfe1025b513c2c1da5bf5586adb0e80148f612"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 07 20:26:34 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 16 08:43:45 2011 +0100"
      },
      "message": "sched: Fix buglet in return_cfs_rq_runtime()\n\nIn return_cfs_rq_runtime() we want to return bandwidth when there are no\nremaining tasks, not \"return\" when this is the case.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111108042736.623812423@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4dcfe1025b513c2c1da5bf5586adb0e80148f612",
      "tree": "1c0bf8ad4c09a3a618c471b6468873d8d8ed2117",
      "parents": [
        "f1c6f1a7eed963ed233ba4c8b6fa8addb86c6ddc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Nov 10 13:01:10 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 16 08:43:43 2011 +0100"
      },
      "message": "sched: Avoid SMT siblings in select_idle_sibling() if possible\n\nAvoid select_idle_sibling() from picking a sibling thread if there\u0027s\nan idle core that shares cache.\n\nThis fixes SMT balancing in the increasingly common case where there\u0027s\na shared cache core available to balance to.\n\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/1321350377.1421.55.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d5f003f5a964711853514b04ddc872eec0fdc7b",
      "tree": "6f3e912a02b50dc698f601c3a08453a781e7f754",
      "parents": [
        "57d1c0c03c6b48b2b96870d831b9ce6b917f53ac"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Oct 23 19:10:33 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 13:01:21 2011 +0100"
      },
      "message": "perf: Do not set task_ctx pointer in cpuctx if there are no events in the context\n\nDo not set task_ctx pointer during sched_in if there are no\nevents associated with the context.  Otherwise if during task\nexecution total number of events in the system will become zero\nperf_event_context_sched_out() will not be called and cpuctx-\u003etask_ctx\nwill be left with a stale value.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111023171033.GI17571@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f1c6f1a7eed963ed233ba4c8b6fa8addb86c6ddc",
      "tree": "06a00ecfe00ddadb282c88fb3408c158c08fd312",
      "parents": [
        "4a6184ce7a48c478dee0d8a9ed74c1fa35161858"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "C.Emde@osadl.org",
        "time": "Wed Oct 26 23:14:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:43 2011 +0100"
      },
      "message": "sched: Set the command name of the idle tasks in SMP kernels\n\nIn UP systems, the idle task is initialized using the init_task\nstructure from which the command name is taken (currently \"swapper\").\n\nIn SMP systems, one idle task per CPU is forked by the worker thread\nfrom which the task structure is copied. The command name is, therefore,\n\"kworker/0:0\" or \"kworker/0:1\", if not updated. Since such update was\nlacking, all idle tasks in SMP systems were incorrectly named. This\nlongtime bug was not discovered immediately, because there is no /proc/0\nentry - the bug only becomes apparent when tracing is enabled.\n\nThis patch sets the command name of the idle tasks in SMP systems to the\nname that is used in the INIT_TASK structure suffixed by a slash and the\nnumber of the CPU.\n\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111026211708.768925506@osadl.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a6184ce7a48c478dee0d8a9ed74c1fa35161858",
      "tree": "4b4b19673ade197de17614df11a2825410ca7baf",
      "parents": [
        "c6dc7f055d333ef35f397b8d7c3abcd1918bf8cb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 06 22:39:14 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:40 2011 +0100"
      },
      "message": "sched, rt: Provide means of disabling cross-cpu bandwidth sharing\n\nNormally the RT bandwidth scheme will share bandwidth across the\nentire root_domain. However sometimes its convenient to disable this\nsharing for debug purposes. Provide a simple feature switch to this\nend.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6dc7f055d333ef35f397b8d7c3abcd1918bf8cb",
      "tree": "c4edc4a84ba9636057d923a308e2a3bcd910fa63",
      "parents": [
        "461819ac8ee950ce027c72a066156a3df9e60c7e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Oct 06 15:22:46 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:37 2011 +0100"
      },
      "message": "sched: Document wait_for_completion_*() return values\n\nThe return-value convention for these functions varies depending on\nwhether they\u0027re interruptible or can timeout.  It can be a little\nconfusing--document it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111006192246.GB28026@fieldses.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "461819ac8ee950ce027c72a066156a3df9e60c7e",
      "tree": "56f6c312adfdf826e9d57b797a9e101b9ff3ab31",
      "parents": [
        "cf5f0acf3935c91379e709a71ecf68805d366659"
      ],
      "author": {
        "name": "Hui Kang",
        "email": "hkang.sunysb@gmail.com",
        "time": "Tue Oct 11 23:00:59 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:34 2011 +0100"
      },
      "message": "sched_fair: Fix a typo in the comment describing update_sd_lb_stats\n\nSigned-off-by: Hui Kang \u003chkang.sunysb@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1318388459-4427-1-git-send-email-hkang.sunysb@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf5f0acf3935c91379e709a71ecf68805d366659",
      "tree": "66bbd968ec8031c33e7134b6c7f9387c796d6873",
      "parents": [
        "7f80850d3f9fd8fda23a317044aef3a6bafab06b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 13 16:52:28 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:32 2011 +0100"
      },
      "message": "sched: Add a comment to effective_load() since it\u0027s a pain\n\nEvery time I have to stare at this function I need to completely\nreverse engineer its workings, about time I write a comment\nexplaining the thing.\n\nCollected bits and pieces from previous changelogs, mostly:\n\n  4be9daaa1b33701f011f4117f22dc1e45a3e6e34\n  83378269a5fad98f562ebc0f09c349575e6cbfe1\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1318518057.27731.2.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "367177e50189ab0a983b52f3d3f7eb2a1927db71",
      "tree": "fed5e93eb35d002e21cb3c2fafbfe38062aaa266",
      "parents": [
        "c2bc11113c50449f23c40b724fe410fc2380a8e9",
        "d65670a78cdbfae94f20a9e05ec705871d7cdf2b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:10:42 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:10:42 2011 +0100"
      },
      "message": "Merge branch \u0027formingo/3.2/tip/timers/core\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n\nConflicts:\n\tkernel/time/timekeeping.c\n"
    },
    {
      "commit": "d65670a78cdbfae94f20a9e05ec705871d7cdf2b",
      "tree": "3c16dedb75fa5ab6c0fdc072cc8d73df01d43a17",
      "parents": [
        "e35f95b36e43f67a6f806172555a152c11ea0a78"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Oct 31 17:06:35 2011 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Nov 10 11:27:08 2011 -0800"
      },
      "message": "clocksource: Avoid selecting mult values that might overflow when adjusted\n\nFor some frequencies, the clocks_calc_mult_shift() function will\nunfortunately select mult values very close to 0xffffffff.  This\nhas the potential to overflow when NTP adjusts the clock, adding\nto the mult value.\n\nThis patch adds a clocksource.maxadj value, which provides\nan approximation of an 11% adjustment(NTP limits adjustments to\n500ppm and the tick adjustment is limited to 10%), which could\nbe made to the clocksource.mult value. This is then used to both\ncheck that the current mult value won\u0027t overflow/underflow, as\nwell as warning us if the timekeeping_adjust() code pushes over\nthat 11% boundary.\n\nv2: Fix max_adjustment calculation, and improve WARN_ONCE\nmessages.\n\nv3: Don\u0027t warn before maxadj has actually been set\n\nCC: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCC: David Daney \u003cddaney.cavm@gmail.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Chen Jie \u003cchenj@lemote.com\u003e\nCC: zhangfx \u003czhangfx@lemote.com\u003e\nCC: stable@kernel.org\nReported-by: Chen Jie \u003cchenj@lemote.com\u003e\nReported-by: zhangfx \u003czhangfx@lemote.com\u003e\nTested-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "a6f05b97d1ba87326bd96f3da9fef994830d6994",
      "tree": "d3e4aa1f3d0691c45842b49338d2fce8e74a43e7",
      "parents": [
        "94956eed14b4b16d401c8ad36d68df0608f968cb"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Nov 06 21:54:12 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 07 23:02:24 2011 +0100"
      },
      "message": "PM / QoS: Set cpu_dma_pm_qos-\u003ename\n\nSince commit 4a31a334, the name of this misc device is not initialized,\nwhich leads to a funny device named /dev/(null) being created and\n/proc/misc containing an entry with just a number but no name. The latter\nleads to complaints by cryptsetup, which caused me to investigate this\nmatter.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b32fc0a0629bf5894b35f33554c118aacfd0d1e2",
      "tree": "5d6aaa9a35b7fa63681adab91da3b3dec5276f84",
      "parents": [
        "403299a8515c56db58454c57712f4dc96d6c1fde",
        "97ce2c88f9ad42e3c60a9beb9fca87abf3639faa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 20:20:46 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 20:20:46 2011 -0800"
      },
      "message": "Merge branch \u0027upstream/jump-label-noearly\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen\n\n* \u0027upstream/jump-label-noearly\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:\n  jump-label: initialize jump-label subsystem much earlier\n  x86/jump_label: add arch_jump_label_transform_static()\n  s390/jump-label: add arch_jump_label_transform_static()\n  jump_label: add arch_jump_label_transform_static() to optimise non-live code updates\n  sparc/jump_label: drop arch_jump_label_text_poke_early()\n  x86/jump_label: drop arch_jump_label_text_poke_early()\n  jump_label: if a key has already been initialized, don\u0027t nop it out\n  stop_machine: make stop_machine safe and efficient to call early\n  jump_label: use proper atomic_t initializer\n\nConflicts:\n - arch/x86/kernel/jump_label.c\n\tAdded __init_or_module to arch_jump_label_text_poke_early vs\n\tremoval of that function entirely\n - kernel/stop_machine.c\n\tsame patch (\"stop_machine: make stop_machine safe and efficient\n\tto call early\") merged twice, with whitespace fix in one version\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "208bca0860406d16398145ddd950036a737c3c9d",
      "tree": "7797a16c17d8bd155120126fa7976727fc6de013",
      "parents": [
        "6aad3738f6a79fd0ca480eaceefe064cc471f6eb",
        "0e175a1835ffc979e55787774e58ec79e41957d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Add a \u0027reason\u0027 to wb_writeback_work\n  writeback: send work item to queue_io, move_expired_inodes\n  writeback: trace event balance_dirty_pages\n  writeback: trace event bdi_dirty_ratelimit\n  writeback: fix ppc compile warnings on do_div(long long, unsigned long)\n  writeback: per-bdi background threshold\n  writeback: dirty position control - bdi reserve area\n  writeback: control dirty pause time\n  writeback: limit max dirty pause time\n  writeback: IO-less balance_dirty_pages()\n  writeback: per task dirty rate limit\n  writeback: stabilize bdi-\u003edirty_ratelimit\n  writeback: dirty rate control\n  writeback: add bg_threshold parameter to __bdi_update_bandwidth()\n  writeback: dirty position control\n  writeback: account per-bdi accumulated dirtied pages\n"
    },
    {
      "commit": "d4a2e61f0b7a7b5b9e321e776a1e874c02e847e4",
      "tree": "d90b71a99cb82809d56f9798f59d175b57562803",
      "parents": [
        "0e4c9dc2f2e0fb6d3838eba34382fc6d2d1c381c",
        "2449b8ba0745327c5fa49a8d9acffe03b2eded69"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:28:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:28:32 2011 -0800"
      },
      "message": "Merge git://github.com/rustyrussell/linux\n\n* git://github.com/rustyrussell/linux:\n  module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree\n  module: Enable dynamic debugging regardless of taint\n"
    },
    {
      "commit": "1197ab2942f920f261952de0c392ac749a35796b",
      "tree": "4922ccc8a6061e5ece6ac7420001f3bf4524ea92",
      "parents": [
        "ec773e99ab4abce07b1ae23117179c2861831964",
        "96cc017c5b7ec095ef047d3c1952b6b6bbf98943"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:12:03 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:12:03 2011 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (106 commits)\n  powerpc/p3060qds: Add support for P3060QDS board\n  powerpc/83xx: Add shutdown request support to MCU handling on MPC8349 MITX\n  powerpc/85xx: Make kexec to interate over online cpus\n  powerpc/fsl_booke: Fix comment in head_fsl_booke.S\n  powerpc/85xx: issue 15 EOI after core reset for FSL CoreNet devices\n  powerpc/8xxx: Fix interrupt handling in MPC8xxx GPIO driver\n  powerpc/85xx: Add \u0027fsl,pq3-gpio\u0027 compatiable for GPIO driver\n  powerpc/86xx: Correct Gianfar support for GE boards\n  powerpc/cpm: Clear muram before it is in use.\n  drivers/virt: add ioctl for 32-bit compat on 64-bit to fsl-hv-manager\n  powerpc/fsl_msi: add support for \"msi-address-64\" property\n  powerpc/85xx: Setup secondary cores PIR with hard SMP id\n  powerpc/fsl-booke: Fix settlbcam for 64-bit\n  powerpc/85xx: Adding DCSR node to dtsi device trees\n  powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards\n  powerpc/85xx: fix PHYS_64BIT selection for P1022DS\n  powerpc/fsl-booke: Fix setup_initial_memory_limit to not blindly map\n  powerpc: respect mem\u003d setting for early memory limit setup\n  powerpc: Update corenet64_smp_defconfig\n  powerpc: Update mpc85xx/corenet 32-bit defconfigs\n  ...\n\nFix up trivial conflicts in:\n - arch/powerpc/configs/40x/hcu4_defconfig\n\tremoved stale file, edited elsewhere\n - arch/powerpc/include/asm/udbg.h, arch/powerpc/kernel/udbg.c:\n\tadded opal and gelic drivers vs added ePAPR driver\n - drivers/tty/serial/8250.c\n\tmoved UPIO_TSI to powerpc vs removed UPIO_DWAPB support\n"
    },
    {
      "commit": "2449b8ba0745327c5fa49a8d9acffe03b2eded69",
      "tree": "48e11288635dcfc8cdb342f3ba00fa2a2a650aa8",
      "parents": [
        "1cd0d6c3021c8d76641b37203f504634b87fbabc"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon Oct 24 15:12:28 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 07 07:54:42 2011 +1030"
      },
      "message": "module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree\n\nUse of the GPL or a compatible licence doesn\u0027t necessarily make the code\nany good.  We already consider staging modules to be suspect, and this\nshould also be true for out-of-tree modules which may receive very\nlittle review.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nReviewed-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (patched oops-tracing.txt)\n"
    },
    {
      "commit": "1cd0d6c3021c8d76641b37203f504634b87fbabc",
      "tree": "e58051cdb845375c13c22bfa38db0b6fc2c71977",
      "parents": [
        "43672a0784707d795556b1f93925da8b8e797d03"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Nov 01 03:59:33 2011 +0000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 07 07:54:40 2011 +1030"
      },
      "message": "module: Enable dynamic debugging regardless of taint\n\nDynamic debugging is currently disabled for tainted modules, except\nfor TAINT_CRAP.  This prevents use of dynamic debugging for\nout-of-tree modules once the next patch is applied.\n\nThis condition was apparently intended to avoid a crash if a force-\nloaded module has an incompatible definition of dynamic debug\nstructures.  However, a administrator that forces us to load a module\nis claiming that it *is* compatible even though it fails our version\nchecks.  If they are mistaken, there are any number of ways the module\ncould crash the system.\n\nAs a side-effect, proprietary and other tainted modules can now use\ndynamic_debug.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "d6cc76856d353a3a9c43bead33210b9216dce332",
      "tree": "06d072db1e4672ef595a1e8f411f7bd4b8e63866",
      "parents": [
        "6f35c4abd7f0294166a5e0ab0401fe7949b33034"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 04 01:04:52 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 04 22:28:15 2011 +0100"
      },
      "message": "PM / Freezer: Revert 27920651fe \"PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too\"\n\nCommit 27920651fe \"PM / Freezer: Make fake_signal_wake_up() wake\nTASK_KILLABLE tasks too\" updated fake_signal_wake_up() used by freezer\nto wake up KILLABLE tasks.  Sending unsolicited wakeups to tasks in\nkillable sleep is dangerous as there are code paths which depend on\ntasks not waking up spuriously from KILLABLE sleep.\n\nFor example. sys_read() or page can sleep in TASK_KILLABLE assuming\nthat wait/down/whatever _killable can only fail if we can not return\nto the usermode.  TASK_TRACED is another obvious example.\n\nThe previous patch updated wait_event_freezekillable() such that it\ndoesn\u0027t depend on the spurious wakeup.  This patch reverts the\noffending commit.\n\nNote that the spurious KILLABLE wakeup had other implicit effects in\nKILLABLE sleeps in nfs and cifs and those will need further updates to\nregain freezekillable behavior.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "6513fd6972f725291ee8ce62c7a39fb8a6c7391e",
      "tree": "d5fd2722e3f1299f3b71b917fa1287e302f2df76",
      "parents": [
        "a96d69d1b02c4a526bd8c07e0cb10c129025c88c"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Thu Nov 03 10:12:36 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 04 22:28:14 2011 +0100"
      },
      "message": "PM / QoS: Remove redundant check\n\nRemove an \"if\" check, that repeats an equivalent one 6 lines above.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "79cfbdfa87e84992d509e6c1648a18e1d7e68c20",
      "tree": "cc82be9bc890aa0b2b635ceff06db2ed9056460d",
      "parents": [
        "ddf6ce45a7b1193f3cf20ad234f35af3b998b8f8"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu Nov 03 00:59:25 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 04 22:28:09 2011 +0100"
      },
      "message": "PM / Sleep: Fix race between CPU hotplug and freezer\n\nThe CPU hotplug notifications sent out by the _cpu_up() and _cpu_down()\nfunctions depend on the value of the \u0027tasks_frozen\u0027 argument passed to them\n(which indicates whether tasks have been frozen or not).\n(Examples for such CPU hotplug notifications: CPU_ONLINE, CPU_ONLINE_FROZEN,\nCPU_DEAD, CPU_DEAD_FROZEN).\n\nThus, it is essential that while the callbacks for those notifications are\nrunning, the state of the system with respect to the tasks being frozen or\nnot remains unchanged, *throughout that duration*. Hence there is a need for\nsynchronizing the CPU hotplug code with the freezer subsystem.\n\nSince the freezer is involved only in the Suspend/Hibernate call paths, this\npatch hooks the CPU hotplug code to the suspend/hibernate notifiers\nPM_[SUSPEND|HIBERNATE]_PREPARE and PM_POST_[SUSPEND|HIBERNATE] to prevent\nthe race between CPU hotplug and freezer, thus ensuring that CPU hotplug\nnotifications will always be run with the state of the system really being\nwhat the notifications indicate, _throughout_ their execution time.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4536e4d1d21c8172402a2217b0fa1880665ace36",
      "tree": "0bcf19fda146cb4afbdd6487218fb6ac16b80fcd",
      "parents": [
        "43672a0784707d795556b1f93925da8b8e797d03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 03 07:44:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 03 07:44:04 2011 -0700"
      },
      "message": "Revert \"perf: Add PM notifiers to fix CPU hotplug races\"\n\nThis reverts commit 144060fee07e9c22e179d00819c83c86fbcbf82c.\n\nIt causes a resume regression for Andi on his Acer Aspire 1830T post\n3.1.  The screen just stays black after wakeup.\n\nAlso, it really looks like the wrong way to suspend and resume perf\nevents: I think they should be done as part of the CPU suspend and\nresume, rather than as a notifier that does smp_call_function().\n\nReported-by: Andi Kleen \u003candi@firstfloor.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c75d720fca8a91ce99196d33adea383621027bf2",
      "tree": "8b5f2605c4bbd61f2cc43f37a163b60d073433cd",
      "parents": [
        "c3b92c8787367a8bb53d57d9789b558f1295cc96"
      ],
      "author": {
        "name": "Edward Donovan",
        "email": "edward.donovan@numble.net",
        "time": "Tue Nov 01 15:29:44 2011 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 03 13:12:39 2011 +0100"
      },
      "message": "genirq: Fix irqfixup, irqpoll regression\n\ncommit d05c65fff0 (\"genirq: spurious: Run only one poller at a time\")\nintroduced a regression, leaving the boot options \u0027irqfixup\u0027 and\n\u0027irqpoll\u0027 non-functional. The patch placed tests in each function, to\nexit if the function is already running. The test in \u0027misrouted_irq\u0027\nexited when it should have proceeded, effectively disabling\n\u0027misrouted_irq\u0027 and \u0027poll_spurious_irqs\u0027.\n\nThe check for an already running poller needs to be \"!\u003d 1\" not \"\u003d\u003d 1\"\nas \"1\" is the value when the first poller starts running.\n\nSigned-off-by: Edward Donovan \u003cedward.donovan@numble.net\u003e\nCc: maciej.rutecki@gmail.com\nLink: http://lkml.kernel.org/r/1320175784-6745-1-git-send-email-edward.donovan@numble.net\nCc: stable@vger.kernel.org # \u003e\u003d 2.6.39\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c1e2ee2dc436574880758b3836fc96935b774c32",
      "tree": "aa496a9ba20e06749194faa4dbb14b6046e6b06b",
      "parents": [
        "080d676de095a14ecba14c0b9a91acb5bbb634df"
      ],
      "author": {
        "name": "Andrew Bresticker",
        "email": "abrestic@google.com",
        "time": "Wed Nov 02 13:40:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:03 2011 -0700"
      },
      "message": "memcg: replace ss-\u003eid_lock with a rwlock\n\nWhile back-porting Johannes Weiner\u0027s patch \"mm: memcg-aware global\nreclaim\" for an internal effort, we noticed a significant performance\nregression during page-reclaim heavy workloads due to high contention of\nthe ss-\u003eid_lock.  This lock protects idr map, and serializes calls to\nidr_get_next() in css_get_next() (which is used during the memcg hierarchy\nwalk).\n\nSince idr_get_next() is just doing a look up, we need only serialize it\nwith respect to idr_remove()/idr_get_new().  By making the ss-\u003eid_lock a\nrwlock, contention is greatly reduced and performance improves.\n\nTested: cat a 256m file from a ramdisk in a 128m container 50 times on\neach core (one file + container per core) in parallel on a NUMA machine.\nResult is the time for the test to complete in 1 of the containers.\nBoth kernels included Johannes\u0027 memcg-aware global reclaim patches.\n\nBefore rwlock patch: 1710.778s\nAfter rwlock patch: 152.227s\n\nSigned-off-by: Andrew Bresticker \u003cabrestic@google.com\u003e\nCc: Paul Menage \u003cmenage@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1ecf06854a66ee663f4d4cf029c78cd62a15e04",
      "tree": "cbe863057fa14b9390746db6d2b1812a2f874b48",
      "parents": [
        "088024b1deee206cd37eff980138e918837aabdb"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Nov 02 13:39:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:02 2011 -0700"
      },
      "message": "sysctl: add support for poll()\n\nAdding support for poll() in sysctl fs allows userspace to receive\nnotifications of changes in sysctl entries.  This adds a infrastructure to\nallow files in sysctl fs to be pollable and implements it for hostname and\ndomainname.\n\n[akpm@linux-foundation.org: s/declare/define/ for definitions]\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "89e8a244b97e48f1f30e898b6f32acca477f2a13"
}
