)]}'
{
  "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": "3842a0832a1d6eb0b31421f8810a813135967512",
      "tree": "67aff02fde9c32e647d7b3c4cea948d7867f664d",
      "parents": [
        "f0e7c19db8798b4b991a2c71911e71f5dfdb348f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Nov 28 10:42:42 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:06 2011 -0800"
      },
      "message": "rcu: Document same-context read-side constraints\n\nThe intent is that a given RCU read-side critical section be confined\nto a single context.  For example, it is illegal to invoke rcu_read_lock()\nin an exception handler and then invoke rcu_read_unlock() from the\ncontext of the task that received the exception.\n\nSuggested-by: Peter Zijlstra \u003cpeterz@infradead.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": "045fb9315a2129023d70a0eecf0942e18fca4fcd",
      "tree": "ede20a4d4edd1d02362af24131114c93a84b77b1",
      "parents": [
        "182dd4b277177e8465ad11cd9f85f282946b5578"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 12:13:03 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:59 2011 -0800"
      },
      "message": "rcu: Update trace_rcu_dyntick() header comment\n\nThis commit updates the trace_rcu_dyntick() header comment to reflect\nevents added by commit 4b4f421.\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": "182dd4b277177e8465ad11cd9f85f282946b5578",
      "tree": "3fa8d555651b04ba39b871c8ffb7cb9cb2c6f512",
      "parents": [
        "1268fbc746ea1cd279886a740dcbad4ba5232225"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Nov 22 10:55:12 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:58 2011 -0800"
      },
      "message": "doc: Add load/store guarantees to Documentation/atomic-ops.txt\n\nAn IRC discussion uncovered many conflicting opinions on what types\nof data may be atomically loaded and stored.  This commit therefore\ncalls this out the official set: pointers, longs, ints, and chars (but\nnot shorts).  This commit also gives some examples of compiler mischief\nthat can thwart atomicity.\n\nPlease note that this discussion is relevant to !SMP kernels if\nCONFIG_PREEMPT\u003dy: preemption can cause almost as much trouble as can SMP.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@gmail.com\u003e\nCc: Hans-Christian Egtvedt \u003cegtvedt@samfundet.no\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Richard Kuo \u003crkuo@codeaurora.org\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nCc: Jonas Bonn \u003cjonas@southpole.se\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: \"James E.J. Bottomley\" \u003cjejb@parisc-linux.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Chen Liqin \u003cliqin.chen@sunplusct.com\u003e\nCc: Lennox Wu \u003clennox.wu@gmail.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\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": "a95f8817f8afa75ab41728bd1bb65024c65c91c3",
      "tree": "5ada942d03d9aa3956fc5e51697a25b71c6f1627",
      "parents": [
        "77aeeebd7b5483582d0eb6e3fd2894771d1fd8e5"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 16:16:13 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:55 2011 -0800"
      },
      "message": "tile: Make tile 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\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.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": "29f043a2caea2860db36fbeda0c17f79bf0cffbe",
      "tree": "c776a156e1a3d3dcee8d6082e6b731f17c94914f",
      "parents": [
        "99745b6a83414006f5c1e83efaebb423b41b67ef"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 15:56:46 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:49 2011 -0800"
      },
      "message": "sparc: Make SPARC 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\nAcked-by: David S. Miller \u003cdavem@davemloft.net\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": "c4f3060843506ba6d473ab9a0afe5bd5dc93a00d",
      "tree": "3fa6ed6ea9288daa19426a5402d5bcb08f6edcbe",
      "parents": [
        "bb3bf7052de520f2d21a1275e95fac7a84d89e4c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 12:41:56 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:47 2011 -0800"
      },
      "message": "sched: Add is_idle_task() to handle invalidated uses of idle_cpu()\n\nCommit 908a3283 (Fix idle_cpu()) invalidated some uses of idle_cpu(),\nwhich used to say whether or not the CPU was running the idle task,\nbut now instead says whether or not the CPU is running the idle task\nin the absence of pending wakeups.  Although this new implementation\ngives a better answer to the question \"is this CPU idle?\", it also\ninvalidates other uses that were made of idle_cpu().\n\nThis commit therefore introduces a new is_idle_task() API member\nthat determines whether or not the specified task is one of the\nidle tasks, allowing open-coded \"-\u003epid \u003d\u003d 0\" sequences to be replaced\nby something more meaningful.\n\nSuggested-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSuggested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\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": "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": "b807fbff3102bcac76ed9157d834dc20bb3d133b",
      "tree": "a47a67bc636debb60b58ef1859d5282ebec244cd",
      "parents": [
        "11dbaa8cb79a6e4a234a134898436f717a663f01"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 03 14:56:12 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:45 2011 -0800"
      },
      "message": "rcu: Permit RCU_FAST_NO_HZ to be used by TREE_PREEMPT_RCU\n\nThe new implementation of RCU_FAST_NO_HZ is compatible with preemptible\nRCU, so this commit removes the Kconfig restriction that previously\nprohibited this.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\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": "9ceae0e248fb553c702d51d5275167d462f4efd2",
      "tree": "f7ac3ac7d70cea2bf1db11b4065a357d9dca9d30",
      "parents": [
        "0c53dd8b31404c1d7fd15be8f065ebaec615a562"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Nov 03 13:43:24 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:41 2011 -0800"
      },
      "message": "rcu: Add documentation for raw SRCU read-side primitives\n\nUpdate various files in Documentation/RCU to reflect srcu_read_lock_raw()\nand srcu_read_unlock_raw().  Credit to Peter Zijlstra for suggesting\nuse of the existing _raw suffix instead of the earlier bulkref names.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0c53dd8b31404c1d7fd15be8f065ebaec615a562",
      "tree": "a12d5ced107fed7a6cdc3a82525d328de9b9d9f3",
      "parents": [
        "a7b152d5342c06e81ab0cf7d18345f69fa7e56b5"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Oct 09 15:13:11 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:40 2011 -0800"
      },
      "message": "rcu: Introduce raw SRCU read-side primitives\n\nThe RCU implementations, including SRCU, are designed to be used in a\nlock-like fashion, so that the read-side lock and unlock primitives must\nexecute in the same context for any given read-side critical section.\nThis constraint is enforced by lockdep-RCU.  However, there is a need\nto enter an SRCU read-side critical section within the context of an\nexception and then exit in the context of the task that encountered the\nexception.  The cost of this capability is that the read-side operations\nincur the overhead of disabling interrupts.\n\nNote that although the current implementation allows a given read-side\ncritical section to be entered by one task and then exited by another, all\nknown possible implementations that allow this have scalability problems.\nTherefore, a given read-side critical section must be exited by the same\ntask that entered it, though perhaps from an interrupt or exception\nhandler running within that task\u0027s context.  But if you are thinking\nin terms of interrupt handlers, make sure that you have considered the\npossibility of threaded interrupt handlers.\n\nCredit goes to Peter Zijlstra for suggesting use of the existing _raw\nsuffix to indicate disabling lockdep over the earlier \"bulkref\" names.\n\nRequested-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a7b152d5342c06e81ab0cf7d18345f69fa7e56b5",
      "tree": "255a017e47aff33b910160161a55e7abd9d2cd5f",
      "parents": [
        "416eb33cd60ef405e2860a186364e57bcb2d89f6"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Oct 13 19:05:12 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:39 2011 -0800"
      },
      "message": "powerpc: Tell RCU about idle after hcall tracing\n\nThe PowerPC pSeries platform (CONFIG_PPC_PSERIES\u003dy) enables\nhypervisor-call tracing for CONFIG_TRACEPOINTS\u003dy kernels.  One of the\nhypervisor calls that is traced is the H_CEDE call in the idle loop\nthat tells the hypervisor that this OS instance no longer needs the\ncurrent CPU.  However, tracing uses RCU, so this combination of kernel\nconfiguration variables needs to avoid telling RCU about the current CPU\u0027s\nidleness until after the H_CEDE-entry tracing completes on the one hand,\nand must tell RCU that the the current CPU is no longer idle before the\nH_CEDE-exit tracing starts.\n\nIn all other cases, it suffices to inform RCU of CPU idleness upon\nidle-loop entry and exit.\n\nThis commit makes the required adjustments.\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": "98ad1cc14a5c4fd658f9d72c6ba5c86dfd3ce0d5",
      "tree": "4b5d75e3c9595f341ece93a3ed018d49dad28bf5",
      "parents": [
        "e37e112de3ac64032df45c2db0dbe1e8f1af86b4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 18:22:09 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:38 2011 -0800"
      },
      "message": "x86: Call idle notifier after irq_enter()\n\nInterrupts notify the idle exit state before calling irq_enter().\nBut the notifier code calls rcu_read_lock() and this is not\nallowed while rcu is in an extended quiescent state. We need\nto wait for irq_enter() -\u003e rcu_idle_exit() to be called before\ndoing so otherwise this results in a grumpy RCU:\n\n[    0.099991] WARNING: at include/linux/rcupdate.h:194 __atomic_notifier_call_chain+0xd2/0x110()\n[    0.099991] Hardware name: AMD690VM-FMH\n[    0.099991] Modules linked in:\n[    0.099991] Pid: 0, comm: swapper Not tainted 3.0.0-rc6+ #255\n[    0.099991] Call Trace:\n[    0.099991]  \u003cIRQ\u003e  [\u003cffffffff81051c8a\u003e] warn_slowpath_common+0x7a/0xb0\n[    0.099991]  [\u003cffffffff81051cd5\u003e] warn_slowpath_null+0x15/0x20\n[    0.099991]  [\u003cffffffff817d6fa2\u003e] __atomic_notifier_call_chain+0xd2/0x110\n[    0.099991]  [\u003cffffffff817d6ff1\u003e] atomic_notifier_call_chain+0x11/0x20\n[    0.099991]  [\u003cffffffff81001873\u003e] exit_idle+0x43/0x50\n[    0.099991]  [\u003cffffffff81020439\u003e] smp_apic_timer_interrupt+0x39/0xa0\n[    0.099991]  [\u003cffffffff817da253\u003e] apic_timer_interrupt+0x13/0x20\n[    0.099991]  \u003cEOI\u003e  [\u003cffffffff8100ae67\u003e] ? default_idle+0xa7/0x350\n[    0.099991]  [\u003cffffffff8100ae65\u003e] ? default_idle+0xa5/0x350\n[    0.099991]  [\u003cffffffff8100b19b\u003e] amd_e400_idle+0x8b/0x110\n[    0.099991]  [\u003cffffffff810cb01f\u003e] ? rcu_enter_nohz+0x8f/0x160\n[    0.099991]  [\u003cffffffff810019a0\u003e] cpu_idle+0xb0/0x110\n[    0.099991]  [\u003cffffffff817a7505\u003e] rest_init+0xe5/0x140\n[    0.099991]  [\u003cffffffff817a7468\u003e] ? rest_init+0x48/0x140\n[    0.099991]  [\u003cffffffff81cc5ca3\u003e] start_kernel+0x3d1/0x3dc\n[    0.099991]  [\u003cffffffff81cc5321\u003e] x86_64_start_reservations+0x131/0x135\n[    0.099991]  [\u003cffffffff81cc5412\u003e] x86_64_start_kernel+0xed/0xf4\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Andy Henroid \u003candrew.d.henroid@intel.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "e37e112de3ac64032df45c2db0dbe1e8f1af86b4",
      "tree": "688ac406d7edb9766f07aa7dd308d62ae1d73044",
      "parents": [
        "2bbb6817c0ac1b5f2a68d720f364f98eeb1ac4fd"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 18:22:08 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:37 2011 -0800"
      },
      "message": "x86: Enter rcu extended qs after idle notifier call\n\nThe idle notifier, called by enter_idle(), enters into rcu read\nside critical section but at that time we already switched into\nthe RCU-idle window (rcu_idle_enter() has been called). And it\u0027s\nillegal to use rcu_read_lock() in that state.\n\nThis results in rcu reporting its bad mood:\n\n[    1.275635] WARNING: at include/linux/rcupdate.h:194 __atomic_notifier_call_chain+0xd2/0x110()\n[    1.275635] Hardware name: AMD690VM-FMH\n[    1.275635] Modules linked in:\n[    1.275635] Pid: 0, comm: swapper Not tainted 3.0.0-rc6+ #252\n[    1.275635] Call Trace:\n[    1.275635]  [\u003cffffffff81051c8a\u003e] warn_slowpath_common+0x7a/0xb0\n[    1.275635]  [\u003cffffffff81051cd5\u003e] warn_slowpath_null+0x15/0x20\n[    1.275635]  [\u003cffffffff817d6f22\u003e] __atomic_notifier_call_chain+0xd2/0x110\n[    1.275635]  [\u003cffffffff817d6f71\u003e] atomic_notifier_call_chain+0x11/0x20\n[    1.275635]  [\u003cffffffff810018a0\u003e] enter_idle+0x20/0x30\n[    1.275635]  [\u003cffffffff81001995\u003e] cpu_idle+0xa5/0x110\n[    1.275635]  [\u003cffffffff817a7465\u003e] rest_init+0xe5/0x140\n[    1.275635]  [\u003cffffffff817a73c8\u003e] ? rest_init+0x48/0x140\n[    1.275635]  [\u003cffffffff81cc5ca3\u003e] start_kernel+0x3d1/0x3dc\n[    1.275635]  [\u003cffffffff81cc5321\u003e] x86_64_start_reservations+0x131/0x135\n[    1.275635]  [\u003cffffffff81cc5412\u003e] x86_64_start_kernel+0xed/0xf4\n[    1.275635] ---[ end trace a22d306b065d4a66 ]---\n\nFix this by entering rcu extended quiescent state later, just before\nthe CPU goes to sleep.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\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": "867f236bd12f5091df6dc7cc75f94d7fd982d78a",
      "tree": "a509f021062780e5a1f2ab8e5a63f7f016a14c28",
      "parents": [
        "ff195cb69ba8d2af9b891be3a26db95fe1999d43"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Oct 07 18:22:05 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:34 2011 -0800"
      },
      "message": "rcu: Make srcu_read_lock_held() call common lockdep-enabled function\n\nA common debug_lockdep_rcu_enabled() function is used to check whether\nRCU lockdep splats should be reported, but srcu_read_lock() does not\nuse it.  This commit therefore brings srcu_read_lock_held() up to date.\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": "ff195cb69ba8d2af9b891be3a26db95fe1999d43",
      "tree": "b7e3071e87e8abdf998d4d6200228ef1a9c906d6",
      "parents": [
        "d8ab29f8be918b34a1ccd174569a53f0eb04b0a5"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Oct 07 18:22:04 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:33 2011 -0800"
      },
      "message": "rcu: Warn when srcu_read_lock() is used in an extended quiescent state\n\nCatch SRCU up to the other variants of RCU by making PROVE_RCU\ncomplain if either srcu_read_lock() or srcu_read_lock_held() are\nused from within RCU-idle mode.\n\nFrederic reworked this to allow for the new versions of his patches\nthat check for extended quiescent states.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "d8ab29f8be918b34a1ccd174569a53f0eb04b0a5",
      "tree": "397799eee7eecc96c98f866db1536a19f863b513",
      "parents": [
        "00f49e5729af602deb559b0cf293a00b625e8636"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Oct 07 18:22:03 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:32 2011 -0800"
      },
      "message": "rcu: Remove one layer of abstraction from PROVE_RCU checking\n\nSimplify things a bit by substituting the definitions of the single-line\nrcu_read_acquire(), rcu_read_release(), rcu_read_acquire_bh(),\nrcu_read_release_bh(), rcu_read_acquire_sched(), and\nrcu_read_release_sched() functions at their call points.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "00f49e5729af602deb559b0cf293a00b625e8636",
      "tree": "3e3d5162d8a62bf6aa91b546f5760512637e6cf6",
      "parents": [
        "0464e937485f15d2add78e3b0f498469f4e6600d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 18:22:02 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:31 2011 -0800"
      },
      "message": "rcu: Warn when rcu_read_lock() is used in extended quiescent state\n\nWe are currently able to detect uses of rcu_dereference_check() inside\nextended quiescent states (such as the RCU-free window in idle).\nBut rcu_read_lock() and friends can be used without rcu_dereference(),\nso that the earlier commit checking for use of rcu_dereference() and\nfriends while in RCU idle mode miss some error conditions.  This commit\ntherefore adds extended quiescent state checking to rcu_read_lock() and\nfriends.\n\nUses of RCU from within RCU-idle mode are totally ignored by\nRCU, hence the importance 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": "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": "2c01531f08f8ba663a20d8472a3032f6df133b6e",
      "tree": "3a6c5ce1fc95258e5431968a0011f6e80f3c431e",
      "parents": [
        "91afaf300269aa99a4d646969b3258b74294ac4d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Oct 02 17:21:18 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:26 2011 -0800"
      },
      "message": "rcu: Document failing tick as cause of RCU CPU stall warning\n\nOne of lclaudio\u0027s systems was seeing RCU CPU stall warnings from idle.\nThese turned out to be caused by a bug that stopped scheduling-clock\ntick interrupts from being sent to a given CPU for several hundred seconds.\nThis commit therefore updates the documentation to call this out as a\npossible cause for RCU CPU stall warnings.\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": "b804cb9e91c6c304959c69d4f9daeef4ffdba71c",
      "tree": "21f5a6d22df6fa9f4da3c3531fedbc52aace15ed",
      "parents": [
        "7077714ec4940a6c5b1189c3afb4f47bf49ad877"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 10:23:39 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:23 2011 -0800"
      },
      "message": "lockdep: Update documentation for lock-class leak detection\n\nThere are a number of bugs that can leak or overuse lock classes,\nwhich can cause the maximum number of lock classes (currently 8191)\nto be exceeded.  However, the documentation does not tell you how to\ntrack down these problems.  This commit addresses this shortcoming.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\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": "dc47ce90c3a822cd7c9e9339fe4d5f61dcb26b50",
      "tree": "4b699371901274e6c49a4e9d551758f033917fb3",
      "parents": [
        "8def5f51b012efb00e77ba2d04696cc0aadd0609"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 15:09:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 15:09:32 2011 -0800"
      },
      "message": "Linux 3.2-rc5\n"
    },
    {
      "commit": "8def5f51b012efb00e77ba2d04696cc0aadd0609",
      "tree": "17b51ff707fd1b3efec3a3ab872f0d7a7416aca5",
      "parents": [
        "a776878d6cf8a81fa65b29aa9bd6a10a5131e71c",
        "7023676f9ee851d94f0942e879243fc1f9081c47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 14:45:44 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 14:45:44 2011 -0800"
      },
      "message": "Merge git://git.samba.org/sfrench/cifs-2.6\n\n* git://git.samba.org/sfrench/cifs-2.6:\n  cifs: check for NULL last_entry before calling cifs_save_resume_key\n  cifs: attempt to freeze while looping on a receive attempt\n  cifs: Fix sparse warning when calling cifs_strtoUCS\n  CIFS: Add descriptions to the brlock cache functions\n"
    },
    {
      "commit": "a776878d6cf8a81fa65b29aa9bd6a10a5131e71c",
      "tree": "a57cbd9605b86ff168f2bf3c2895461432a7e5c2",
      "parents": [
        "e2f4e0bc2aaf41a2b487ef7d2afb76e5c87d466c",
        "e8c7106280a305e1ff2a3a8a4dfce141469fb039"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 14:45:12 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 14:45:12 2011 -0800"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, efi: Calling __pa() with an ioremap()ed address is invalid\n  x86, hpet: Immediately disable HPET timer 1 if rtc irq is masked\n  x86/intel_mid: Kconfig select fix\n  x86/intel_mid: Fix the Kconfig for MID selection\n"
    },
    {
      "commit": "e2f4e0bc2aaf41a2b487ef7d2afb76e5c87d466c",
      "tree": "33e02db84c7a9232ca775fd12e52bb9a2e37a7cc",
      "parents": [
        "af209e0aea2b1a6216c728decfaa231f587b8c2b",
        "c65b53ba4f9ca4520078bab23099579da3bf0446"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 14:41:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 14:41:50 2011 -0800"
      },
      "message": "Merge branch \u0027spi/for-3.2\u0027 of git://git.pengutronix.de/git/wsa/linux-2.6\n\n* \u0027spi/for-3.2\u0027 of git://git.pengutronix.de/git/wsa/linux-2.6:\n  spi/gpio: fix section mismatch warning\n  spi/fsl-espi: disable CONFIG_SPI_FSL_ESPI\u003dm build\n  spi/nuc900: Include linux/module.h\n  spi/ath79: fix compile error due to missing include\n"
    },
    {
      "commit": "af209e0aea2b1a6216c728decfaa231f587b8c2b",
      "tree": "d50d386d7e84abfd6ae96eb30cf08d19f8946f93",
      "parents": [
        "53523d5263dce1a3e3662c612f7050a4569071ad",
        "5d8c71f9e5fbdd95650be00294d238e27a363b5c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:18:08 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:18:08 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md:\n  md: raid5 crash during degradation\n  md/raid5: never wait for bad-block acks on failed device.\n  md: ensure new badblocks are handled promptly.\n  md: bad blocks shouldn\u0027t cause a Blocked status on a Faulty device.\n  md: take a reference to mddev during sysfs access.\n  md: refine interpretation of \"hold_active \u003d\u003d UNTIL_IOCTL\".\n  md/lock: ensure updates to page_attrs are properly locked.\n"
    },
    {
      "commit": "53523d5263dce1a3e3662c612f7050a4569071ad",
      "tree": "bc2ec3f77fcead18065c9642f456d9f6f50eb725",
      "parents": [
        "592d44a5f8458892c007c61b9cfa677efede5e1e",
        "0c90547b4a3fcee184db4d54ffc1a4fb17fd54d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:08:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:08:57 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  arch/tile: use new generic {enable,disable}_percpu_irq() routines\n  drivers/net/ethernet/tile: use skb_frag_page() API\n  asm-generic/unistd.h: support new process_vm_{readv,write} syscalls\n  arch/tile: fix double-free bug in homecache_free_pages()\n  arch/tile: add a few #includes and an EXPORT to catch up with kernel changes.\n"
    },
    {
      "commit": "592d44a5f8458892c007c61b9cfa677efede5e1e",
      "tree": "cec376faf5dd25e1ce89134b0503d8354e473392",
      "parents": [
        "3ab345fc4b95a981a83f616487bbe07ddb5b1b1a",
        "b2c1639135c0fc1560f3fe9a3a83f2c8265a9e02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:08:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:08:14 2011 -0800"
      },
      "message": "Merge branch \u0027iommu/fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu\n\n* \u0027iommu/fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:\n  MAINTAINERS: Update amd-iommu F: patterns\n  iommu/amd: Fix typo in kernel-parameters.txt\n  iommu/msm: Fix compile error in mach-msm/devices-iommu.c\n  Fix comparison using wrong pointer variable in dma debug code\n"
    },
    {
      "commit": "3ab345fc4b95a981a83f616487bbe07ddb5b1b1a",
      "tree": "fa636303d4bcae2e6dfa7f3c54541195bf67b255",
      "parents": [
        "975e32c287a9b144cf115d3f42ca18664b3331df",
        "0a34b42b6245ccc710be6759cded5b7fe41ea1f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:07:42 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:07:42 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:\n  ALSA: hda/realtek - Fix lost speaker volume controls\n  ALSA: hda/realtek - Create \"Bass Speaker\" for two speaker pins\n  ALSA: hda/realtek - Don\u0027t create extra controls with channel suffix\n  ALSA: hda - Fix remaining VREF mute-LED NID check in post-3.1 changes\n  ALSA: hda - Fix GPIO LED setup for IDT 92HD75 codecs\n  ASoC: Provide a more complete DMA driver stub\n  ASoC: Remove references to corgi and spitz from machine driver document\n  ASoC: Make SND_SOC_MX27VIS_AIC32X4 depend on I2C\n  ASoC: Fix dependency for SND_SOC_RAUMFELD and SND_PXA2XX_SOC_HX4700\n  ASoC: uda1380: Return proper error in uda1380_modinit failure path\n  ASoC: kirkwood: Make SND_KIRKWOOD_SOC_OPENRD and SND_KIRKWOOD_SOC_T5325 depend on I2C\n  ASoC: Mark WM8994 ADC muxes as virtual\n  ALSA: hda/realtek - Fix Oops in alc_mux_select()\n  ALSA: sis7019 - give slow codecs more time to reset\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": "1cee22b7f385b6c4f716846203a96e1f302132aa",
      "tree": "44ac23d3a52c80c6b1e462b7b9502a0fe61a17e4",
      "parents": [
        "b439e66f04bff6476c5d4bae6a52ab93fbb9a8f4"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Thu Dec 08 14:34:42 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:29 2011 -0800"
      },
      "message": "rapidio/tsi721: modify PCIe capability settings\n\nModify initialization of PCIe capability registers in Tsi721 mport driver:\n - change Completion Timeout value to avoid unexpected data transfer\n   aborts during intensive traffic.\n - replace hardcoded offset of PCIe capability block by making it use the\n   common function.\n\nThis patch is applicable to kernel versions starting from 3.2-rc1.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b439e66f04bff6476c5d4bae6a52ab93fbb9a8f4",
      "tree": "a2b90c408ef73b23a4d32175ddb446e56a98b0bc",
      "parents": [
        "ceb96398127f3388cb5815b2ab550196e2be5d68"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Thu Dec 08 14:34:36 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:29 2011 -0800"
      },
      "message": "rapidio/tsi721: fix mailbox resource reporting\n\nBug fix for Tsi721 RapidIO mport driver: Tsi721 supports four RapidIO\nmailboxes (MBOX0 - MBOX3) as defined by RapidIO specification.  Mailbox\nresources has to be properly reported to allow use of all available\nmailboxes (initial version reports only MBOX0).\n\nThis patch is applicable to kernel versions staring from 3.2-rc1.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ceb96398127f3388cb5815b2ab550196e2be5d68",
      "tree": "8d19e47765da5c4521ad8513c9ed5e810be185cf",
      "parents": [
        "2a95ea6c0d129b4568fb64e1deda16ceb20e6636"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Thu Dec 08 14:34:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:29 2011 -0800"
      },
      "message": "rapidio/tsi721: switch to dma_zalloc_coherent\n\nReplace the pair dma_alloc_coherent()+memset() with the new\ndma_zalloc_coherent() added by Andrew Morton for kernel version 3.2\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a95ea6c0d129b4568fb64e1deda16ceb20e6636",
      "tree": "0648fbd539e00fcfc4a394acaabd3e54b4bf8658",
      "parents": [
        "1368edf0647ac112d8cfa6ce47257dc950c50f5c"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Thu Dec 08 14:34:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:29 2011 -0800"
      },
      "message": "procfs: do not overflow get_{idle,iowait}_time for nohz\n\nSince commit a25cac5198d4 (\"proc: Consider NO_HZ when printing idle and\niowait times\") we are reporting idle/io_wait time also while a CPU is\ntickless.  We rely on get_{idle,iowait}_time functions to retrieve\nproper data.\n\nThese functions, however, use usecs_to_cputime to translate micro\nseconds time to cputime64_t.  This is just an alias to usecs_to_jiffies\nwhich reduces the data type from u64 to unsigned int and also checks\nwhether the given parameter overflows jiffies_to_usecs(MAX_JIFFY_OFFSET)\nand returns MAX_JIFFY_OFFSET in that case.\n\nWhen we overflow depends on CONFIG_HZ but especially for CONFIG_HZ_300\nit is quite low (1431649781) so we are getting MAX_JIFFY_OFFSET for\n\u003e3000s! until we overflow unsigned int.  Just for reference\nCONFIG_HZ_100 has an overflow window around 20s, CONFIG_HZ_250 ~8s and\nCONFIG_HZ_1000 ~2s.\n\nThis results in a bug when people saw [h]top going mad reporting 100%\nCPU usage even though there was basically no CPU load.  The reason was\nsimply that /proc/stat stopped reporting idle/io_wait changes (and\nreported MAX_JIFFY_OFFSET) and so the only change happening was for user\nsystem time.\n\nLet\u0027s use nsecs_to_jiffies64 instead which doesn\u0027t reduce the precision\nto 32b type and it is much more appropriate for cumulative time values\n(unlike usecs_to_jiffies which intended for timeout calculations).\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nTested-by: Artem S. Tashkinov \u003ct.artem@mailcity.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1368edf0647ac112d8cfa6ce47257dc950c50f5c",
      "tree": "57b8c97689b2db9f22487c1b03a753d350ed657c",
      "parents": [
        "d021563888312018ca65681096f62e36c20e63cc"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mgorman@suse.de",
        "time": "Thu Dec 08 14:34:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:29 2011 -0800"
      },
      "message": "mm: vmalloc: check for page allocation failure before vmlist insertion\n\nCommit f5252e00 (\"mm: avoid null pointer access in vm_struct via\n/proc/vmallocinfo\") adds newly allocated vm_structs to the vmlist after\nit is fully initialised.  Unfortunately, it did not check that\n__vmalloc_area_node() successfully populated the area.  In the event of\nallocation failure, the vmalloc area is freed but the pointer to freed\nmemory is inserted into the vmlist leading to a a crash later in\nget_vmalloc_info().\n\nThis patch adds a check for ____vmalloc_area_node() failure within\n__vmalloc_node_range.  It does not use \"goto fail\" as in the previous\nerror path as a warning was already displayed by __vmalloc_area_node()\nbefore it called vfree in its failure path.\n\nCredit goes to Luciano Chavez for doing all the real work of identifying\nexactly where the problem was.\n\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nReported-by: Luciano Chavez \u003clnx1138@linux.vnet.ibm.com\u003e\nTested-by: Luciano Chavez \u003clnx1138@linux.vnet.ibm.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t\t[3.1.x+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d021563888312018ca65681096f62e36c20e63cc",
      "tree": "cf403dfc0fd5a3775735815031add2f97b6efd40",
      "parents": [
        "09761333ed47e899cc1482c13090b95f3f711971"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Thu Dec 08 14:34:27 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "mm: Ensure that pfn_valid() is called once per pageblock when reserving pageblocks\n\nsetup_zone_migrate_reserve() expects that zone-\u003estart_pfn starts at\npageblock_nr_pages aligned pfn otherwise we could access beyond an\nexisting memblock resulting in the following panic if\nCONFIG_HOLES_IN_ZONE is not configured and we do not check pfn_valid:\n\n  IP: [\u003cc02d331d\u003e] setup_zone_migrate_reserve+0xcd/0x180\n  *pdpt \u003d 0000000000000000 *pde \u003d f000ff53f000ff53\n  Oops: 0000 [#1] SMP\n  Pid: 1, comm: swapper Not tainted 3.0.7-0.7-pae #1 VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform\n  EIP: 0060:[\u003cc02d331d\u003e] EFLAGS: 00010006 CPU: 0\n  EIP is at setup_zone_migrate_reserve+0xcd/0x180\n  EAX: 000c0000 EBX: f5801fc0 ECX: 000c0000 EDX: 00000000\n  ESI: 000c01fe EDI: 000c01fe EBP: 00140000 ESP: f2475f58\n  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\n  Process swapper (pid: 1, ti\u003df2474000 task\u003df2472cd0 task.ti\u003df2474000)\n  Call Trace:\n  [\u003cc02d389c\u003e] __setup_per_zone_wmarks+0xec/0x160\n  [\u003cc02d3a1f\u003e] setup_per_zone_wmarks+0xf/0x20\n  [\u003cc08a771c\u003e] init_per_zone_wmark_min+0x27/0x86\n  [\u003cc020111b\u003e] do_one_initcall+0x2b/0x160\n  [\u003cc086639d\u003e] kernel_init+0xbe/0x157\n  [\u003cc05cae26\u003e] kernel_thread_helper+0x6/0xd\n  Code: a5 39 f5 89 f7 0f 46 fd 39 cf 76 40 8b 03 f6 c4 08 74 32 eb 91 90 89 c8 c1 e8 0e 0f be 80 80 2f 86 c0 8b 14 85 60 2f 86 c0 89 c8 \u003c2b\u003e 82 b4 12 00 00 c1 e0 05 03 82 ac 12 00 00 8b 00 f6 c4 08 0f\n  EIP: [\u003cc02d331d\u003e] setup_zone_migrate_reserve+0xcd/0x180 SS:ESP 0068:f2475f58\n  CR2: 00000000000012b4\n\nWe crashed in pageblock_is_reserved() when accessing pfn 0xc0000 because\nhighstart_pfn \u003d 0x36ffe.\n\nThe issue was introduced in 3.0-rc1 by 6d3163ce (\"mm: check if any page\nin a pageblock is reserved before marking it MIGRATE_RESERVE\").\n\nMake sure that start_pfn is always aligned to pageblock_nr_pages to\nensure that pfn_valid s always called at the start of each pageblock.\nArchitectures with holes in pageblocks will be correctly handled by\npfn_valid_within in pageblock_is_reserved.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Mel Gorman \u003cmgorman@suse.de\u003e\nTested-by: Dang Bo \u003cbdang@vmware.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Arve Hjnnevg \u003carve@android.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[3.0+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09761333ed47e899cc1482c13090b95f3f711971",
      "tree": "b2563e89da16b64727b45b384dba94e1dcd8dfa2",
      "parents": [
        "58a84aa92723d1ac3e1cc4e3b0ff49291663f7e1"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Thu Dec 08 14:34:20 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "mm/migrate.c: pair unlock_page() and lock_page() when migrating huge pages\n\nAvoid unlocking and unlocked page if we failed to lock it.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nCc: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58a84aa92723d1ac3e1cc4e3b0ff49291663f7e1",
      "tree": "bdfad6b0f38590318da0dee67ff84718b60a8ca5",
      "parents": [
        "b6999b19120931ede364fa3b685e698a61fed31d"
      ],
      "author": {
        "name": "Youquan Song",
        "email": "youquan.song@intel.com",
        "time": "Thu Dec 08 14:34:18 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "thp: set compound tail page _count to zero\n\nCommit 70b50f94f1644 (\"mm: thp: tail page refcounting fix\") keeps all\npage_tail-\u003e_count zero at all times.  But the current kernel does not\nset page_tail-\u003e_count to zero if a 1GB page is utilized.  So when an\nIOMMU 1GB page is used by KVM, it wil result in a kernel oops because a\ntail page\u0027s _count does not equal zero.\n\n  kernel BUG at include/linux/mm.h:386!\n  invalid opcode: 0000 [#1] SMP\n  Call Trace:\n    gup_pud_range+0xb8/0x19d\n    get_user_pages_fast+0xcb/0x192\n    ? trace_hardirqs_off+0xd/0xf\n    hva_to_pfn+0x119/0x2f2\n    gfn_to_pfn_memslot+0x2c/0x2e\n    kvm_iommu_map_pages+0xfd/0x1c1\n    kvm_iommu_map_memslots+0x7c/0xbd\n    kvm_iommu_map_guest+0xaa/0xbf\n    kvm_vm_ioctl_assigned_device+0x2ef/0xa47\n    kvm_vm_ioctl+0x36c/0x3a2\n    do_vfs_ioctl+0x49e/0x4e4\n    sys_ioctl+0x5a/0x7c\n    system_call_fastpath+0x16/0x1b\n  RIP  gup_huge_pud+0xf2/0x159\n\nSigned-off-by: Youquan Song \u003cyouquan.song@intel.com\u003e\nReviewed-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6999b19120931ede364fa3b685e698a61fed31d",
      "tree": "cadfc55786baf45ae05b02523d61e476eaf18154",
      "parents": [
        "09dc3cf93f7d16fdd37a0ad8486faebb5e2769ec"
      ],
      "author": {
        "name": "Youquan Song",
        "email": "youquan.song@intel.com",
        "time": "Thu Dec 08 14:34:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "thp: add compound tail page _mapcount when mapped\n\nWith the 3.2-rc kernel, IOMMU 2M pages in KVM works.  But when I tried\nto use IOMMU 1GB pages in KVM, I encountered an oops and the 1GB page\nfailed to be used.\n\nThe root cause is that 1GB page allocation calls gup_huge_pud() while 2M\npage calls gup_huge_pmd.  If compound pages are used and the page is a\ntail page, gup_huge_pmd() increases _mapcount to record tail page are\nmapped while gup_huge_pud does not do that.\n\nSo when the mapped page is relesed, it will result in kernel oops\nbecause the page is not marked mapped.\n\nThis patch add tail process for compound page in 1GB huge page which\nkeeps the same process as 2M page.\n\nReproduce like:\n1. Add grub boot option: hugepagesz\u003d1G hugepages\u003d8\n2. mount -t hugetlbfs -o pagesize\u003d1G hugetlbfs /dev/hugepages\n3. qemu-kvm -m 2048 -hda os-kvm.img -cpu kvm64 -smp 4 -mem-path /dev/hugepages\n\t-net none -device pci-assign,host\u003d07:00.1\n\n  kernel BUG at mm/swap.c:114!\n  invalid opcode: 0000 [#1] SMP\n  Call Trace:\n    put_page+0x15/0x37\n    kvm_release_pfn_clean+0x31/0x36\n    kvm_iommu_put_pages+0x94/0xb1\n    kvm_iommu_unmap_memslots+0x80/0xb6\n    kvm_assign_device+0xba/0x117\n    kvm_vm_ioctl_assigned_device+0x301/0xa47\n    kvm_vm_ioctl+0x36c/0x3a2\n    do_vfs_ioctl+0x49e/0x4e4\n    sys_ioctl+0x5a/0x7c\n    system_call_fastpath+0x16/0x1b\n  RIP  put_compound_page+0xd4/0x168\n\nSigned-off-by: Youquan Song \u003cyouquan.song@intel.com\u003e\nReviewed-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: \u003cstable@vger.kernel.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": "c193c82f054195aa352ccbef91afc28446e5a30e",
      "tree": "f0306407631ddb7f8ff1918856131a66e4309424",
      "parents": [
        "2dbcd05f1e9e0932833d16dab1696176fc164b07"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Dec 08 14:34:10 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "memcg: update maintainers\n\nMore players joined to memory cgroup developments and Johannes\u0027 great work\nchanged internal design of memory cgroup dramatically.  And he will do\nmore works.  Michal Hokko did many bug fixes and know memory cgroup very\nwell.  Daisuke Nishimura helped us very much but he seems busy now.\nThanks to his works.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2dbcd05f1e9e0932833d16dab1696176fc164b07",
      "tree": "737d8870a8e828c11d06c53931e329744d0cbfde",
      "parents": [
        "1de8ad43d0048963d0a0adf14bb046340426b1e4"
      ],
      "author": {
        "name": "Jonghwan Choi",
        "email": "jhbird.choi@samsung.com",
        "time": "Thu Dec 08 14:34:02 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "drivers/rtc/rtc-s3c.c: fix driver clock enable/disable balance issues\n\nIf an error occurs after the clock is enabled, the enable/disable state\ncan become unbalanced.\n\nSigned-off-by: Jonghwan Choi \u003cjhbird.choi@samsung.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Kukjin Kim \u003ckgene.kim@samsung.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1de8ad43d0048963d0a0adf14bb046340426b1e4",
      "tree": "a6fc003181ceae858612c00a499b0869f550a511",
      "parents": [
        "1dfb059b9438633b0546c5431538a47f6ed99028"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees@outflux.net",
        "time": "Thu Dec 08 14:34:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "CREDITS: update Kees\u0027s expired fingerprint and fix details\n\nSmall clean-up for my CREDITS entry; the GPG fingerprint was not up to\ndate, so I fixed other details at the same time too.\n\nSigned-off-by: Kees Cook \u003ckees@outflux.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1dfb059b9438633b0546c5431538a47f6ed99028",
      "tree": "4e6181dfc2f8f21e01938246842305243c1bdb0e",
      "parents": [
        "b53fc7c2974a50913f49e1d800fe904a28c338e3"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Dec 08 14:33:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "thp: reduce khugepaged freezing latency\n\nkhugepaged can sometimes cause suspend to fail, requiring that the user\nretry the suspend operation.\n\nUse wait_event_freezable_timeout() instead of\nschedule_timeout_interruptible() to avoid missing freezer wakeups.  A\ntry_to_freeze() would have been needed in the khugepaged_alloc_hugepage\ntight loop too in case of the allocation failing repeatedly, and\nwait_event_freezable_timeout will provide it too.\n\nkhugepaged would still freeze just fine by trying again the next minute\nbut it\u0027s better if it freezes immediately.\n\nReported-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nTested-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: \"Srivatsa S. Bhat\" \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b53fc7c2974a50913f49e1d800fe904a28c338e3",
      "tree": "24d0c56f7b1135c78b869044e29a64a3c32170ea",
      "parents": [
        "83aeeada7c69f35e5100b27ec354335597a7a488"
      ],
      "author": {
        "name": "Claudio Scordino",
        "email": "claudio@evidence.eu.com",
        "time": "Thu Dec 08 14:33:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "fs/proc/meminfo.c: fix compilation error\n\nFix the error message \"directives may not be used inside a macro argument\"\nwhich appears when the kernel is compiled for the cris architecture.\n\nSigned-off-by: Claudio Scordino \u003cclaudio@evidence.eu.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83aeeada7c69f35e5100b27ec354335597a7a488",
      "tree": "44644e68f303368feba7c8ba3e0e0991d6238ada",
      "parents": [
        "635697c663f38106063d5659f0cf2e45afcd4bb5"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu Dec 08 14:33:54 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:27 2011 -0800"
      },
      "message": "vmscan: use atomic-long for shrinker batching\n\nUse atomic-long operations instead of looping around cmpxchg().\n\n[akpm@linux-foundation.org: massage atomic.h inclusions]\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "635697c663f38106063d5659f0cf2e45afcd4bb5",
      "tree": "3aba50aabc16eeb63d5e21979a3fdf163ccabda2",
      "parents": [
        "09d9673d53005fdf40de4c759425893904292236"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu Dec 08 14:33:51 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:27 2011 -0800"
      },
      "message": "vmscan: fix initial shrinker size handling\n\nA shrinker function can return -1, means that it cannot do anything\nwithout a risk of deadlock.  For example prune_super() does this if it\ncannot grab a superblock refrence, even if nr_to_scan\u003d0.  Currently we\ninterpret this -1 as a ULONG_MAX size shrinker and evaluate `total_scan\u0027\naccording to this.  So the next time around this shrinker can cause\nreally big pressure.  Let\u0027s skip such shrinkers instead.\n\nAlso make total_scan signed, otherwise the check (total_scan \u003c 0) below\nnever works.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2c1639135c0fc1560f3fe9a3a83f2c8265a9e02",
      "tree": "bc0a15f19a3ad9fcd8479b50c8c1a9b6ba494bae",
      "parents": [
        "89e0b9a3fd66d72f2d7b7f2d6d86fa56997cde27"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Dec 08 20:21:40 2011 -0800"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 09 15:20:23 2011 +0100"
      },
      "message": "MAINTAINERS: Update amd-iommu F: patterns\n\nCommit 29b68415e335 (\"x86: amd_iommu: move to drivers/iommu/\")\nmoved the files, update the patterns.\n\nCC: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nCC: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "e8c7106280a305e1ff2a3a8a4dfce141469fb039",
      "tree": "576cc6990eb3903aeb8e333019b6442441d0fdcb",
      "parents": [
        "2ded6e6a94c98ea453a156748cb7fabaf39a76b9"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt.fleming@intel.com",
        "time": "Fri Nov 18 13:09:11 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 09 08:32:26 2011 +0100"
      },
      "message": "x86, efi: Calling __pa() with an ioremap()ed address is invalid\n\nIf we encounter an efi_memory_desc_t without EFI_MEMORY_WB set\nin -\u003eattribute we currently call set_memory_uc(), which in turn\ncalls __pa() on a potentially ioremap\u0027d address.\n\nOn CONFIG_X86_32 this is invalid, resulting in the following\noops on some machines:\n\n  BUG: unable to handle kernel paging request at f7f22280\n  IP: [\u003cc10257b9\u003e] reserve_ram_pages_type+0x89/0x210\n  [...]\n\n  Call Trace:\n   [\u003cc104f8ca\u003e] ? page_is_ram+0x1a/0x40\n   [\u003cc1025aff\u003e] reserve_memtype+0xdf/0x2f0\n   [\u003cc1024dc9\u003e] set_memory_uc+0x49/0xa0\n   [\u003cc19334d0\u003e] efi_enter_virtual_mode+0x1c2/0x3aa\n   [\u003cc19216d4\u003e] start_kernel+0x291/0x2f2\n   [\u003cc19211c7\u003e] ? loglevel+0x1b/0x1b\n   [\u003cc19210bf\u003e] i386_start_kernel+0xbf/0xc8\n\nA better approach to this problem is to map the memory region\nwith the correct attributes from the start, instead of modifying\nit after the fact. The uncached case can be handled by\nioremap_nocache() and the cached by ioremap_cache().\n\nDespite first impressions, it\u0027s not possible to use\nioremap_cache() to map all cached memory regions on\nCONFIG_X86_64 because EFI_RUNTIME_SERVICES_DATA regions really\ndon\u0027t like being mapped into the vmalloc space, as detailed in\nthe following bug report,\n\n\thttps://bugzilla.redhat.com/show_bug.cgi?id\u003d748516\n\nTherefore, we need to ensure that any EFI_RUNTIME_SERVICES_DATA\nregions are covered by the direct kernel mapping table on\nCONFIG_X86_64. To accomplish this we now map E820_RESERVED_EFI\nregions via the direct kernel mapping with the initial call to\ninit_memory_mapping() in setup_arch(), whereas previously these\nregions wouldn\u0027t be mapped if they were after the last E820_RAM\nregion until efi_ioremap() was called. Doing it this way allows\nus to delete efi_ioremap() completely.\n\nSigned-off-by: Matt Fleming \u003cmatt.fleming@intel.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: Huang Ying \u003chuang.ying.caritas@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1321621751-3650-1-git-send-email-matt@console-pimps.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7023676f9ee851d94f0942e879243fc1f9081c47",
      "tree": "6aac4d2bbaae57306fa320beb4282c380171a8e2",
      "parents": [
        "95edcff497b126a3f3e079e94b20fe2ca7e5a63d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Dec 01 20:23:34 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Thu Dec 08 22:04:47 2011 -0600"
      },
      "message": "cifs: check for NULL last_entry before calling cifs_save_resume_key\n\nPrior to commit eaf35b1, cifs_save_resume_key had some NULL pointer\nchecks at the top. It turns out that at least one of those NULL\npointer checks is needed after all.\n\nWhen the LastNameOffset in a FIND reply appears to be beyond the end of\nthe buffer, CIFSFindFirst and CIFSFindNext will set srch_inf.last_entry\nto NULL. Since eaf35b1, the code will now oops in this situation.\n\nFix this by having the callers check for a NULL last entry pointer\nbefore calling cifs_save_resume_key. No change is needed for the\ncall site in cifs_readdir as it\u0027s not reachable with a NULL\ncurrent_entry pointer.\n\nThis should fix:\n\n    https://bugzilla.redhat.com/show_bug.cgi?id\u003d750247\n\nCc: stable@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nReported-by: Adam G. Metzler \u003cadamgmetzler@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "95edcff497b126a3f3e079e94b20fe2ca7e5a63d",
      "tree": "ef358cdf959bfa4641dd6b5a629e03da24bea109",
      "parents": [
        "59edb63ad08e4f3a9477223c9aaf3fba753085bf"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Dec 01 20:22:41 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Thu Dec 08 22:04:47 2011 -0600"
      },
      "message": "cifs: attempt to freeze while looping on a receive attempt\n\nIn the recent overhaul of the demultiplex thread receive path, I\nneglected to ensure that we attempt to freeze on each pass through the\nreceive loop.\n\nReported-and-Tested-by: Woody Suwalski \u003cterraluna977@gmail.com\u003e\nReported-and-Tested-by: Adam Williamson \u003cawilliam@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "59edb63ad08e4f3a9477223c9aaf3fba753085bf",
      "tree": "226e770896bede879b998a54c947656ee8944c01",
      "parents": [
        "9a5101c8968c7b3e7de5564af6358d7332cf9a6b"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 10 12:48:20 2011 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Thu Dec 08 22:04:47 2011 -0600"
      },
      "message": "cifs: Fix sparse warning when calling cifs_strtoUCS\n\nFix sparse endian check warning while calling cifs_strtoUCS\n\nCHECK   fs/cifs/smbencrypt.c\nfs/cifs/smbencrypt.c:216:37: warning: incorrect type in argument 1\n(different base types)\nfs/cifs/smbencrypt.c:216:37:    expected restricted __le16 [usertype] *\u003cnoident\u003e\nfs/cifs/smbencrypt.c:216:37:    got unsigned short *\u003cnoident\u003e\n\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\nAcked-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\n"
    },
    {
      "commit": "9a5101c8968c7b3e7de5564af6358d7332cf9a6b",
      "tree": "f3a13e96a375a161570c40086d9cf7bc69ba5083",
      "parents": [
        "883381d9f1c5a6329bbb796e23ae52c939940310"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Mon Nov 07 16:11:24 2011 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Thu Dec 08 22:04:47 2011 -0600"
      },
      "message": "CIFS: Add descriptions to the brlock cache functions\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5d8c71f9e5fbdd95650be00294d238e27a363b5c",
      "tree": "51f7ae70b3a188f8376d7912493d346537fe516e",
      "parents": [
        "9283d8c5af4cdcb809e655acdf4be368afec8b58"
      ],
      "author": {
        "name": "Adam Kwolek",
        "email": "adam.kwolek@intel.com",
        "time": "Fri Dec 09 14:26:11 2011 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Dec 09 14:26:11 2011 +1100"
      },
      "message": "md: raid5 crash during degradation\n\nNULL pointer access causes crash in raid5 module.\n\nSigned-off-by: Adam Kwolek \u003cadam.kwolek@intel.com\u003e\nSigned-off-by: NeilBrown \u003cneilb@suse.de\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": "fb38f9b8fe98a9c1f6b1e57d1b08b1102b293929",
      "tree": "81282b9875595ece0c3d61a4ea1741aecba0191a",
      "parents": [
        "8bd1c8815fc23fa4db2376bf667ef885827b48c9",
        "1cf4ffdb3289624a6462c94f2ce05545b32ef736"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:18:59 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:18:59 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:\n  Btrfs: drop spin lock when memory alloc fails\n  Btrfs: check if the to-be-added device is writable\n  Btrfs: try cluster but don\u0027t advance in search list\n  Btrfs: try to allocate from cluster even at LOOP_NO_EMPTY_SIZE\n"
    },
    {
      "commit": "8bd1c8815fc23fa4db2376bf667ef885827b48c9",
      "tree": "bf59bf4636f741c8b5ce03c699cd01f89ea71f69",
      "parents": [
        "1418a3e5ad4d01b1d4abf2c479c50b0cedd59e3f",
        "073c460311662eff7beb429de21acdbf7d90a4cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:18:38 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:18:38 2011 -0800"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)\n  ARM: sa1100: fix build error\n  ARM: OMAP1: recalculate loops per jiffy after dpll1 reprogram\n  ARM: davinci: dm365 evm: align nand partition table to u-boot\n  ARM: davinci: da850 evm: change audio edma event queue to EVENTQ_0\n  ARM: davinci: dm646x evm: wrong register used in setup_vpif_input_channel_mode\n  ARM: davinci: dm646x does not have a DSP domain\n  ARM: davinci: psc: fix incorrect offsets\n  ARM: davinci: psc: fix incorrect mask\n  ARM: mx28: LRADC macro rename\n  arm: mx23: recognise stmp378x as mx23\n  ARM: mxs: fix machines\u0027 initializers order\n  ARM: mxs/tx28: add __initconst for fec pdata\n  ARM: S3C64XX: Staticise s3c6400_sysclass\n  ARM: S3C64XX: Add linux/export.h to dev-spi.c\n  ARM: S3C64XX: Remove extern from definition of framebuffer setup call\n  MAINTAINERS: Extend Samsung patterns to cover SPI and ASoC drivers\n  MAINTAINERS: Add linux-samsung-soc mailing list for Samsung\n  MAINTAINERS: Consolidate Samsung MAINTAINERS\n  ARM: CSR: PM: fix build error due to undeclared \u0027THIS_MODULE\u0027\n  ARM: CSR: fix build error due to new mdesc-\u003edma_zone_size\n  ...\n"
    },
    {
      "commit": "1418a3e5ad4d01b1d4abf2c479c50b0cedd59e3f",
      "tree": "daec3f125671eeb36a55ca0d00c3473af2c8872c",
      "parents": [
        "34a9d2c39afe74a941b9e88efe2762afc4d82443"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Thu Dec 08 21:24:06 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:18:12 2011 -0800"
      },
      "message": "TOMOYO: Fix pathname handling of disconnected paths.\n\nCurrent tomoyo_realpath_from_path() implementation returns strange pathname\nwhen calculating pathname of a file which belongs to lazy unmounted tree.\nUse local pathname rather than strange absolute pathname in that case.\n\nAlso, this patch fixes a regression by commit 02125a82 \"fix apparmor\ndereferencing potentially freed dentry, sanitize __d_path() API\".\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ded6e6a94c98ea453a156748cb7fabaf39a76b9",
      "tree": "0e9df0ea561e9e5aa64482f41407473b9ce34b4a",
      "parents": [
        "4e2b1c4f56227c742bbd2ea8e8f559567eb80c3f"
      ],
      "author": {
        "name": "Mark Langsdorf",
        "email": "mark.langsdorf@amd.com",
        "time": "Fri Nov 18 16:33:06 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 08 21:47:22 2011 +0100"
      },
      "message": "x86, hpet: Immediately disable HPET timer 1 if rtc irq is masked\n\nWhen HPET is operating in RTC mode, the TN_ENABLE bit on timer1\ncontrols whether the HPET or the RTC delivers interrupts to irq8. When\nthe system goes into suspend, the RTC driver sends a signal to the\nHPET driver so that the HPET releases control of irq8, allowing the\nRTC to wake the system from suspend. The switchover is accomplished by\na write to the HPET configuration registers which currently only\noccurs while servicing the HPET interrupt.\n\nOn some systems, I have seen the system suspend before an HPET\ninterrupt occurs, preventing the write to the HPET configuration\nregister and leaving the HPET in control of the irq8. As the HPET is\nnot active during suspend, it does not generate a wake signal and RTC\nalarms do not work.\n\nThis patch forces the HPET driver to immediately transfer control of\nthe irq8 channel to the RTC instead of waiting until the next\ninterrupt event.\n\nSigned-off-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nLink: http://lkml.kernel.org/r/20111118153306.GB16319@alberich.amd.com\nTested-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "073c460311662eff7beb429de21acdbf7d90a4cb",
      "tree": "d5cd52a6112739d55c2928c7b435fecf8eab0b75",
      "parents": [
        "b981f980b068617e021736eb19092919fc7d0e53",
        "c564a0cb9d0c7f4ac50f1e9ca8bc67fd66cd550f"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Dec 08 15:52:23 2011 +0000"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Thu Dec 08 15:52:23 2011 +0000"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://github.com/hzhuang1/linux into fixes\n"
    },
    {
      "commit": "1cf4ffdb3289624a6462c94f2ce05545b32ef736",
      "tree": "f8a981628e108b8a97d4abb3e0be3d8f13824e55",
      "parents": [
        "a5d16333612718569ffd26064270e535cb9c3928"
      ],
      "author": {
        "name": "Liu Bo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Wed Dec 07 20:08:40 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Dec 08 08:55:47 2011 -0500"
      },
      "message": "Btrfs: drop spin lock when memory alloc fails\n\nDrop spin lock in convert_extent_bit() when memory alloc fails,\notherwise, it will be a deadlock.\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a5d16333612718569ffd26064270e535cb9c3928",
      "tree": "8c91371ea5f77630ce3683bf4971bd3e6012cd0c",
      "parents": [
        "274bd4fb3ed6b72c1d77ef8850511f09fc6b8e4d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Dec 07 20:08:40 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Dec 08 08:55:46 2011 -0500"
      },
      "message": "Btrfs: check if the to-be-added device is writable\n\nIf we call ioctl(BTRFS_IOC_ADD_DEV) directly, we\u0027ll succeed in adding\na readonly device to a btrfs filesystem, and btrfs will write to\nthat device, emitting kernel errors:\n\n[ 3109.833692] lost page write due to I/O error on loop2\n[ 3109.833720] lost page write due to I/O error on loop2\n...\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "274bd4fb3ed6b72c1d77ef8850511f09fc6b8e4d",
      "tree": "c9a637653e547f24ed488d0d5956b314b4257597",
      "parents": [
        "062c05c46bd4358aad7a0e0cb5ffeb98ab935286"
      ],
      "author": {
        "name": "Alexandre Oliva",
        "email": "oliva@lsd.ic.unicamp.br",
        "time": "Wed Dec 07 20:08:40 2011 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Dec 08 08:55:40 2011 -0500"
      },
      "message": "Btrfs: try cluster but don\u0027t advance in search list\n\nWhen we find an existing cluster, we switch to its block group as the\ncurrent block group, possibly skipping multiple blocks in the process.\nFurthermore, under heavy contention, multiple threads may fail to\nallocate from a cluster and then release just-created clusters just to\nproceed to create new ones in a different block group.\n\nThis patch tries to allocate from an existing cluster regardless of its\nblock group, and doesn\u0027t switch to that group, instead proceeding to\ntry to allocate a cluster from the group it was iterating before the\nattempt.\n\nSigned-off-by: Alexandre Oliva \u003coliva@lsd.ic.unicamp.br\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c564a0cb9d0c7f4ac50f1e9ca8bc67fd66cd550f",
      "tree": "f74a3ca0a074d3c66e642afc6912510b52005b16",
      "parents": [
        "56f54e7d671969da13693e5a147438f2cc50ca9b"
      ],
      "author": {
        "name": "Jett.Zhou",
        "email": "jtzhou@marvell.com",
        "time": "Wed Nov 30 14:32:54 2011 +0800"
      },
      "committer": {
        "name": "Haojian Zhuang",
        "email": "haojian.zhuang@marvell.com",
        "time": "Thu Dec 08 14:55:57 2011 +0800"
      },
      "message": "ARM: sa1100: fix build error\n\narm-eabi-4.4.3-ld:--defsym zreladdr\u003d: syntax error\nmake[2]: *** [arch/arm/boot/compressed/vmlinux] Error 1\nmake[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2\nmake: *** [uImage] Error 2\n\nSigned-off-by: Haojian Zhuang \u003chaojian.zhuang@gmail.com\u003e\nSigned-off-by: Jett.Zhou \u003cjtzhou@marvell.com\u003e\n"
    },
    {
      "commit": "9283d8c5af4cdcb809e655acdf4be368afec8b58",
      "tree": "d4baa86260792a10782808e51d5468e145358980",
      "parents": [
        "8bd2f0a05b361e07d48bb34398593f5f523946b3"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Dec 08 16:27:57 2011 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Dec 08 16:27:57 2011 +1100"
      },
      "message": "md/raid5: never wait for bad-block acks on failed device.\n\nOnce a device is failed we really want to completely ignore it.\nIt should go away soon anyway.\n\nIn particular the presence of bad blocks on it should not cause us to\nblock as we won\u0027t be trying to write there anyway.\n\nSo as soon as we can check if a device is Faulty, do so and pretend\nthat it is already gone if it is Faulty.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "8bd2f0a05b361e07d48bb34398593f5f523946b3",
      "tree": "a87860b4b8821b40eb9e6bb5333f71dfa8c3fb39",
      "parents": [
        "52c64152a935e63d9ff73ce823730c9a23dedbff"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Dec 08 16:26:08 2011 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Dec 08 16:26:08 2011 +1100"
      },
      "message": "md: ensure new badblocks are handled promptly.\n\nWhen we mark blocks as bad we need them to be acknowledged by the\nmetadata handler promptly.\n\nFor an in-kernel metadata handler that was already being done.  But\nfor an external metadata handler we need to alert it of the change by\nsending a notification through the sysfs file.  This adds that\nnotification.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "52c64152a935e63d9ff73ce823730c9a23dedbff",
      "tree": "03de10a1899d74b42d00740437140a032686d011",
      "parents": [
        "af8a24347f966ab9fae6b0f127d1fbc9d6932d3a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Dec 08 16:22:48 2011 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Dec 08 16:22:48 2011 +1100"
      },
      "message": "md: bad blocks shouldn\u0027t cause a Blocked status on a Faulty device.\n\nOnce a device is marked Faulty the badblocks - whether acknowledged or\nnot - become irrelevant.  So they shouldn\u0027t cause the device to be\nmarked as Blocked.\n\nWithout this patch, a process might write \"-blocked\" to clear the\nBlocked status, but while that will correctly fail the device, it\nwon\u0027t remove the apparent \u0027blocked\u0027 status.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    }
  ],
  "next": "af8a24347f966ab9fae6b0f127d1fbc9d6932d3a"
}
