)]}'
{
  "log": [
    {
      "commit": "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1",
      "tree": "3cec6d72a450735fe6b8ed996c7399f57c05a5cb",
      "parents": [
        "7a797cdcca2b3c0031e580203f18d6c9483aaec5",
        "b8007ef7422270864eae523cb38d7522a53a94d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:36 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (40 commits)\n  tracing: Separate raw syscall from syscall tracer\n  ring-buffer-benchmark: Add parameters to set produce/consumer priorities\n  tracing, function tracer: Clean up strstrip() usage\n  ring-buffer benchmark: Run producer/consumer threads at nice +19\n  tracing: Remove the stale include/trace/power.h\n  tracing: Only print objcopy version warning once from recordmcount\n  tracing: Prevent build warning: \u0027ftrace_graph_buf\u0027 defined but not used\n  ring-buffer: Move access to commit_page up into function used\n  tracing: do not disable interrupts for trace_clock_local\n  ring-buffer: Add multiple iterations between benchmark timestamps\n  kprobes: Sanitize struct kretprobe_instance allocations\n  tracing: Fix to use __always_unused attribute\n  compiler: Introduce __always_unused\n  tracing: Exit with error if a weak function is used in recordmcount.pl\n  tracing: Move conditional into update_funcs() in recordmcount.pl\n  tracing: Add regex for weak functions in recordmcount.pl\n  tracing: Move mcount section search to front of loop in recordmcount.pl\n  tracing: Fix objcopy revision check in recordmcount.pl\n  tracing: Check absolute path of input file in recordmcount.pl\n  tracing: Correct the check for number of arguments in recordmcount.pl\n  ...\n"
    },
    {
      "commit": "7a797cdcca2b3c0031e580203f18d6c9483aaec5",
      "tree": "e35526b99793c08fd76c9a41e969c1c070adcc51",
      "parents": [
        "bb2166c898adb5fe29bc450004926802d2a16035",
        "c13d2f7c3231e873f30db92b96c8caa48f100f33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:21 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix trace_marker output\n  tracing: Fix event format export\n  tracing: Fix return value of tracing_stats_read()\n"
    },
    {
      "commit": "bb2166c898adb5fe29bc450004926802d2a16035",
      "tree": "dc0a1d1219ab7e7324fbca533676d9d3a6a02c56",
      "parents": [
        "0bf7969feae831ede7276f7cc73b586ce0902374",
        "34769945f7cd9ab470413ffe64426e3ad069f49e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:08 2009 -0800"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Fix spurious irq seqfile conversion\n  genirq: switch /proc/irq/*/spurious to seq_file\n  irq: Do not attempt to create subdirectories if /proc/irq/\u003cirq\u003e failed\n  irq: Remove unused debug_poll_all_shared_irqs()\n  irq: Fix docbook comments\n  irq: trivial: Fix typo in comment for #endif\n"
    },
    {
      "commit": "0bf7969feae831ede7276f7cc73b586ce0902374",
      "tree": "bea9a7ae996d35cba0b111c03535a9c8fa2bdcf6",
      "parents": [
        "69f061e0c2ed47304b3eeac7fb7bd5268652dc50",
        "e5af02261668350b43eb7381648930bde8e872f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:46 2009 -0800"
      },
      "message": "Merge branch \u0027core-softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: Fix hung_task_check_count sysctl\n"
    },
    {
      "commit": "69f061e0c2ed47304b3eeac7fb7bd5268652dc50",
      "tree": "69bca9d5c7e7eb5e79dae030cbce713686e4d209",
      "parents": [
        "607781762e7aae9c976f0a9a8829d4ba3e2da4ab",
        "f84d49b218b7d4c6cba2e0b41f24bd4045403962"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:33 2009 -0800"
      },
      "message": "Merge branch \u0027core-signal-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-signal-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  signal: Print warning message when dropping signals\n  signal: Fix alternate signal stack check\n"
    },
    {
      "commit": "607781762e7aae9c976f0a9a8829d4ba3e2da4ab",
      "tree": "933dad6ecb0be49e9b1ef41b69d5aa256510720e",
      "parents": [
        "d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5",
        "8bfb2f8e655b9d0c45fde679fcd5fd97e34513db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:52:14 2009 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  rcu: Make RCU\u0027s CPU-stall detector be default\n  rcu: Add expedited grace-period support for preemptible RCU\n  rcu: Enable fourth level of TREE_RCU hierarchy\n  rcu: Rename \"quiet\" functions\n  rcu: Re-arrange code to reduce #ifdef pain\n  rcu: Eliminate unneeded function wrapping\n  rcu: Fix grace-period-stall bug on large systems with CPU hotplug\n  rcu: Eliminate __rcu_pending() false positives\n  rcu: Further cleanups of use of lastcomp\n  rcu: Simplify association of forced quiescent states with grace periods\n  rcu: Accelerate callback processing on CPUs not detecting GP end\n  rcu: Mark init-time-only rcu_bootup_announce() as __init\n  rcu: Simplify association of quiescent states with grace periods\n  rcu: Rename dynticks_completed to completed_fqs\n  rcu: Enable synchronize_sched_expedited() fastpath\n  rcu: Remove inline from forward-referenced functions\n  rcu: Fix note_new_gpnum() uses of -\u003egpnum\n  rcu: Fix synchronization for rcu_process_gp_end() uses of -\u003ecompleted counter\n  rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling of -\u003ecompleted counter\n  rcu: Cleanup: balance rcu_irq_enter()/rcu_irq_exit() calls\n  ...\n"
    },
    {
      "commit": "d0b093a8b5ae34ee8be1f7e0dd197fe4788fa1d5",
      "tree": "deaed4192d440b6afb7470b0c36e69d9d65dd119",
      "parents": [
        "3e72b810e30cdf4655279dd767eb798ac7a8fe5e",
        "5c828713358cb9df8aa174371edcbbb62203a490"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:50:22 2009 -0800"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ratelimit: Make suppressed output messages more useful\n  printk: Remove ratelimit.h from kernel.h\n  ratelimit: Fix/allow use in atomic contexts\n  ratelimit: Use per ratelimit context locking\n"
    },
    {
      "commit": "3e72b810e30cdf4655279dd767eb798ac7a8fe5e",
      "tree": "a6c8daae5390b44750dfc4ca9bc984430dd16e74",
      "parents": [
        "9b269d4034c7855ac34f0985cc55ee29bd80e80a",
        "c08f782985eed9959438368e84ce1d7f2ed03d95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:59 2009 -0800"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  mutex: Fix missing conditions to build mutex_spin_on_owner()\n  mutex: Better control mutex adaptive spinning config\n  locking, task_struct: Reduce size on TRACE_IRQFLAGS and 64bit\n  locking: Use __[SPIN|RW]_LOCK_UNLOCKED in [spin|rw]_lock_init()\n  locking: Remove unused prototype\n  locking: Reduce ifdefs in kernel/spinlock.c\n  locking: Make inlining decision Kconfig based\n"
    },
    {
      "commit": "9b269d4034c7855ac34f0985cc55ee29bd80e80a",
      "tree": "ec6c7f54fea5ecfb23eb5ec287732b92924012aa",
      "parents": [
        "7b626acb8f983eb83b396ab96cc24b18d635d487",
        "2ea6dec4a22a6f66f6633876212fd4d195cf8277"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:49:46 2009 -0800"
      },
      "message": "Merge branch \u0027core-ipi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-ipi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  generic-ipi: Add smp_call_function_any()\n  generic-ipi: Fix misleading smp_call_function*() description\n"
    },
    {
      "commit": "c08f782985eed9959438368e84ce1d7f2ed03d95",
      "tree": "436cbaa8d2d91fffa812c3f8c933b025d3155f79",
      "parents": [
        "c02260277e472095ffb3ad893be5eeab9dcefde3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 02 20:49:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 03 11:50:11 2009 +0100"
      },
      "message": "mutex: Fix missing conditions to build mutex_spin_on_owner()\n\nWe don\u0027t need to build mutex_spin_on_owner() if we have\nCONFIG_DEBUG_MUTEXES or CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES as\nit won\u0027t be used under such configs.\n\nUse CONFIG_MUTEX_SPIN_ON_OWNER as it gathers all the necessary\nchecks before building it.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1259783357-8542-2-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "c02260277e472095ffb3ad893be5eeab9dcefde3",
      "tree": "583bb881a47b02cf345c557722696e96f609e690",
      "parents": [
        "fa1452e808732ae10e8b1267fd75fc2d028d634b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 02 20:49:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 03 11:50:11 2009 +0100"
      },
      "message": "mutex: Better control mutex adaptive spinning config\n\nIntroduce CONFIG_MUTEX_SPIN_ON_OWNER so that we can centralize\nin a single place the conditions that determine its definition\nand use.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1259783357-8542-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "d9a3da0699b24a589b27a61e1a5b5bd30d9db669",
      "tree": "f7440e396a6c818f3cef514ccc31ab55d88025ef",
      "parents": [
        "cf244dc01bf68e1ad338b82447f8686d24ea4435"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Dec 02 12:10:15 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 03 11:35:25 2009 +0100"
      },
      "message": "rcu: Add expedited grace-period support for preemptible RCU\n\nImplement an synchronize_rcu_expedited() for preemptible RCU\nthat actually is expedited.  This uses\nsynchronize_sched_expedited() to force all threads currently\nrunning in a preemptible-RCU read-side critical section onto the\nappropriate -\u003eblocked_tasks[] list, then takes a snapshot of all\nof these lists and waits for them to drain.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1259784616158-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf244dc01bf68e1ad338b82447f8686d24ea4435",
      "tree": "dc2aebb60ef1eddf92d7e23b72ec2f6c08797684",
      "parents": [
        "d3f6bad3911736e44ba11f3f3f6ac4e8c837fdfc"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Dec 02 12:10:14 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 03 11:34:53 2009 +0100"
      },
      "message": "rcu: Enable fourth level of TREE_RCU hierarchy\n\nEnable a fourth level of rcu_node hierarchy for TREE_RCU and\nTREE_PREEMPT_RCU.  This is for stress-testing and experiemental\npurposes only, although in theory this would enable 16,777,216\nCPUs on 64-bit systems, though only 1,048,576 CPUs on 32-bit\nsystems. Normal experimental use of this fourth level will\nnormally set CONFIG_RCU_FANOUT\u003d2, requiring a 16-CPU system,\nthough the more adventurous (and more fortunate) experimenters\nmay wish to chose CONFIG_RCU_FANOUT\u003d3 for 81-CPU systems or even\nCONFIG_RCU_FANOUT\u003d4 for 256-CPU systems.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nAcked-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12597846161257-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3f6bad3911736e44ba11f3f3f6ac4e8c837fdfc",
      "tree": "55b0c2e11ab3ec02e9065cf3d46ffd20386dfed2",
      "parents": [
        "6ebb237bece23275d1da149b61a342f0d4d06a08"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Dec 02 12:10:13 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 03 11:34:26 2009 +0100"
      },
      "message": "rcu: Rename \"quiet\" functions\n\nThe number of \"quiet\" functions has grown recently, and the\nnames are no longer very descriptive.  The point of all of these\nfunctions is to do some portion of the task of reporting a\nquiescent state, so rename them accordingly:\n\no\tcpu_quiet() becomes rcu_report_qs_rdp(), which reports a\n\tquiescent state to the per-CPU rcu_data structure.  If this\n\tturns out to be a new quiescent state for this grace period,\n\tthen rcu_report_qs_rnp() will be invoked to propagate the\n\tquiescent state up the rcu_node hierarchy.\n\no\tcpu_quiet_msk() becomes rcu_report_qs_rnp(), which reports\n\ta quiescent state for a given CPU (or possibly a set of CPUs)\n\tup the rcu_node hierarchy.\n\no\tcpu_quiet_msk_finish() becomes rcu_report_qs_rsp(), which\n\treports a full set of quiescent states to the global rcu_state\n\tstructure.\n\no\ttask_quiet() becomes rcu_report_unblock_qs_rnp(), which reports\n\ta quiescent state due to a task exiting an RCU read-side critical\n\tsection that had previously blocked in that same critical section.\n\tAs indicated by the new name, this type of quiescent state is\n\treported up the rcu_node hierarchy (using rcu_report_qs_rnp()\n\tto do so).\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nAcked-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12597846163698-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c84d6efd363a3948eb32ec40d46bab6338580454",
      "tree": "3ba7ac46e6626fe8ac843834588609eb6ccee5c6",
      "parents": [
        "7539cf4b92be4aecc573ea962135f246a7a33401",
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@macbook.(none)",
        "time": "Thu Dec 03 12:03:40 2009 +0530"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@macbook.(none)",
        "time": "Thu Dec 03 12:03:40 2009 +0530"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "35dead4235e2b67da7275b4122fed37099c2f462",
      "tree": "643b8e561025e5f49b17e3a74ee4d7812123aecd",
      "parents": [
        "ebd65a5855a1ddb21706e630c9ba1b9e80c767f7"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@gmx.de",
        "time": "Thu Dec 03 00:29:15 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:38:25 2009 -0800"
      },
      "message": "modules: don\u0027t export section names of empty sections via sysfs\n\nOn the parisc architecture we face for each and every loaded kernel module\nthis kernel \"badness warning\":\n  sysfs: cannot create duplicate filename \u0027/module/ac97_bus/sections/.text\u0027\n  Badness at fs/sysfs/dir.c:487\n\nReason for that is, that on parisc all kernel modules do have multiple\n.text sections due to the usage of the -ffunction-sections compiler flag\nwhich is needed to reach all jump targets on this platform.\n\nAn objdump on such a kernel module gives:\nSections:\nIdx Name          Size      VMA       LMA       File off  Algn\n  0 .note.gnu.build-id 00000024  00000000  00000000  00000034  2**2\n                  CONTENTS, ALLOC, LOAD, READONLY, DATA\n  1 .text         00000000  00000000  00000000  00000058  2**0\n                  CONTENTS, ALLOC, LOAD, READONLY, CODE\n  2 .text.ac97_bus_match 0000001c  00000000  00000000  00000058  2**2\n                  CONTENTS, ALLOC, LOAD, READONLY, CODE\n  3 .text         00000000  00000000  00000000  000000d4  2**0\n                  CONTENTS, ALLOC, LOAD, READONLY, CODE\n...\nSince the .text sections are empty (size of 0 bytes) and won\u0027t be\nloaded by the kernel module loader anyway, I don\u0027t see a reason\nwhy such sections need to be listed under\n/sys/module/\u003cmodule_name\u003e/sections/\u003csection_name\u003e either.\n\nThe attached patch does solve this issue by not exporting section\nnames which are empty.\n\nThis fixes bugzilla http://bugzilla.kernel.org/show_bug.cgi?id\u003d14703\n\nSigned-off-by: Helge Deller \u003cdeller@gmx.de\u003e\nCC: rusty@rustcorp.com.au\nCC: akpm@linux-foundation.org\nCC: James.Bottomley@HansenPartnership.com\nCC: roland@redhat.com\nCC: dave@hiauly1.hia.nrc.ca\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f13a48bd798a159291ca583b95453171b88b7448",
      "tree": "a644293386e30ed5ab297e5943e57658e1d11e6a",
      "parents": [
        "df87f8c06c7f562ef9d93b9d674eebf2ffb96f6a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 01 15:36:11 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 08:20:31 2009 -0800"
      },
      "message": "SLOW_WORK: Move slow_work\u0027s proc file to debugfs\n\nMove slow_work\u0027s debugging proc file to debugfs.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nRequested-and-acked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa1dae4906982b5d896c07613b1fe42456133b1c",
      "tree": "027dec5baeedbe25a7b645311b530a06d78b36f3",
      "parents": [
        "6f054164322bc6c1233402b9ed6b40d4af39a98f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 01 13:52:08 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 07:35:11 2009 -0800"
      },
      "message": "SLOW_WORK: Fix the CONFIG_MODULES\u003dn case\n\nCommits 3d7a641 (\"SLOW_WORK: Wait for outstanding work items belonging to a\nmodule to clear\") introduced some code to make sure that all of a module\u0027s\nslow-work items were complete before that module was removed, and commit\n3bde31a (\"SLOW_WORK: Allow a requeueable work item to sleep till the thread is\nneeded\") further extended that, breaking it in the process if CONFIG_MODULES\u003dn:\n\n    CC      kernel/slow-work.o\n  kernel/slow-work.c: In function \u0027slow_work_execute\u0027:\n  kernel/slow-work.c:313: error: \u0027slow_work_thread_processing\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:313: error: (Each undeclared identifier is reported only once\n  kernel/slow-work.c:313: error: for each function it appears in.)\n  kernel/slow-work.c: In function \u0027slow_work_wait_for_items\u0027:\n  kernel/slow-work.c:950: error: \u0027slow_work_unreg_sync_lock\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:951: error: \u0027slow_work_unreg_wq\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:961: error: \u0027slow_work_unreg_work_item\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:974: error: \u0027slow_work_unreg_module\u0027 undeclared (first use in this function)\n  kernel/slow-work.c:977: error: \u0027slow_work_thread_processing\u0027 undeclared (first use in this function)\n  make[1]: *** [kernel/slow-work.o] Error 1\n\nFix this by:\n\n (1) Extracting the bits of slow_work_execute() that are contingent on\n     CONFIG_MODULES, and the bits that should be, into inline functions and\n     placing them into the #ifdef\u0027d section that defines the relevant variables\n     and adding stubs for moduleless kernels.  This allows the removal of some\n     #ifdefs.\n\n (2) #ifdef\u0027ing out the contents of slow_work_wait_for_items() in moduleless\n     kernels.\n\nThe four functions related to handling module unloading synchronisation (and\ntheir associated variables) could be offloaded into a separate .c file, but\neach function is only used once and three of them are tiny, so doing so would\nprevent them from being inlined.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5af02261668350b43eb7381648930bde8e872f7",
      "tree": "cf8a99b24b8584c57f011f8dca157da971f6a139",
      "parents": [
        "a8a8a669ea13d792296737505adc43ccacf3a648"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Fri Nov 27 13:28:20 2009 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 27 06:21:57 2009 +0100"
      },
      "message": "softlockup: Fix hung_task_check_count sysctl\n\nI\u0027m seeing spikes of up to 0.5ms in khungtaskd on a large\nmachine. To reduce this source of jitter I tried setting\nhung_task_check_count to 0:\n\n # echo 0 \u003e /proc/sys/kernel/hung_task_check_count\n\nwhich didn\u0027t have the intended response. Change to a post\nincrement of max_count, so a value of 0 means check 0 tasks.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: msb@google.com\nLKML-Reference: \u003c20091127022820.GU32182@kryten\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7ac074340480018681a0d72b324d4487543bdc0e",
      "tree": "c61f98cd477568d162d5fe408383f257f187508c",
      "parents": [
        "457dc928f586f3f4b930206965e6db270034e97e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 25 13:22:21 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 25 14:14:15 2009 -0500"
      },
      "message": "ring-buffer-benchmark: Add parameters to set produce/consumer priorities\n\nRunning the ring-buffer-benchmark\u0027s threads at the lowest priority may\nwork well for keeping it in the background, but it is not appropriate\nfor the benchmarks.\n\nThis patch adds 4 parameters to the module:\n\n  consumer_fifo\n  consumer_nice\n  producer_fifo\n  producer_nice\n\nBy default the consumer and producer still run at nice +19.\n\nIf the *_fifo options are set, they will override the *_nice values.\n\n modprobe ring_buffer_benchmark consumer_nice\u003d0 producer_fifo\u003d10\n\nThe above will set the consumer thread to a nice value of 0, and\nthe producer thread to a RT SCHED_FIFO priority of 10.\n\nNote, this patch also fixes a bug where calling set_user_nice on the\nconsumer thread would oops the kernel when the parameter \"disable_reader\"\nis set.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b3a222e52e4d4be77cc4520a57af1a4a0d8222d1",
      "tree": "1c3d5df529a404636b996ef39c991c9b8813aa12",
      "parents": [
        "0bce95279909aa4cc401a2e3140b4295ca22e72a"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Nov 23 16:21:30 2009 -0600"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Nov 24 15:06:47 2009 +1100"
      },
      "message": "remove CONFIG_SECURITY_FILE_CAPABILITIES compile option\n\nAs far as I know, all distros currently ship kernels with default\nCONFIG_SECURITY_FILE_CAPABILITIES\u003dy.  Since having the option on\nleaves a \u0027no_file_caps\u0027 option to boot without file capabilities,\nthe main reason to keep the option is that turning it off saves\nyou (on my s390x partition) 5k.  In particular, vmlinux sizes\ncame to:\n\nwithout patch fscaps\u003dn:\t\t \t53598392\nwithout patch fscaps\u003dy:\t\t \t53603406\nwith this patch applied:\t\t53603342\n\nwith the security-next tree.\n\nAgainst this we must weigh the fact that there is no simple way for\nuserspace to figure out whether file capabilities are supported,\nwhile things like per-process securebits, capability bounding\nsets, and adding bits to pI if CAP_SETPCAP is in pE are not supported\nwith SECURITY_FILE_CAPABILITIES\u003dn, leaving a bit of a problem for\napplications wanting to know whether they can use them and/or why\nsomething failed.\n\nIt also adds another subtly different set of semantics which we must\nmaintain at the risk of severe security regressions.\n\nSo this patch removes the SECURITY_FILE_CAPABILITIES compile\noption.  It drops the kernel size by about 50k over the stock\nSECURITY_FILE_CAPABILITIES\u003dy kernel, by removing the\ncap_limit_ptraced_target() function.\n\nChangelog:\n\tNov 20: remove cap_limit_ptraced_target() as it\u0027s logic\n\t\twas ifndef\u0027ed.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Andrew G. Morgan\" \u003cmorgan@kernel.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "c4a5af54c8ef277a59189fc9358e190f3c1b8206",
      "tree": "eab45631ca769f92f01276066ee58861ad494d18",
      "parents": [
        "fe542cf59bf0b31afe72b9e9749c0f6645419fa0"
      ],
      "author": {
        "name": "Andrew G. Morgan",
        "email": "morgan@kernel.org",
        "time": "Mon Nov 23 04:57:52 2009 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Nov 24 08:53:29 2009 +1100"
      },
      "message": "Silence the existing API for capability version compatibility check.\n\nWhen libcap, or other libraries attempt to confirm/determine the supported\ncapability version magic, they generally supply a NULL dataptr to capget().\n\nIn this case, while returning the supported/preferred magic (via a\nmodified header content), the return code of this system call may be 0,\n-EINVAL, or -EFAULT.\n\nNo libcap code depends on the previous -EINVAL etc. return code, and\nall of the above three return codes can accompany a valid (successful)\nattempt to determine the requested magic value.\n\nThis patch cleans up the system call to return 0, if the call is\nsuccessfully being used to determine the supported/preferred capability\nmagic value.\n\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "457dc928f586f3f4b930206965e6db270034e97e",
      "tree": "db1ff1d43058451cc42f6499f495e68d1a37e335",
      "parents": [
        "98e4833ba3c314c99dc364012fba6ac894230ad0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:03:28 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:04:07 2009 +0100"
      },
      "message": "tracing, function tracer: Clean up strstrip() usage\n\nClean up strstrip() usage - which also addresses this build warning:\n\n  kernel/trace/ftrace.c: In function \u0027ftrace_pid_write\u0027:\n  kernel/trace/ftrace.c:3004: warning: ignoring return value of \u0027strstrip\u0027, declared with attribute warn_unused_result\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98e4833ba3c314c99dc364012fba6ac894230ad0",
      "tree": "0730af86569f560f7f4421a2d0f4bf9441df19c6",
      "parents": [
        "192dcf1d1775736627280a5dd4cb0f605b21857a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 08:03:09 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 08:03:09 2009 +0100"
      },
      "message": "ring-buffer benchmark: Run producer/consumer threads at nice +19\n\nThe ring-buffer benchmark threads run on nice 0 by default, using\nup a lot of CPU time and slowing down the system:\n\n   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n  1024 root      20   0     0    0    0 D 95.3  0.0   4:01.67 rb_producer\n  1023 root      20   0     0    0    0 R 93.5  0.0   2:54.33 rb_consumer\n 21569 mingo     40   0 14852 1048  772 R  3.6  0.1   0:00.05 top\n     1 root      40   0  4080  928  668 S  0.0  0.0   0:23.98 init\n\nRenice them to +19 to make them less intrusive.\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6ebb237bece23275d1da149b61a342f0d4d06a08",
      "tree": "5f3d99f6ce2e1e98736e5708eecb5bf217f78fde",
      "parents": [
        "9f680ab41485edfdc96331b70afa7513aa0a7720"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Nov 22 08:53:50 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 18:58:16 2009 +0100"
      },
      "message": "rcu: Re-arrange code to reduce #ifdef pain\n\nRemove #ifdefs from kernel/rcupdate.c and\ninclude/linux/rcupdate.h by moving code to\ninclude/linux/rcutiny.h, include/linux/rcutree.h, and\nkernel/rcutree.c.\n\nAlso remove some definitions that are no longer used.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1258908830885-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f680ab41485edfdc96331b70afa7513aa0a7720",
      "tree": "620b34f8129c0ea4ddee033c9875a9f60bfba2ae",
      "parents": [
        "b668c9cf3e58739dac54a1d6f42f2b4bdd980b3e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Nov 22 08:53:49 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 18:58:16 2009 +0100"
      },
      "message": "rcu: Eliminate unneeded function wrapping\n\nThe functions rcu_init() is a wrapper for __rcu_init(), and also\nsets up the CPU-hotplug notifier for rcu_barrier_cpu_hotplug().\nBut TINY_RCU doesn\u0027t need CPU-hotplug notification, and the\nrcu_barrier_cpu_hotplug() is a simple wrapper for\nrcu_cpu_notify().\n\nSo push rcu_init() out to kernel/rcutree.c and kernel/rcutiny.c\nand get rid of the wrapper function rcu_barrier_cpu_hotplug().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12589088302320-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b668c9cf3e58739dac54a1d6f42f2b4bdd980b3e",
      "tree": "c0165d39532a2314f8187d765f3c8ddf88b72831",
      "parents": [
        "2f51f9884f6a36b0fe9636d5a1937e5cbd25723b"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Nov 22 08:53:48 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 18:58:15 2009 +0100"
      },
      "message": "rcu: Fix grace-period-stall bug on large systems with CPU hotplug\n\nWhen the last CPU of a given leaf rcu_node structure goes\noffline, all of the tasks queued on that leaf rcu_node structure\n(due to having blocked in their current RCU read-side critical\nsections) are requeued onto the root rcu_node structure.  This\nrequeuing is carried out by rcu_preempt_offline_tasks().\nHowever, it is possible that these queued tasks are the only\nthing preventing the leaf rcu_node structure from reporting a\nquiescent state up the rcu_node hierarchy.  Unfortunately, the\nold code would fail to do this reporting, resulting in a\ngrace-period stall given the following sequence of events:\n\n1.\tKernel built for more than 32 CPUs on 32-bit systems or for more\n\tthan 64 CPUs on 64-bit systems, so that there is more than one\n\trcu_node structure.  (Or CONFIG_RCU_FANOUT is artificially set\n\tto a number smaller than CONFIG_NR_CPUS.)\n\n2.\tThe kernel is built with CONFIG_TREE_PREEMPT_RCU.\n\n3.\tA task running on a CPU associated with a given leaf rcu_node\n\tstructure blocks while in an RCU read-side critical section\n\t-and- that CPU has not yet passed through a quiescent state\n\tfor the current RCU grace period.  This will cause the task\n\tto be queued on the leaf rcu_node\u0027s blocked_tasks[] array, in\n\tparticular, on the element of this array corresponding to the\n\tcurrent grace period.\n\n4.\tEach of the remaining CPUs corresponding to this same leaf rcu_node\n\tstructure pass through a quiescent state.  However, the task is\n\tstill in its RCU read-side critical section, so these quiescent\n\tstates cannot be reported further up the rcu_node hierarchy.\n\tNevertheless, all bits in the leaf rcu_node structure\u0027s -\u003eqsmask\n\tfield are now zero.\n\n5.\tEach of the remaining CPUs go offline.  (The events in step\n\t#4 and #5 can happen in any order as long as each CPU passes\n\tthrough a quiescent state before going offline.)\n\n6.\tWhen the last CPU goes offline, __rcu_offline_cpu() will invoke\n\trcu_preempt_offline_tasks(), which will move the task to the\n\troot rcu_node structure, but without reporting a quiescent state\n\tup the rcu_node hierarchy (and this failure to report a quiescent\n\tstate is the bug).\n\n\tBut because this leaf rcu_node structure\u0027s -\u003eqsmask field is\n\talready zero and its -\u003eblock_tasks[] entries are all empty,\n\tforce_quiescent_state() will skip this rcu_node structure.\n\n\tTherefore, grace periods are now hung.\n\nThis patch abstracts some code out of rcu_read_unlock_special(),\ncalling the result task_quiet() by analogy with cpu_quiet(), and\ninvokes task_quiet() from both rcu_read_lock_special() and\n__rcu_offline_cpu().  Invoking task_quiet() from\n__rcu_offline_cpu() reports the quiescent state up the rcu_node\nhierarchy, fixing the bug.  This ends up requiring a separate\nlock_class_key per level of the rcu_node hierarchy, which this\npatch also provides.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12589088301770-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34769945f7cd9ab470413ffe64426e3ad069f49e",
      "tree": "f937799941e6fde05166add1fe4f1712f05aa3a1",
      "parents": [
        "a1afb6371bb5341057056194d1168753f6d77242"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 20 11:46:21 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 20 11:55:26 2009 +0100"
      },
      "message": "genirq: Fix spurious irq seqfile conversion\n\nsingle_open data argument must be PDE(inode)-\u003edata instead of NULL\notherwise seq_file-\u003eprivate is always NULL and we always read the\nspurious data of irq 0.\n\nReported-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3bde31a4ac225cb5805be02eff6eaaf7e0766ccd",
      "tree": "9fb757ab7d46e0c37fb5e88d3185f1861fbc794e",
      "parents": [
        "31ba99d304494cb28fa8671ccc769c5543e1165d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:57 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:57 2009 +0000"
      },
      "message": "SLOW_WORK: Allow a requeueable work item to sleep till the thread is needed\n\nAdd a function to allow a requeueable work item to sleep till the thread\nprocessing it is needed by the slow-work facility to perform other work.\n\nSometimes a work item can\u0027t progress immediately, but must wait for the\ncompletion of another work item that\u0027s currently being processed by another\nslow-work thread.\n\nIn some circumstances, the waiting item could instead - theoretically - put\nitself back on the queue and yield its thread back to the slow-work facility,\nthus waiting till it gets processing time again before attempting to progress.\nThis would allow other work items processing time on that thread.\n\nHowever, this only works if there is something on the queue for it to queue\nbehind - otherwise it will just get a thread again immediately, and will end\nup cycling between the queue and the thread, eating up valuable CPU time.\n\nSo, slow_work_sleep_till_thread_needed() is provided such that an item can put\nitself on a wait queue that will wake it up when the event it is actually\ninterested in occurs, then call this function in lieu of calling schedule().\n\nThis function will then sleep until either the item\u0027s event occurs or another\nwork item appears on the queue.  If another work item is queued, but the\nitem\u0027s event hasn\u0027t occurred, then the work item should requeue itself and\nyield the thread back to the slow-work facility by returning.\n\nThis can be used by CacheFiles for an object that is being created on one\nthread to wait for an object being deleted on another thread where there is\nnothing on the queue for the creation to go and wait behind.  As soon as an\nitem appears on the queue that could be given thread time instead, CacheFiles\ncan stick the creating object back on the queue and return to the slow-work\nfacility - assuming the object deletion didn\u0027t also complete.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "8fba10a42d191de612e60e7009c8f0313f90a9b3",
      "tree": "1e772fcc7ad3eb5bb3ca1c6cd156171295e6db25",
      "parents": [
        "6b8268b17a1ffc942bc72d7d00274e433d6b6719"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:51 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:51 2009 +0000"
      },
      "message": "SLOW_WORK: Allow the work items to be viewed through a /proc file\n\nAllow the executing and queued work items to be viewed through a /proc file\nfor debugging purposes.  The contents look something like the following:\n\n    THR PID   ITEM ADDR        FL MARK  DESC\n    \u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d \u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n      0  3005 ffff880023f52348  a 952ms FSC: OBJ17d3: LOOK\n      1  3006 ffff880024e33668  2 160ms FSC: OBJ17e5 OP60d3b: Write1/Store fl\u003d2\n      2  3165 ffff8800296dd180  a 424ms FSC: OBJ17e4: LOOK\n      3  4089 ffff8800262c8d78  a 212ms FSC: OBJ17ea: CRTN\n      4  4090 ffff88002792bed8  2 388ms FSC: OBJ17e8 OP60d36: Write1/Store fl\u003d2\n      5  4092 ffff88002a0ef308  2 388ms FSC: OBJ17e7 OP60d2e: Write1/Store fl\u003d2\n      6  4094 ffff88002abaf4b8  2 132ms FSC: OBJ17e2 OP60d4e: Write1/Store fl\u003d2\n      7  4095 ffff88002bb188e0  a 388ms FSC: OBJ17e9: CRTN\n    vsq     - ffff880023d99668  1 308ms FSC: OBJ17e0 OP60f91: Write1/EnQ fl\u003d2\n    vsq     - ffff8800295d1740  1 212ms FSC: OBJ16be OP4d4b6: Write1/EnQ fl\u003d2\n    vsq     - ffff880025ba3308  1 160ms FSC: OBJ179a OP58dec: Write1/EnQ fl\u003d2\n    vsq     - ffff880024ec83e0  1 160ms FSC: OBJ17ae OP599f2: Write1/EnQ fl\u003d2\n    vsq     - ffff880026618e00  1 160ms FSC: OBJ17e6 OP60d33: Write1/EnQ fl\u003d2\n    vsq     - ffff880025a2a4b8  1 132ms FSC: OBJ16a2 OP4d583: Write1/EnQ fl\u003d2\n    vsq     - ffff880023cbe6d8  9 212ms FSC: OBJ17eb: LOOK\n    vsq     - ffff880024d37590  9 212ms FSC: OBJ17ec: LOOK\n    vsq     - ffff880027746cb0  9 212ms FSC: OBJ17ed: LOOK\n    vsq     - ffff880024d37ae8  9 212ms FSC: OBJ17ee: LOOK\n    vsq     - ffff880024d37cb0  9 212ms FSC: OBJ17ef: LOOK\n    vsq     - ffff880025036550  9 212ms FSC: OBJ17f0: LOOK\n    vsq     - ffff8800250368e0  9 212ms FSC: OBJ17f1: LOOK\n    vsq     - ffff880025036aa8  9 212ms FSC: OBJ17f2: LOOK\n\nIn the \u0027THR\u0027 column, executing items show the thread they\u0027re occupying and\nqueued threads indicate which queue they\u0027re on.  \u0027PID\u0027 shows the process ID of\na slow-work thread that\u0027s executing something.  \u0027FL\u0027 shows the work item flags.\n\u0027MARK\u0027 indicates how long since an item was queued or began executing.  Lastly,\nthe \u0027DESC\u0027 column permits the owner of an item to give some information.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "6b8268b17a1ffc942bc72d7d00274e433d6b6719",
      "tree": "bd293facd4b805fc05588fcaf024e964a0bb1cca",
      "parents": [
        "0160950297c08f8233c89b9f9e7dd59cfb080809"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 19 18:10:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:47 2009 +0000"
      },
      "message": "SLOW_WORK: Add delayed_slow_work support\n\nThis adds support for starting slow work with a delay, similar\nto the functionality we have for workqueues.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "0160950297c08f8233c89b9f9e7dd59cfb080809",
      "tree": "4910bfb7ab5b4000a1679fd165d217ff48226268",
      "parents": [
        "4d8bb2cbccf6dccaada509aafeb01c6205c9d8c4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 19 18:10:43 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:43 2009 +0000"
      },
      "message": "SLOW_WORK: Add support for cancellation of slow work\n\nAdd support for cancellation of queued slow work and delayed slow work items.\nThe cancellation functions will wait for items that are pending or undergoing\nexecution to be discarded by the slow work facility.\n\nAttempting to enqueue work that is in the process of being cancelled will\nresult in ECANCELED.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4d8bb2cbccf6dccaada509aafeb01c6205c9d8c4",
      "tree": "116689de1f46840915e7f6f196ad334a990a2d5b",
      "parents": [
        "3d7a641e544e428191667e8b1f83f96fa46dbd65"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 19 18:10:39 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:39 2009 +0000"
      },
      "message": "SLOW_WORK: Make slow_work_ops -\u003eget_ref/-\u003eput_ref optional\n\nMake the ability for the slow-work facility to take references on a work item\noptional as not everyone requires this.\n\nEven the internal slow-work stubs them out, so those can be got rid of too.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "3d7a641e544e428191667e8b1f83f96fa46dbd65",
      "tree": "172aa672eca96b94f5531885b82abb82b43c7d8a",
      "parents": [
        "66b00a7c93ec782d118d2c03bd599cfd041e80a1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:23 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:23 2009 +0000"
      },
      "message": "SLOW_WORK: Wait for outstanding work items belonging to a module to clear\n\nWait for outstanding slow work items belonging to a module to clear when\nunregistering that module as a user of the facility.  This prevents the put_ref\ncode of a work item from being taken away before it returns.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "2ea6dec4a22a6f66f6633876212fd4d195cf8277",
      "tree": "f630c63a9e20fab5b31caa88368293a203103408",
      "parents": [
        "72f279b256d520e321a850880d094bc0bcbf45d6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 17 14:27:27 2009 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 18 14:52:25 2009 +0100"
      },
      "message": "generic-ipi: Add smp_call_function_any()\n\nAndrew points out that acpi-cpufreq uses cpumask_any, when it really\nwould prefer to use the same CPU if possible (to avoid an IPI).  In\ngeneral, this seems a good idea to offer.\n\n[ tglx: Documented selection preference and Inlined the UP case to\n  \tavoid the copy of smp_call_function_single() and the extra\n  \tEXPORT ]\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Zhao Yakui \u003cyakui.zhao@intel.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a1afb6371bb5341057056194d1168753f6d77242",
      "tree": "dd120dd5fa3c58319d87ba1e8d28ec37986dfce2",
      "parents": [
        "c82a43d40b93200a10a9fec0a489791e65e135ca"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Aug 28 22:19:33 2009 +0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 18 12:50:51 2009 +0100"
      },
      "message": "genirq: switch /proc/irq/*/spurious to seq_file\n\n[ tglx: compacted it a bit ]\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nLKML-Reference: \u003c20090828181743.GA14050@x200.localdomain\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9398180097e359646d46083c3e079a54e20bee82",
      "tree": "633933ddd86e3dba7c0970eea5768867849842c9",
      "parents": [
        "e13193319d3a5545c82ed4b724bffd16f87873e3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Nov 17 14:06:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 17:40:33 2009 -0800"
      },
      "message": "workqueue: fix race condition in schedule_on_each_cpu()\n\nCommit 65a64464349883891e21e74af16c05d6e1eeb4e9 (\"HWPOISON: Allow\nschedule_on_each_cpu() from keventd\") which allows schedule_on_each_cpu()\nto be called from keventd added a race condition.  schedule_on_each_cpu()\nmay race with cpu hotplug and end up executing the function twice on a\ncpu.\n\nFix it by moving direct execution into the section protected with\nget/put_online_cpus().  While at it, update code such that direct\nexecution is done after works have been scheduled for all other cpus and\ndrop unnecessary cpu !\u003d orig test from flush loop.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6060f46819f313d34a8c8151390cda509c23389",
      "tree": "96ec1c80695498d73172b3c2ef7df585b9d28e4f",
      "parents": [
        "5a50e33cc916f6a81cb96f0f24f6a88c9ab78b79"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Nov 05 11:16:17 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 17 11:05:49 2009 -0500"
      },
      "message": "tracing: Prevent build warning: \u0027ftrace_graph_buf\u0027 defined but not used\n\nPrevent build warning when CONFIG_FUNCTION_GRAPH_TRACER is not set.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AF24381.5060307@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c13d2f7c3231e873f30db92b96c8caa48f100f33",
      "tree": "b849f99094e847f31f89e2e1a8944c9ff7f0ad30",
      "parents": [
        "811cb50baf63461ce0bdb234927046131fc7fa8b"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "Carsten.Emde@osadl.org",
        "time": "Mon Nov 16 20:56:13 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 17 09:19:06 2009 -0500"
      },
      "message": "tracing: Fix trace_marker output\n\nWhen a string was written to \u003cdebugfs\u003e/tracing/trace_marker, some\nstrange characters appeared in the trace output instead of the\nstring, since a vprint function erroneously called a vararg print\nfunction with a va_list argument. This patch fixes the problem and\nsimplifies the related code.\n\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nLKML-Reference: \u003c4B01AE5D.1010801@osadl.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5a50e33cc916f6a81cb96f0f24f6a88c9ab78b79",
      "tree": "cc00c32414107ade5492be200fcb1bc882968cae",
      "parents": [
        "8b2a5dac7859dd1954095fce8b6445c3ceb36ef6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Nov 17 08:43:01 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 17 08:43:01 2009 -0500"
      },
      "message": "ring-buffer: Move access to commit_page up into function used\n\nWith the change of the way we process commits. Where a commit only happens\nat the outer most level, and that we don\u0027t need to worry about\na commit ending after the rb_start_commit() has been called, the code\nuse to grab the commit page before the tail page to prevent a possible\nrace. But this race no longer exists with the rb_start_commit()\nrb_end_commit() interface.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2f51f9884f6a36b0fe9636d5a1937e5cbd25723b",
      "tree": "0505e111a9714b2bd022322f76e6c4de26861107",
      "parents": [
        "560d4bc0df9a5e63b980432282d8c2bd3559ec74"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Nov 13 19:51:39 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 14 10:31:42 2009 +0100"
      },
      "message": "rcu: Eliminate __rcu_pending() false positives\n\nNow that there are both -\u003egpnum and -\u003ecompleted fields in the\nrcu_node structure, __rcu_pending() should check rdp-\u003egpnum and\nrdp-\u003ecompleted against rnp-\u003egpnum and rdp-\u003ecompleted, respectively,\ninstead of the prior comparison against the rcu_state fields\nrsp-\u003egpnum and rsp-\u003ecompleted.\n\nGiven the old comparison, __rcu_pending() could return 1, resulting\nin a needless raise_softirq(RCU_SOFTIRQ).  This useless work would\nhappen if RCU responded to a scheduling-clock interrupt after the\nrcu_state fields had been updated, but before the rcu_node fields\nhad been updated.\n\nChanging the comparison from the rcu_state fields to the rcu_node\nfields prevents this useless work from happening.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12581706991966-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "560d4bc0df9a5e63b980432282d8c2bd3559ec74",
      "tree": "1e44bf34973b217977d0b4d57d2b1ee1d4209f08",
      "parents": [
        "8e9aa8f067d2dcd9457980ced618e1cffbcfba46"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Nov 13 19:51:38 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 14 10:31:42 2009 +0100"
      },
      "message": "rcu: Further cleanups of use of lastcomp\n\nNow that a copy of the rsp-\u003ecompleted flag is available in all\nrcu_node structures, make full use of it.  It is still\nlegitimate to access rsp-\u003ecompleted while holding the root\nrcu_node structure\u0027s lock, however.\n\nAlso, tighten up force_quiescent_state()\u0027s checks for end of\ncurrent grace period.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1258170699933-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e13c7b772387f55dc05c6a0e5b30010c3c46ff9",
      "tree": "7cfa275b95febce0cf29c5c8faf2bc7566305265",
      "parents": [
        "6beb000923882f6204ea2cfcd932e568e900803f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 09 15:21:41 2009 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 13 20:53:28 2009 +0100"
      },
      "message": "locking: Reduce ifdefs in kernel/spinlock.c\n\nWith the Kconfig based inline decisions we can remove extra ifdefs in\nkernel/spinlock.c by creating the complex lockbreak functions as\ninlines which are inserted into the non inlined lock functions.\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c20091109151428.548614772@linutronix.de\u003e\nAcked-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "6beb000923882f6204ea2cfcd932e568e900803f",
      "tree": "1849bb1e7493bbf5e538d74cec18c6d6f4b16ced",
      "parents": [
        "156171c71a0dc4bce12b4408bb1591f8fe32dc1a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 09 15:21:34 2009 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 13 20:53:28 2009 +0100"
      },
      "message": "locking: Make inlining decision Kconfig based\n\ncommit 892a7c67 (locking: Allow arch-inlined spinlocks) implements the\nselection of which lock functions are inlined based on defines in\narch/.../spinlock.h: #define __always_inline__LOCK_FUNCTION\n\nDespite of the name __always_inline__* the lock functions can be built\nout of line depending on config options. Also if the arch does not set\nsome inline defines the generic code might set them; again depending on\nconfig options.\n\nThis makes it unnecessary hard to figure out when and which lock\nfunctions are inlined. Aside of that it makes it way harder and\nmessier for -rt to manipulate the lock functions.\n\nConvert the inlining decision to CONFIG switches. Each lock function\nis inlined depending on CONFIG_INLINE_*. The configs implement the\nexisting dependencies. The architecture code can select ARCH_INLINE_*\nto signal that it wants the corresponding lock function inlined.\nARCH_INLINE_* is necessary as Kconfig ignores \"depends on\"\nrestrictions when a config element is selected.\n\nNo functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c20091109151428.504477141@linutronix.de\u003e\nAcked-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "8e9aa8f067d2dcd9457980ced618e1cffbcfba46",
      "tree": "bb32427c6a010435420e4b9481d2fdf1961fdc17",
      "parents": [
        "b32e9eb6ad29572b4451847d0e8227c9be2b6d69"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Nov 12 22:35:04 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 13 10:18:36 2009 +0100"
      },
      "message": "rcu: Simplify association of forced quiescent states with grace periods\n\nThe force_quiescent_state() function also took a snapshot\nof the -\u003ecompleted field, which was as obnoxious as it was in\nrcu_sched_qs() and friends.  So snapshot -\u003egpnum-1.\n\nAlso, since the dyntick_record_completed() and\ndyntick_recall_completed() functions are now simple assignments\nthat are independent of CONFIG_NO_HZ, and since their names are\nnow misleading, get rid of them.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12580941042308-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b32e9eb6ad29572b4451847d0e8227c9be2b6d69",
      "tree": "d697f2c9dcf59d2defb6693866bf33cc45307dca",
      "parents": [
        "0e0fc1c23e04c15e814763f2b366e92d87d8b95d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Nov 12 22:35:03 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 13 10:18:36 2009 +0100"
      },
      "message": "rcu: Accelerate callback processing on CPUs not detecting GP end\n\nAn earlier fix for a race resulted in a situation where the CPUs\nother than the CPU that detected the end of the grace period would\nnot process their callbacks until the next grace period started.\n\nThis means that these other CPUs would unnecessarily demand that an\nextra grace period be started.\n\nThis patch eliminates this extra grace period and speeds callback\nprocessing by propagating rsp-\u003ecompleted to the rcu_node structures\nin the case where the CPU detecting the end of the grace period\nsees no reason to start a new grace period.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1258094104417-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8b2a5dac7859dd1954095fce8b6445c3ceb36ef6",
      "tree": "a378c658e7fc59a10854a8b10074a921f5edd973",
      "parents": [
        "a6f0eb6adc42e5eed3f35af99c61c0e411b16f8e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 11 19:36:03 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 11 23:38:33 2009 -0500"
      },
      "message": "tracing: do not disable interrupts for trace_clock_local\n\nDisabling interrupts in trace_clock_local takes quite a performance\nhit to the recording of traces. Using perf top we see:\n\n------------------------------------------------------------------------------\n   PerfTop:     244 irqs/sec  kernel:100.0% [1000Hz cpu-clock-msecs],  (all, 4 CPUs)\n------------------------------------------------------------------------------\n\n             samples    pcnt   kernel function\n             _______   _____   _______________\n\n             2842.00 - 40.4% : trace_clock_local\n             1043.00 - 14.8% : rb_reserve_next_event\n              784.00 - 11.1% : ring_buffer_lock_reserve\n              600.00 -  8.5% : __rb_reserve_next\n              579.00 -  8.2% : rb_end_commit\n              440.00 -  6.3% : ring_buffer_unlock_commit\n              290.00 -  4.1% : ring_buffer_producer_thread \t[ring_buffer_benchmark]\n              155.00 -  2.2% : debug_smp_processor_id\n              117.00 -  1.7% : trace_recursive_unlock\n              103.00 -  1.5% : ring_buffer_event_data\n               28.00 -  0.4% : do_gettimeofday\n               22.00 -  0.3% : _spin_unlock_irq\n               14.00 -  0.2% : native_read_tsc\n               11.00 -  0.2% : getnstimeofday\n\nWhere trace_clock_local is 40% of the tracing, and the time for recording\na trace according to ring_buffer_benchmark is 210ns. After converting\nthe interrupts to preemption disabling we have from perf top:\n\n------------------------------------------------------------------------------\n   PerfTop:    1084 irqs/sec  kernel:99.9% [1000Hz cpu-clock-msecs],  (all, 4 CPUs)\n------------------------------------------------------------------------------\n\n             samples    pcnt   kernel function\n             _______   _____   _______________\n\n             1277.00 - 16.8% : native_read_tsc\n             1148.00 - 15.1% : rb_reserve_next_event\n              896.00 - 11.8% : ring_buffer_lock_reserve\n              688.00 -  9.1% : __rb_reserve_next\n              664.00 -  8.8% : rb_end_commit\n              563.00 -  7.4% : ring_buffer_unlock_commit\n              508.00 -  6.7% : _spin_unlock_irq\n              365.00 -  4.8% : debug_smp_processor_id\n              321.00 -  4.2% : trace_clock_local\n              303.00 -  4.0% : ring_buffer_producer_thread \t[ring_buffer_benchmark]\n              273.00 -  3.6% : native_sched_clock\n              122.00 -  1.6% : trace_recursive_unlock\n              113.00 -  1.5% : sched_clock\n              101.00 -  1.3% : ring_buffer_event_data\n               53.00 -  0.7% : tick_nohz_stop_sched_tick\n\nWhere trace_clock_local drops from 40% to only taking 4% of the total time.\nThe trace time also goes from 210ns down to 179ns (31ns).\n\nI talked with Peter Zijlstra about the impact that sched_clock may have\nwithout having interrupts disabled, and he told me that if a timer interrupt\ncomes in, sched_clock may report a wrong time.\n\nBalancing a seldom incorrect timestamp with a 15% performance boost, I\u0027ll\ntake the performance boost.\n\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a6f0eb6adc42e5eed3f35af99c61c0e411b16f8e",
      "tree": "85392e8c2878290b7f9ffdd644b5a02d5bd4bf78",
      "parents": [
        "4dae560f97fa438f373b53e14b30149c9e44a600"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 11 17:14:07 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 11 22:22:15 2009 -0500"
      },
      "message": "ring-buffer: Add multiple iterations between benchmark timestamps\n\nThe ring_buffer_benchmark does a gettimeofday after every write to the\nring buffer in its measurements. This adds the overhead of the call\nto gettimeofday to the measurements and does not give an accurate picture\nof the length of time it takes to record a trace.\n\nThis was first noticed with perf top:\n\n------------------------------------------------------------------------------\n   PerfTop:     679 irqs/sec  kernel:99.9% [1000Hz cpu-clock-msecs],  (all, 4 CPUs)\n------------------------------------------------------------------------------\n\n             samples    pcnt   kernel function\n             _______   _____   _______________\n\n             1673.00 - 27.8% : trace_clock_local\n              806.00 - 13.4% : do_gettimeofday\n              590.00 -  9.8% : rb_reserve_next_event\n              554.00 -  9.2% : native_read_tsc\n              431.00 -  7.2% : ring_buffer_lock_reserve\n              365.00 -  6.1% : __rb_reserve_next\n              355.00 -  5.9% : rb_end_commit\n              322.00 -  5.4% : getnstimeofday\n              268.00 -  4.5% : ring_buffer_unlock_commit\n              262.00 -  4.4% : ring_buffer_producer_thread \t[ring_buffer_benchmark]\n              113.00 -  1.9% : read_tsc\n               91.00 -  1.5% : debug_smp_processor_id\n               69.00 -  1.1% : trace_recursive_unlock\n               66.00 -  1.1% : ring_buffer_event_data\n               25.00 -  0.4% : _spin_unlock_irq\n\nAnd the length of each write to the ring buffer measured at 310ns.\n\nThis patch adds a new module parameter called \"write_interval\" which is\ndefaulted to 50. This is the number of writes performed between\ntimestamps. After this patch perf top shows:\n\n------------------------------------------------------------------------------\n   PerfTop:     244 irqs/sec  kernel:100.0% [1000Hz cpu-clock-msecs],  (all, 4 CPUs)\n------------------------------------------------------------------------------\n\n             samples    pcnt   kernel function\n             _______   _____   _______________\n\n             2842.00 - 40.4% : trace_clock_local\n             1043.00 - 14.8% : rb_reserve_next_event\n              784.00 - 11.1% : ring_buffer_lock_reserve\n              600.00 -  8.5% : __rb_reserve_next\n              579.00 -  8.2% : rb_end_commit\n              440.00 -  6.3% : ring_buffer_unlock_commit\n              290.00 -  4.1% : ring_buffer_producer_thread \t[ring_buffer_benchmark]\n              155.00 -  2.2% : debug_smp_processor_id\n              117.00 -  1.7% : trace_recursive_unlock\n              103.00 -  1.5% : ring_buffer_event_data\n               28.00 -  0.4% : do_gettimeofday\n               22.00 -  0.3% : _spin_unlock_irq\n               14.00 -  0.2% : native_read_tsc\n               11.00 -  0.2% : getnstimeofday\n\ndo_gettimeofday dropped from 13% usage to a mere 0.4%! (using the default\n50 interval)  The measurement for each timestamp went from 310ns to 210ns.\nThat\u0027s 100ns (1/3rd) overhead that the gettimeofday call was introducing.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a646365cc330b5aaf4452c91f61b1e0d1acf68d0",
      "tree": "a1fda53758eb90e93d4a03efd21b2a35f3b283e0",
      "parents": [
        "ed146b25942b428f8e8056587b7638ce76573c2f"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Nov 11 22:26:35 2009 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 11 21:26:55 2009 -0500"
      },
      "message": "tracing: Fix return value of tracing_stats_read()\n\nThe function tracing_stats_read() mistakenly returns ENOMEM instead\nof the negative value -ENOMEM.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nLKML-Reference: \u003c4AFB2C0B.50605@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0e0fc1c23e04c15e814763f2b366e92d87d8b95d",
      "tree": "f314cfb98a63cad61fc477015ed537a80de3c9f9",
      "parents": [
        "c64ac3ce06558e534aec62b1fadeb0a3f111dac1"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Nov 11 11:28:06 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 11 21:27:42 2009 +0100"
      },
      "message": "rcu: Mark init-time-only rcu_bootup_announce() as __init\n\nBecause rcu_bootup_announce() is used only at boot time, mark it\nas __init, presumably so that its memory can be reclaimed.\n\nSuggested-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c20091111192806.GA10073@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "961767b75d63c21aa60ee3ccf940288c3c1afde6",
      "tree": "2ba45f33bcd7998fd52a1f423e76265370953054",
      "parents": [
        "1fd18a871a0761633d02d0536ecb4a311d92a3d3",
        "d4515646699b6ad7b1a98ceb871296b957f3ef47"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:30:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:30:15 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  highmem: Fix debug_kmap_atomic() to also handle KM_IRQ_PTE, KM_NMI, and KM_NMI_PTE\n  highmem: Fix race in debug_kmap_atomic() which could cause warn_count to underflow\n  rcu: Fix long-grace-period race between forcing and initialization\n  uids: Prevent tear down race\n"
    },
    {
      "commit": "1fd18a871a0761633d02d0536ecb4a311d92a3d3",
      "tree": "2f7deb11ace12181473289d45aed06943f80e760",
      "parents": [
        "26a9ba160f50115ece48198608002600914932a7",
        "e7e7e0c084ef862d5754701108d4a038514d6314"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:29:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 11 11:29:58 2009 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: try_one_irq() must be called with irq disabled\n"
    },
    {
      "commit": "c64ac3ce06558e534aec62b1fadeb0a3f111dac1",
      "tree": "faee8cf2d5cb47aeac4999a1e2163491a8e03734",
      "parents": [
        "4bcfe055030d9e953945def3864f7e6997b27782"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Nov 10 13:37:22 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 22:48:50 2009 +0100"
      },
      "message": "rcu: Simplify association of quiescent states with grace periods\n\nThe rdp-\u003epassed_quiesc_completed fields are used to properly\nassociate the recorded quiescent state with a grace period.  It\nis OK to wrongly associate a given quiescent state with a\npreceding grace period, but it is fatal to associate a given\nquiescent state with a grace period that begins after the\nquiescent state occurred.  Grace periods are numbered, and the\nfollowing fields track them:\n\no\t-\u003egpnum is the number of the grace period currently in\n\tprogress, or the number of the last grace period to\n\tcomplete if no grace period is currently in progress.\n\no\t-\u003ecompleted is the number of the last grace period to\n\thave completed.\n\nThese two fields are equal if there is no grace period in\nprogress, otherwise -\u003egpnum is one greater than -\u003ecompleted.\nBut the rdp-\u003epassed_quiesc_completed field compared against\n-\u003ecompleted, and if equal, the quiescent state is presumed to\ncount against the current grace period.\n\nThe earlier code copied rdp-\u003ecompleted to\nrdp-\u003epassed_quiesc_completed, which has been made to work, but\nis error-prone.  In contrast, copying one less than rdp-\u003egpnum\nis guaranteed safe, because rdp-\u003egpnum is not incremented until\nafter the start of the corresponding grace period. At the end of\nthe grace period, when -\u003ecompleted has incremented, then any\nquiescent periods recorded previously will be discarded.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12578890421011-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4bcfe055030d9e953945def3864f7e6997b27782",
      "tree": "5021112c826572bd0b356f193c2be742e54deb4f",
      "parents": [
        "956539b75921f561c0956c22d37320780e8b4ba1"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Nov 10 13:37:21 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 22:48:50 2009 +0100"
      },
      "message": "rcu: Rename dynticks_completed to completed_fqs\n\nThis field is used whether or not CONFIG_NO_HZ is set, so the\nold name of -\u003edynticks_completed is quite misleading.\n\nChange to -\u003ecompleted_fqs, given that it the value that\nforce_quiescent_state() is trying to drive the -\u003ecompleted field\naway from.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12578890423298-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "956539b75921f561c0956c22d37320780e8b4ba1",
      "tree": "07fb3e32fe104ad89f7a7bce1636416f541fe11d",
      "parents": [
        "dbe01350fa8ce0c11948ab7d6be71a4d901be151"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Nov 10 13:37:20 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 22:48:49 2009 +0100"
      },
      "message": "rcu: Enable synchronize_sched_expedited() fastpath\n\nThis patch adds a counter increment to enable tasks to actually\ntake the synchronize_sched_expedited() function\u0027s fastpath.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1257889042435-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dbe01350fa8ce0c11948ab7d6be71a4d901be151",
      "tree": "8d79460aeb616f39f95ff74357c7b72ad3501839",
      "parents": [
        "9160306e6f5b68bb64630c9031c517ca1cf463db"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Nov 10 13:37:19 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 22:48:49 2009 +0100"
      },
      "message": "rcu: Remove inline from forward-referenced functions\n\nSome variants of gcc are reputed to dislike forward references\nto functions declared \"inline\".  Remove the \"inline\" keyword\nfrom such functions.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12578890422402-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9160306e6f5b68bb64630c9031c517ca1cf463db",
      "tree": "d8f78f99d417f34121c21e45a4675b2b1d5c2674",
      "parents": [
        "d09b62dfa336447c52a5ec9bb88adbc479b0f3b8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Nov 02 13:52:29 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 04:12:11 2009 +0100"
      },
      "message": "rcu: Fix note_new_gpnum() uses of -\u003egpnum\n\nImpose a clear locking design on the note_new_gpnum()\nfunction\u0027s use of the -\u003egpnum counter.  This is done by updating\nrdp-\u003egpnum only from the corresponding leaf rcu_node structure\u0027s\nrnp-\u003egpnum field, and even then only under the protection of\nthat same rcu_node structure\u0027s -\u003elock field.  Performance and\nscalability are maintained using a form of double-checked\nlocking, and excessive spinning is avoided by use of the\nspin_trylock() function.  The use of spin_trylock() is safe due\nto the fact that CPUs who fail to acquire this lock will try\nagain later. The hierarchical nature of the rcu_node data\nstructure limits contention (which could be limited further if\nneed be using the RCU_FANOUT kernel parameter).\n\nWithout this patch, obscure but quite possible races could\nresult in a quiescent state that occurred during one grace\nperiod to be accounted to the following grace period, causing\nthis following grace period to end prematurely.  Not good!\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: \u003cstable@kernel.org\u003e # .32.x\nLKML-Reference: \u003c12571987492350-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d09b62dfa336447c52a5ec9bb88adbc479b0f3b8",
      "tree": "70a002fed2e0471def01ea3c166137449cb1527d",
      "parents": [
        "281d150c5f8892f158747594ab49ce2823fd8b8c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Nov 02 13:52:28 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 04:11:54 2009 +0100"
      },
      "message": "rcu: Fix synchronization for rcu_process_gp_end() uses of -\u003ecompleted counter\n\nImpose a clear locking design on the rcu_process_gp_end()\nfunction\u0027s use of the -\u003ecompleted counter.  This is done by\ncreating a -\u003ecompleted field in the rcu_node structure, which\ncan safely be accessed under the protection of that structure\u0027s\nlock.  Performance and scalability are maintained by using a\nform of double-checked locking, so that rcu_process_gp_end()\nonly acquires the leaf rcu_node structure\u0027s -\u003elock if a grace\nperiod has recently ended.\n\nThis fix reduces rcutorture failure rate by at least two orders\nof magnitude under heavy stress with force_quiescent_state()\nbeing invoked artificially often.  Without this fix,\nunsynchronized access to the -\u003ecompleted field can cause\nrcu_process_gp_end() to advance callbacks whose grace period has\nnot yet expired.  (Bad idea!)\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: \u003cstable@kernel.org\u003e # .32.x\nLKML-Reference: \u003c12571987494069-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "281d150c5f8892f158747594ab49ce2823fd8b8c",
      "tree": "e46ed3e84545ec33f99f58f4b7211121bbfe3755",
      "parents": [
        "7e1a2766e67a529f62c8cfba0a47d63fc4f7fa8a"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Nov 02 13:52:27 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 04:11:17 2009 +0100"
      },
      "message": "rcu: Prepare for synchronization fixes: clean up for non-NO_HZ handling of -\u003ecompleted counter\n\nImpose a clear locking design on non-NO_HZ handling of the\n-\u003ecompleted counter.  This increases the distance between the\nRCU and the CPU-hotplug mechanisms.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nCc: \u003cstable@kernel.org\u003e # .32.x\nLKML-Reference: \u003c12571987491353-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7e1a2766e67a529f62c8cfba0a47d63fc4f7fa8a",
      "tree": "197950369a773afdf04af9bdfc4a2ce1d2b5d3af",
      "parents": [
        "c5e0cb3ddc5f14cedcfc50c0fb3b5fc6b56576da",
        "83f5b01ffbbaea6f97c9a79d21e240dbfb69f2f1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 04:10:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 10 04:10:35 2009 +0100"
      },
      "message": "Merge branch \u0027core/urgent\u0027 into core/rcu\n\nMerge reason: Pick up RCU fixlet to base further commits on.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd8dbf2e6880e30c00b18600c962d0cb5a03c555",
      "tree": "24835aaf40cec5ceb2aeecccde9240ee173f70f1",
      "parents": [
        "6e65f92ff0d6f18580737321718d09035085a3fb"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Nov 03 16:35:32 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Nov 10 09:33:46 2009 +1100"
      },
      "message": "security: report the module name to security_module_request\n\nFor SELinux to do better filtering in userspace we send the name of the\nmodule along with the AVC denial when a program is denied module_request.\n\nExample output:\n\ntype\u003dSYSCALL msg\u003daudit(11/03/2009 10:59:43.510:9) : arch\u003dx86_64 syscall\u003dwrite success\u003dyes exit\u003d2 a0\u003d3 a1\u003d7fc28c0d56c0 a2\u003d2 a3\u003d7fffca0d7440 items\u003d0 ppid\u003d1727 pid\u003d1729 auid\u003dunset uid\u003droot gid\u003droot euid\u003droot suid\u003droot fsuid\u003droot egid\u003droot sgid\u003droot fsgid\u003droot tty\u003d(none) ses\u003dunset comm\u003drpc.nfsd exe\u003d/usr/sbin/rpc.nfsd subj\u003dsystem_u:system_r:nfsd_t:s0 key\u003d(null)\ntype\u003dAVC msg\u003daudit(11/03/2009 10:59:43.510:9) : avc:  denied  { module_request } for  pid\u003d1729 comm\u003drpc.nfsd kmod\u003d\"net-pf-10\" scontext\u003dsystem_u:system_r:nfsd_t:s0 tcontext\u003dsystem_u:system_r:kernel_t:s0 tclass\u003dsystem\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "f84d49b218b7d4c6cba2e0b41f24bd4045403962",
      "tree": "d62ed0c15152c1a0a78fb75feac649dafc05b041",
      "parents": [
        "2a855dd01bc1539111adb7233f587c5c468732ac"
      ],
      "author": {
        "name": "Naohiro Ooiwa",
        "email": "nooiwa@miraclelinux.com",
        "time": "Mon Nov 09 00:46:42 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 09 09:44:26 2009 +0100"
      },
      "message": "signal: Print warning message when dropping signals\n\nWhen the system has too many timers or too many aggregate\nqueued signals, the EAGAIN error is returned to application\nfrom kernel, including timer_create() [POSIX.1b].\n\nIt means that the app exceeded the limit of pending signals,\nbut in general application writers do not expect this\noutcome and the current silent failure can cause rare app\nfailures under very high load.\n\nThis patch adds a new message when we reach the limit\nand if print_fatal_signals is enabled:\n\n    task/1234: reached RLIMIT_SIGPENDING, dropping signal\n\nIf you see this message and your system behaved unexpectedly,\nyou can run following command to lift the limit:\n\n   # ulimit -i unlimited\n\nWith help from Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e.\n\nSigned-off-by: Naohiro Ooiwa \u003cnooiwa@miraclelinux.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: oleg@redhat.com\nLKML-Reference: \u003c4AF6E7E2.9080406@miraclelinux.com\u003e\n[ Modified a few small details, gave surrounding code some love. ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9036b36eed4d3cdb33fa9cbcdd9888ae516889f",
      "tree": "769497c425cfe602e7765884185cd769428cc67e",
      "parents": [
        "968c86458a5975efa7a95f832a4ec9fb21471137"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Mon Oct 26 22:24:14 2009 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 08 13:15:48 2009 +0100"
      },
      "message": "sched: Use root_task_group_empty only with FAIR_GROUP_SCHED\n\nroot_task_group_empty is used only with FAIR_GROUP_SCHED\nso if we use other scheduler options we get:\n\n  kernel/sched.c:314: warning: \u0027root_task_group_empty\u0027 defined but not used\n\nSo move CONFIG_FAIR_GROUP_SCHED up that it covers\nroot_task_group_empty().\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20091026192414.GB5321@lenovo\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c82a43d40b93200a10a9fec0a489791e65e135ca",
      "tree": "5986787e2382d88e3191cffafcdf35aa2ad8353f",
      "parents": [
        "663e69592856df53ef52969482ef413a96bc4e06"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Mon Oct 26 23:28:11 2009 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 08 13:14:22 2009 +0100"
      },
      "message": "irq: Do not attempt to create subdirectories if /proc/irq/\u003cirq\u003e failed\n\nIf a parent directory (ie /proc/irq/\u003cirq\u003e) could not be created\nwe should not attempt to create subdirectories. Otherwise it\nwould lead that \"smp_affinity\" and \"spurious\" entries are may be\nregistered under /proc root instead of a proper place.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c20091026202811.GD5321@lenovo\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "968c86458a5975efa7a95f832a4ec9fb21471137",
      "tree": "05be75c81e7492d402471c5a51394cce9a5459f2",
      "parents": [
        "7c9abfb884b8737f0afdc8a88bcea77526f0da87"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Nov 06 15:31:08 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 08 11:26:25 2009 +0100"
      },
      "message": "sched: Fix kernel-doc function parameter name\n\nFix variable name in sched.c kernel-doc notation.\n\nFixes this DocBook warning:\n\n Warning(kernel/sched.c:2008): No description found for parameter\n \u0027p\u0027 Warning(kernel/sched.c:2008): Excess function parameter \u0027k\u0027\n description in \u0027kthread_bind\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nLKML-Reference: \u003c4AF4B1BC.8020604@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e7e7e0c084ef862d5754701108d4a038514d6314",
      "tree": "8f098ade05740e21e93767b657d7b0e6c90b588e",
      "parents": [
        "7c9abfb884b8737f0afdc8a88bcea77526f0da87"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Sat Nov 07 11:16:13 2009 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Nov 07 21:44:45 2009 +0100"
      },
      "message": "genirq: try_one_irq() must be called with irq disabled\n\nPrarit reported:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: inconsistent lock state ]\n2.6.32-rc5 #1\n---------------------------------\ninconsistent {IN-HARDIRQ-W} -\u003e {HARDIRQ-ON-W} usage.\nswapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:\n (\u0026irq_desc_lock_class){?.-...}, at: [\u003cffffffff810c264e\u003e] try_one_irq+0x32/0x138\n{IN-HARDIRQ-W} state was registered at:\n [\u003cffffffff81095160\u003e] __lock_acquire+0x2fc/0xd5d\n [\u003cffffffff81095cb4\u003e] lock_acquire+0xf3/0x12d\n [\u003cffffffff814cdadd\u003e] _spin_lock+0x40/0x89\n [\u003cffffffff810c3389\u003e] handle_level_irq+0x30/0x105\n [\u003cffffffff81014e0e\u003e] handle_irq+0x95/0xb7\n [\u003cffffffff810141bd\u003e] do_IRQ+0x6a/0xe0\n [\u003cffffffff81012813\u003e] ret_from_intr+0x0/0x16\nirq event stamp: 195096\nhardirqs last  enabled at (195096): [\u003cffffffff814cd7f7\u003e] _spin_unlock_irq+0x3a/0x5c\nhardirqs last disabled at (195095): [\u003cffffffff814cdbdd\u003e] _spin_lock_irq+0x29/0x95\nsoftirqs last  enabled at (195088): [\u003cffffffff81068c92\u003e] __do_softirq+0x1c1/0x1ef\nsoftirqs last disabled at (195093): [\u003cffffffff8101304c\u003e] call_softirq+0x1c/0x30\n\nother info that might help us debug this:\n1 lock held by swapper/0:\n #0:  (kernel/irq/spurious.c:21){+.-...}, at: [\u003cffffffff81070cf2\u003e]\nrun_timer_softirq+0x1a9/0x315\n\nstack backtrace:\nPid: 0, comm: swapper Not tainted 2.6.32-rc5 #1\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffff81093e94\u003e] valid_state+0x187/0x1ae\n [\u003cffffffff81093fe4\u003e] mark_lock+0x129/0x253\n [\u003cffffffff810951d4\u003e] __lock_acquire+0x370/0xd5d\n [\u003cffffffff81095cb4\u003e] lock_acquire+0xf3/0x12d\n [\u003cffffffff814cdadd\u003e] _spin_lock+0x40/0x89\n [\u003cffffffff810c264e\u003e] try_one_irq+0x32/0x138\n [\u003cffffffff810c2795\u003e] poll_all_shared_irqs+0x41/0x6d\n [\u003cffffffff810c27dd\u003e] poll_spurious_irqs+0x1c/0x49\n [\u003cffffffff81070d82\u003e] run_timer_softirq+0x239/0x315\n [\u003cffffffff81068bd3\u003e] __do_softirq+0x102/0x1ef\n [\u003cffffffff8101304c\u003e] call_softirq+0x1c/0x30\n [\u003cffffffff81014b65\u003e] do_softirq+0x59/0xca\n [\u003cffffffff810686ad\u003e] irq_exit+0x58/0xae\n [\u003cffffffff81029b84\u003e] smp_apic_timer_interrupt+0x94/0xba\n [\u003cffffffff81012a33\u003e] apic_timer_interrupt+0x13/0x20\n\nThe reason is that try_one_irq() is called from hardirq context with\ninterrupts disabled and from softirq context (poll_all_shared_irqs())\nwith interrupts enabled.\n\nDisable interrupts before calling it from poll_all_shared_irqs().\n\nReported-and-tested-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nLKML-Reference: \u003c1257563773-4620-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "608221fdf9a2170962295dcfbea53dc5c50d1a74",
      "tree": "26712f2f8a8a332369df2b31174c8c5b46c42164",
      "parents": [
        "72cc129e8dae988d2a132467cfd0ecd7623c35fb",
        "b84ff7d6f1b7f8a43414e74d972ec4c8f3361db4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:56:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:56:47 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix kthread_bind() by moving the body of kthread_bind() to sched.c\n  sched: Disable SD_PREFER_LOCAL at node level\n  sched: Fix boot crash by zalloc()ing most of the cpu masks\n  sched: Strengthen buddies and mitigate buddy induced latencies\n"
    },
    {
      "commit": "72cc129e8dae988d2a132467cfd0ecd7623c35fb",
      "tree": "e0a3fdfa3e7cb45e75727fe77558e64ec1bc9b4f",
      "parents": [
        "411094acb70f171a111710cf32031c749ffdd28c",
        "ed146b25942b428f8e8056587b7638ce76573c2f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:56:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 05 10:56:25 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ftrace: Fix unmatched locking in ftrace_regex_write()\n  ring-buffer: Synchronize resizing buffer with reader lock\n"
    },
    {
      "commit": "663e69592856df53ef52969482ef413a96bc4e06",
      "tree": "7866ab9917d0f4a676b59b37d6e28f354d009872",
      "parents": [
        "24b26d4211130b6455692804c14d537158855cd7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 04 14:22:21 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 04 14:22:21 2009 +0100"
      },
      "message": "irq: Remove unused debug_poll_all_shared_irqs()\n\ncommit 74296a8ed added this function for debug purposes, but it was\nnever used for anything. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "24b26d4211130b6455692804c14d537158855cd7",
      "tree": "5dbc3a26a8a0a8727a848b79e34a333238a5d3dc",
      "parents": [
        "40b1f4e5113eafc5e84f2ba86822df66087fcb25"
      ],
      "author": {
        "name": "Liuweni",
        "email": "qingshenlwy@gmail.com",
        "time": "Wed Nov 04 20:11:05 2009 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 04 14:13:14 2009 +0100"
      },
      "message": "irq: Fix docbook comments\n\nFix docbook comments to match the actual function names\n(set_irq_msi, handle_percpu_irq).\n\nSigned-off-by: Liuwenyi \u003cqingshenlwy@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ed146b25942b428f8e8056587b7638ce76573c2f",
      "tree": "36b3355b5d53057accb92000ee5b3986d5a05a8b",
      "parents": [
        "f7112949f6a4cd6883d66c882d568c2197321de6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 03 08:55:38 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 04 01:42:10 2009 -0500"
      },
      "message": "ftrace: Fix unmatched locking in ftrace_regex_write()\n\nWhen a command is passed to the set_ftrace_filter, then\nthe ftrace_regex_lock is still held going back to user space.\n\n # echo \u0027do_open : foo\u0027 \u003e set_ftrace_filter\n (still holding ftrace_regex_lock when returning to user space!)\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AEF7F8A.3080300@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f7112949f6a4cd6883d66c882d568c2197321de6",
      "tree": "2982044acfce5f1e422be2fd7467d2f1177c5159",
      "parents": [
        "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Nov 03 19:42:45 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 04 00:04:20 2009 -0500"
      },
      "message": "ring-buffer: Synchronize resizing buffer with reader lock\n\nWe got a sudden panic when we reduced the size of the\nringbuffer.\n\nWe can reproduce the panic by the following steps:\n\necho 1 \u003e events/sched/enable\ncat trace_pipe \u003e /dev/null \u0026\n\nwhile ((1))\ndo\necho 12000 \u003e buffer_size_kb\necho 512 \u003e buffer_size_kb\ndone\n\n(not more than 5 seconds, panic ...)\n\nReported-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4AF01735.9060409@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "38dc63459f185795b24a39f3f4921a433ea9980b",
      "tree": "205a8abc9b20c4f5573e4d2fbc03e74388cef2bc",
      "parents": [
        "1d510750941a53a1d3049c1d33c75d6dfcd78618",
        "2ddac2a6a8f13e95664fe7ad1b728ac84fb1bd07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:52:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:52:57 2009 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: Remove some debug messages producing too much noise\n  PM: Fix warning on suspend errors\n  PM / Hibernate: Add newline to load_image() fail path\n  PM / Hibernate: Fix error handling in save_image()\n  PM / Hibernate: Fix blkdev refleaks\n  PM / yenta: Split resume into early and late parts (rev. 4)\n"
    },
    {
      "commit": "1d510750941a53a1d3049c1d33c75d6dfcd78618",
      "tree": "03f501224f839aa897cf540e29595aeda8551052",
      "parents": [
        "1c211849d893b14cc923a18708923954fdd2c63e"
      ],
      "author": {
        "name": "Ian Campbell",
        "email": "Ian.Campbell@citrix.com",
        "time": "Tue Nov 03 10:11:14 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:52:39 2009 -0800"
      },
      "message": "Correct nr_processes() when CPUs have been unplugged\n\nnr_processes() returns the sum of the per cpu counter process_counts for\nall online CPUs. This counter is incremented for the current CPU on\nfork() and decremented for the current CPU on exit(). Since a process\ndoes not necessarily fork and exit on the same CPU the process_count for\nan individual CPU can be either positive or negative and effectively has\nno meaning in isolation.\n\nTherefore calculating the sum of process_counts over only the online\nCPUs omits the processes which were started or stopped on any CPU which\nhas since been unplugged. Only the sum of process_counts across all\npossible CPUs has meaning.\n\nThe only caller of nr_processes() is proc_root_getattr() which\ncalculates the number of links to /proc as\n        stat-\u003enlink \u003d proc_root.nlink + nr_processes();\n\nYou don\u0027t have to be all that unlucky for the nr_processes() to return a\nnegative value leading to a negative number of links (or rather, an\napparently enormous number of links). If this happens then you can get\nfailures where things like \"ls /proc\" start to fail because they got an\n-EOVERFLOW from some stat() call.\n\nExample with some debugging inserted to show what goes on:\n        # ps haux|wc -l\n        nr_processes: CPU0:     90\n        nr_processes: CPU1:     1030\n        nr_processes: CPU2:     -900\n        nr_processes: CPU3:     -136\n        nr_processes: TOTAL:    84\n        proc_root_getattr. nlink 12 + nr_processes() 84 \u003d 96\n        84\n        # echo 0 \u003e/sys/devices/system/cpu/cpu1/online\n        # ps haux|wc -l\n        nr_processes: CPU0:     85\n        nr_processes: CPU2:     -901\n        nr_processes: CPU3:     -137\n        nr_processes: TOTAL:    -953\n        proc_root_getattr. nlink 12 + nr_processes() -953 \u003d -941\n        75\n        # stat /proc/\n        nr_processes: CPU0:     84\n        nr_processes: CPU2:     -901\n        nr_processes: CPU3:     -137\n        nr_processes: TOTAL:    -954\n        proc_root_getattr. nlink 12 + nr_processes() -954 \u003d -942\n          File: `/proc/\u0027\n          Size: 0               Blocks: 0          IO Block: 1024   directory\n        Device: 3h/3d   Inode: 1           Links: 4294966354\n        Access: (0555/dr-xr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)\n        Access: 2009-11-03 09:06:55.000000000 +0000\n        Modify: 2009-11-03 09:06:55.000000000 +0000\n        Change: 2009-11-03 09:06:55.000000000 +0000\n\nI\u0027m not 100% convinced that the per_cpu regions remain valid for offline\nCPUs, although my testing suggests that they do. If not then I think the\ncorrect solution would be to aggregate the process_count for a given CPU\ninto a global base value in cpu_down().\n\nThis bug appears to pre-date the transition to git and it looks like it\nmay even have been present in linux-2.6.0-test7-bk3 since it looks like\nthe code Rusty patched in http://lwn.net/Articles/64773/ was already\nwrong.\n\nSigned-off-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf9fd67a0328d56eff6022f80d4eb88ba6614119",
      "tree": "e2621ab848a7ad7cae2397e0356ece7e2eeea452",
      "parents": [
        "4ff277f9e42fa16314045bd124a61519286094c0"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Oct 28 22:55:42 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 11:03:09 2009 +0100"
      },
      "message": "PM / Hibernate: Add newline to load_image() fail path\n\nFinish a line by \\n when load_image fails in the middle of loading.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4ff277f9e42fa16314045bd124a61519286094c0",
      "tree": "59c00800cead3926938a68145dcddba4b9ad160f",
      "parents": [
        "76b57e613f6006ff525a17876c89326d127cadc9"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Oct 28 22:55:33 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 11:02:43 2009 +0100"
      },
      "message": "PM / Hibernate: Fix error handling in save_image()\n\nThere are too many retval variables in save_image(). Thus error return\nvalue from snapshot_read_next() may be ignored and only part of the\nsnapshot (successfully) written.\n\nRemove \u0027error\u0027 variable, invert the condition in the do-while loop\nand convert the loop to use only \u0027ret\u0027 variable.\n\nSwitch the rest of the function to consider only \u0027ret\u0027.\n\nAlso make sure we end printed line by \\n if an error occurs.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "76b57e613f6006ff525a17876c89326d127cadc9",
      "tree": "244d876f24581fb40d1900003c55b1c7ca5abb91",
      "parents": [
        "9905d1b411946fb3fb228e8c6529fd94afda8a92"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Oct 07 22:37:35 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 11:01:46 2009 +0100"
      },
      "message": "PM / Hibernate: Fix blkdev refleaks\n\nWhile cruising through the swsusp code I found few blkdev reference\nleaks of resume_bdev.\n\nswsusp_read: remove blkdev_put altogether. Some fail paths do\n             not do that.\nswsusp_check: make sure we always put a reference on fail paths\nsoftware_resume: all fail paths between swsusp_check and swsusp_read\n                 omit swsusp_close. Add it in those cases. And since\n                 swsusp_read doesn\u0027t drop the reference anymore, do\n                 it here unconditionally.\n\n[rjw: Fixed a small coding style issue.]\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b84ff7d6f1b7f8a43414e74d972ec4c8f3361db4",
      "tree": "7e8db08b8dd7d28780f3d08466928c907e5e0440",
      "parents": [
        "6b9de613ae9c79b637e070136585dde029578065"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Oct 29 11:48:30 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 03 07:25:00 2009 +0100"
      },
      "message": "sched: Fix kthread_bind() by moving the body of kthread_bind() to sched.c\n\nEric Paris reported that commit\nf685ceacab07d3f6c236f04803e2f2f0dbcc5afb causes boot time\nPREEMPT_DEBUG complaints.\n\n [    4.590699] BUG: using smp_processor_id() in preemptible [00000000] code: rmmod/1314\n [    4.593043] caller is task_hot+0x86/0xd0\n\nSince kthread_bind() messes with scheduler internals, move the\nbody to sched.c, and lock the runqueue.\n\nReported-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nTested-by: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1256813310.7574.3.camel@marge.simson.net\u003e\n[ v2: fix !SMP build and clean up ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3fe866ca6cc0495510a1d37c03a4abdc55174e83",
      "tree": "4b3d4ae603b01e2f9179d29402d5946ff50eb28f",
      "parents": [
        "bce8fc4cb796dc77ea71699ef88802879a177474",
        "11df6dddcbc38affb7473aad3d962baf8414a947"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:33 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Fix spurious wakeup for requeue_pi really\n"
    },
    {
      "commit": "bce8fc4cb796dc77ea71699ef88802879a177474",
      "tree": "683ff9f2def12d390af0ae2dc2326b4d9f85a1cd",
      "parents": [
        "a5e3013d6612d2ed4aefdcd7920ae01df3b63b3a",
        "ec29b8d2af01912bb79adda8aeab4293539f29ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:06 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Remove -Wcast-align\n  perf tools: Fix compatibility with libelf 0.8 and autodetect\n  perf events: Don\u0027t generate events for the idle task when exclude_idle is set\n  perf events: Fix swevent hrtimer sampling by keeping track of remaining time when enabling/disabling swevent hrtimers\n"
    },
    {
      "commit": "a5e3013d6612d2ed4aefdcd7920ae01df3b63b3a",
      "tree": "89dce7d51c11ea56150e4f5613a28369e238f90e",
      "parents": [
        "efcd9e0b91bcb92a1dd530d1a1f26eb83a5d21e2",
        "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:45:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:45:44 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove cpu arg from the rb_time_stamp() function\n  tracing: Fix comment typo and documentation example\n  tracing: Fix trace_seq_printf() return value\n  tracing: Update *ppos instead of filp-\u003ef_pos\n"
    },
    {
      "commit": "4dae560f97fa438f373b53e14b30149c9e44a600",
      "tree": "4408896d10c483e0f855636f8b9e208bd856d6fc",
      "parents": [
        "5e9b397292ca0b9409dced33e3a22ec993377064"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Fri Oct 30 19:23:10 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 17:00:18 2009 +0100"
      },
      "message": "kprobes: Sanitize struct kretprobe_instance allocations\n\nFor as long as kretprobes have existed, we\u0027ve allocated NR_CPUS\ninstances of kretprobe_instance structures. With the default\nvalue of CONFIG_NR_CPUS increasing on certain architectures, we\nare potentially wasting kernel memory.\n\nSee http://sourceware.org/bugzilla/show_bug.cgi?id\u003d10839#c3 for\nmore details.\n\nUse a saner num_possible_cpus() instead of NR_CPUS for\nallocation.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c20091030135310.GA22230@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5e0cb3ddc5f14cedcfc50c0fb3b5fc6b56576da",
      "tree": "ab4d9ccc68fcdca681c2991fa3773d7483a7f26b",
      "parents": [
        "2c28e2451dba2260e9f88811b29a7787db7e7616"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Oct 28 08:14:48 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 16:06:37 2009 +0100"
      },
      "message": "rcu: Cleanup: balance rcu_irq_enter()/rcu_irq_exit() calls\n\nCurrently, rcu_irq_exit() is invoked only for CONFIG_NO_HZ,\nwhile rcu_irq_enter() is invoked unconditionally.  This patch\nmoves rcu_irq_exit() out from under CONFIG_NO_HZ so that the\ncalls are balanced.\n\nThis patch has no effect on the behavior of the kernel because\nboth rcu_irq_enter() and rcu_irq_exit() are empty for\n!CONFIG_NO_HZ, but the code is easier to understand if the calls\nare obviously balanced in all cases.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12567428891605-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "83f5b01ffbbaea6f97c9a79d21e240dbfb69f2f1",
      "tree": "e278471f3b9851028ef60e283ce8c73772531d82",
      "parents": [
        "b00bc0b237055b4c45816325ee14f0bd83e6f590"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Oct 28 08:14:49 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 16:06:21 2009 +0100"
      },
      "message": "rcu: Fix long-grace-period race between forcing and initialization\n\nVery long RCU read-side critical sections (50 milliseconds or\nso) can cause a race between force_quiescent_state() and\nrcu_start_gp() as follows on kernel builds with multi-level\nrcu_node hierarchies:\n\n1.\tCPU 0 calls force_quiescent_state(), sees that there is a\n\tgrace period in progress, and acquires -\u003efsqlock.\n\n2.\tCPU 1 detects the end of the grace period, and so\n\tcpu_quiet_msk_finish() sets rsp-\u003ecompleted to rsp-\u003egpnum.\n\tThis operation is carried out under the root rnp-\u003elock,\n\tbut CPU 0 has not yet acquired that lock.  Note that\n\trsp-\u003esignaled is still RCU_SAVE_DYNTICK from the last\n\tgrace period.\n\n3.\tCPU 1 calls rcu_start_gp(), but no one wants a new grace\n\tperiod, so it drops the root rnp-\u003elock and returns.\n\n4.\tCPU 0 acquires the root rnp-\u003elock and picks up rsp-\u003ecompleted\n\tand rsp-\u003esignaled, then drops rnp-\u003elock.  It then enters the\n\tRCU_SAVE_DYNTICK leg of the switch statement.\n\n5.\tCPU 2 invokes call_rcu(), and now needs a new grace period.\n\tIt calls rcu_start_gp(), which acquires the root rnp-\u003elock, sets\n\trsp-\u003esignaled to RCU_GP_INIT (too bad that CPU 0 is already in\n\tthe RCU_SAVE_DYNTICK leg of the switch statement!)  and starts\n\tinitializing the rcu_node hierarchy.  If there are multiple\n\tlevels to the hierarchy, it will drop the root rnp-\u003elock and\n\tinitialize the lower levels of the hierarchy.\n\n6.\tCPU 0 notes that rsp-\u003ecompleted has not changed, which permits\n        both CPU 2 and CPU 0 to try updating it concurrently.  If CPU 0\u0027s\n\tupdate prevails, later calls to force_quiescent_state() can\n\tcount old quiescent states against the new grace period, which\n\tcan in turn result in premature ending of grace periods.\n\n\tNot good.\n\nThis patch adds an RCU_GP_IDLE state for rsp-\u003esignaled that is\nset initially at boot time and any time a grace period ends.\nThis prevents CPU 0 from getting into the workings of\nforce_quiescent_state() in step 4.  Additional locking and\nchecks prevent the concurrent update of rsp-\u003esignaled in step 6.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1256742889199-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b00bc0b237055b4c45816325ee14f0bd83e6f590",
      "tree": "8c0e0c31fa3a60834b893c531355a925b7ce454a",
      "parents": [
        "11df6dddcbc38affb7473aad3d962baf8414a947"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 02 13:01:56 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 02 16:02:39 2009 +0100"
      },
      "message": "uids: Prevent tear down race\n\nIngo triggered the following warning:\n\nWARNING: at lib/debugobjects.c:255 debug_print_object+0x42/0x50()\nHardware name: System Product Name\nODEBUG: init active object type: timer_list\nModules linked in:\nPid: 2619, comm: dmesg Tainted: G        W  2.6.32-rc5-tip+ #5298\nCall Trace:\n [\u003c81035443\u003e] warn_slowpath_common+0x6a/0x81\n [\u003c8120e483\u003e] ? debug_print_object+0x42/0x50\n [\u003c81035498\u003e] warn_slowpath_fmt+0x29/0x2c\n [\u003c8120e483\u003e] debug_print_object+0x42/0x50\n [\u003c8120ec2a\u003e] __debug_object_init+0x279/0x2d7\n [\u003c8120ecb3\u003e] debug_object_init+0x13/0x18\n [\u003c810409d2\u003e] init_timer_key+0x17/0x6f\n [\u003c81041526\u003e] free_uid+0x50/0x6c\n [\u003c8104ed2d\u003e] put_cred_rcu+0x61/0x72\n [\u003c81067fac\u003e] rcu_do_batch+0x70/0x121\n\ndebugobjects warns about an enqueued timer being initialized. If\nCONFIG_USER_SCHED\u003dy the user management code uses delayed work to\nremove the user from the hash table and tear down the sysfs objects.\n\nfree_uid is called from RCU and initializes/schedules delayed work if\nthe usage count of the user_struct is 0. The init/schedule happens\noutside of the uidhash_lock protected region which allows a concurrent\ncaller of find_user() to reference the about to be destroyed\nuser_struct w/o preventing the work from being scheduled. If the next\nfree_uid call happens before the work timer expired then the active\ntimer is initialized and the work scheduled again.\n\nThe race was introduced in commit 5cb350ba (sched: group scheduling,\nsysfs tunables) and made more prominent by commit 3959214f (sched:\ndelayed cleanup of user_struct)\n\nMove the init/schedule_delayed_work inside of the uidhash_lock\nprotected region to prevent the race.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "49557e620339cb134127b5bfbcfecc06b77d0232",
      "tree": "a2a73c84a384243a63c1b8e8462c39381d5ef98e",
      "parents": [
        "f685ceacab07d3f6c236f04803e2f2f0dbcc5afb"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 02 20:37:20 2009 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 15:48:54 2009 +0100"
      },
      "message": "sched: Fix boot crash by zalloc()ing most of the cpu masks\n\nI got a boot crash when forcing cpumasks offstack on 32 bit,\nbecause find_new_ilb() returned 3 on my UP system (nohz.cpu_mask\nwasn\u0027t zeroed).\n\nAFAICT the others need to be zeroed too: only\nnohz.ilb_grp_nohz_mask is initialized before use.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c200911022037.21282.rusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e9b397292ca0b9409dced33e3a22ec993377064",
      "tree": "3d9156541b462e854c8c02e4413e5e64169bc4e3",
      "parents": [
        "7b2a35132ad0a70902dcd2844c27ed64cda0ce9b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Nov 02 08:51:13 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 02 15:47:54 2009 +0100"
      },
      "message": "tracing: Fix to use __always_unused attribute\n\n____ftrace_check_##name() is used for compile-time check on\nF_printk() only, so it should be marked as __unused instead\nof __used.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c4AEE2D01.4010305@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8633322c5fd5b2a986b279f88a7559d8409f7da3",
      "tree": "2db612751e9fa5c3624f008c7e4d520e77944852",
      "parents": [
        "9532faeb293f5a5f0ff06f567de14e557698dbde",
        "4a6cc4bd32e580722882115d4c8b964d732c11e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:19:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:19:29 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  sched: move rq_weight data array out of .percpu\n  percpu: allow pcpu_alloc() to be called with IRQs off\n"
    },
    {
      "commit": "9532faeb293f5a5f0ff06f567de14e557698dbde",
      "tree": "46319ff2506340b56b34801e3a722bbaf28d55bf",
      "parents": [
        "add810a1c58ba9edb6076ababe5861f36c049217",
        "3c7d76e371ac1a3802ae1673f5c63554af59325c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:18:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 09:18:20 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-param-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-param-fixes:\n  param: fix setting arrays of bool\n  param: fix NULL comparison on oom\n  param: fix lots of bugs with writing charp params from sysfs, by leaking mem.\n"
    },
    {
      "commit": "3242f9804ba992c867360e2b57efc268b8e4e175",
      "tree": "96fbdbc1344aa67588ce26765f308c674b91a75f",
      "parents": [
        "23756692147c5dfd3328afd42e16e9d943ff756c",
        "7456b0405d8fc063c49628f969cdb23be060fc80"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:20:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:20:00 2009 -0700"
      },
      "message": "Merge branch \u0027hwpoison-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison-2.6.32\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6:\n  HWPOISON: fix invalid page count in printk output\n  HWPOISON: Allow schedule_on_each_cpu() from keventd\n  HWPOISON: fix/proc/meminfo alignment\n  HWPOISON: fix oops on ksm pages\n  HWPOISON: Fix page count leak in hwpoison late kill in do_swap_page\n  HWPOISON: return early on non-LRU pages\n  HWPOISON: Add brief hwpoison description to Documentation\n  HWPOISON: Clean up PR_MCE_KILL interface\n"
    },
    {
      "commit": "fefcfd431b5181615e7da628e34c5227c895b85a",
      "tree": "0da42ba9d66c6e9a12b6352b5be41f2fa023c91b",
      "parents": [
        "37c2ca24119f7dd89cbbb43833df1e6c5fb3417b",
        "89061d3d58e1f0742139605dc6a7950aa1ecc019"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:12:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:12:20 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Move drop_futex_key_refs out of spinlock\u0027ed region\n  rcu: Fix TREE_PREEMPT_RCU CPU_HOTPLUG bad-luck hang\n  rcu: Stopgap fix for synchronize_rcu_expedited() for TREE_PREEMPT_RCU\n  rcu: Prevent RCU IPI storms in presence of high call_rcu() load\n  futex: Check for NULL keys in match_futex\n  futex: Handle spurious wake up\n"
    },
    {
      "commit": "37c2ca24119f7dd89cbbb43833df1e6c5fb3417b",
      "tree": "7002e816ca784acbdd49c69752e08c4da00fe961",
      "parents": [
        "6e958d73c25eecaf02a1998cda9ec8ce8da11042",
        "2e600d01c131ee189f55ca1879cd364b9e056df8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:12:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:12:00 2009 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf timechart: Improve the visual appearance of scheduler delays\n  perf timechart: Fix the wakeup-arrows that point to non-visible processes\n  perf top: Fix --delay_secs 0 division by zero\n  perf tools: Bump version to 0.0.2\n  perf_event: Adjust frequency and unthrottle for non-group-leader events\n"
    },
    {
      "commit": "6e958d73c25eecaf02a1998cda9ec8ce8da11042",
      "tree": "94b8d48d268297925aa02f8ab358274f878bae9e",
      "parents": [
        "7811a32407b971d9086c46403124f1453b95c430",
        "92f6a5e37a2e2d3342dafb2b39c2f8bc340bbf84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:10:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 08:10:38 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Do less agressive buddy clearing\n  sched: Disable SD_PREFER_LOCAL for MC/CPU domains\n"
    },
    {
      "commit": "8c85dd8730bfb696e691145335f884c7baef8277",
      "tree": "2dca1aac534a4322695c12b2870b7c25cf60ccbe",
      "parents": [
        "115a57c5b31ab560574fe1a09deaba2ae89e77b5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Oct 26 16:50:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:30 2009 -0700"
      },
      "message": "sysctl: fix false positives when PROC_SYSCTL\u003dn\n\nHaving -\u003eprocname but not -\u003eproc_handler is valid when PROC_SYSCTL\u003dn,\npeople use such combination to reduce ifdefs with non-standard handlers.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d14408\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nReported-by: Peter Teoh \u003chtmldeveloper@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "478988d3b28e98a31e0cfe24e011e28ba0f3cf0d",
      "tree": "0f14f3a2f242258d2d7a0ddb3025c308f666b7ee",
      "parents": [
        "58355c7876a0754377c37c8af948b4cd423410e2"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Mon Oct 26 16:49:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:25 2009 -0700"
      },
      "message": "cgroup: fix strstrip() misuse\n\ncgroup_write_X64() and cgroup_write_string() ignore the return value of\nstrstrip().  it makes small inconsistent behavior.\n\nexample:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n # cd /mnt/cgroup/hoge\n # cat memory.swappiness\n 60\n # echo \"59 \" \u003e memory.swappiness\n # cat memory.swappiness\n 59\n # echo \" 58\" \u003e memory.swappiness\n bash: echo: write error: Invalid argument\n\nThis patch fixes it.\n\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d0df599f1f11f12d589318bacb59a50fb5c0310",
      "tree": "084ab3d1562502ad6a056aa3fd8dd748683c8c2f",
      "parents": [
        "370c28def65b3a5765192753a164403619b41d01"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon Oct 26 16:49:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 29 07:39:25 2009 -0700"
      },
      "message": "connector: fix regression introduced by sid connector\n\nSince commit 02b51df1b07b4e9ca823c89284e704cadb323cd1 (proc connector: add\nevent for process becoming session leader) we have the following warning:\n\nBadness at kernel/softirq.c:143\n[...]\nKrnl PSW : 0404c00180000000 00000000001481d4 (local_bh_enable+0xb0/0xe0)\n[...]\nCall Trace:\n([\u003c000000013fe04100\u003e] 0x13fe04100)\n [\u003c000000000048a946\u003e] sk_filter+0x9a/0xd0\n [\u003c000000000049d938\u003e] netlink_broadcast+0x2c0/0x53c\n [\u003c00000000003ba9ae\u003e] cn_netlink_send+0x272/0x2b0\n [\u003c00000000003baef0\u003e] proc_sid_connector+0xc4/0xd4\n [\u003c0000000000142604\u003e] __set_special_pids+0x58/0x90\n [\u003c0000000000159938\u003e] sys_setsid+0xb4/0xd8\n [\u003c00000000001187fe\u003e] sysc_noemu+0x10/0x16\n [\u003c00000041616cb266\u003e] 0x41616cb266\n\nThe warning is\n---\u003e    WARN_ON_ONCE(in_irq() || irqs_disabled());\n\nThe network code must not be called with disabled interrupts but\nsys_setsid holds the tasklist_lock with spinlock_irq while calling the\nconnector.\n\nAfter a discussion we agreed that we can move proc_sid_connector from\n__set_special_pids to sys_setsid.\n\nWe also agreed that it is sufficient to change the check from\ntask_session(curr) !\u003d pid into err \u003e 0, since if we don\u0027t change the\nsession, this means we were already the leader and return -EPERM.\n\nOne last thing:\nThere is also daemonize(), and some people might want to get a\nnotification in that case. Since daemonize() is only needed if a user\nspace does kernel_thread this does not look important (and there seems\nto be no consensus if this connector should be called in daemonize). If\nwe really want this, we can add proc_sid_connector to daemonize() in an\nadditional patch (Scott?)\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCc: Scott James Remnant \u003cscott@ubuntu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9de09ace8d518141a4375e1d216ab64db4377799",
      "tree": "da8e7a77f4ea91eb3bb73fc6da72ecf8c99e1c16",
      "parents": [
        "1beee96bae0daf7f491356777c3080cc436950f5",
        "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 09:02:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 29 09:02:20 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/urgent\u0027 into tracing/core\n\nMerge reason: Pick up fixes and move base from -rc1 to -rc5.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c7d76e371ac1a3802ae1673f5c63554af59325c",
      "tree": "6b8d84acb92196b0f9f044f98fd1908f8f655c87",
      "parents": [
        "d553ad864e3b3dde3f1038d491e207021b2d6293"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:19 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:20 2009 +1030"
      },
      "message": "param: fix setting arrays of bool\n\nWe create a dummy struct kernel_param on the stack for parsing each\narray element, but we didn\u0027t initialize the flags word.  This matters\nfor arrays of type \"bool\", where the flag indicates if it really is\nan array of bools or unsigned int (old-style).\n\nReported-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d553ad864e3b3dde3f1038d491e207021b2d6293",
      "tree": "2a6d4e482e72daf6056e1fb984407754e019f15a",
      "parents": [
        "65afac7d80ab3bc9f81e75eafb71eeb92a3ebdef"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:17 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:18 2009 +1030"
      },
      "message": "param: fix NULL comparison on oom\n\nkp-\u003earg is always true: it\u0027s the contents of that pointer we care about.\n\nReported-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "65afac7d80ab3bc9f81e75eafb71eeb92a3ebdef",
      "tree": "544c1e9192d8e47f1d1b1d54e36365f393ec7be0",
      "parents": [
        "964fe080d94db82a3268443e9b9ece4c60246414"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:16 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Oct 29 08:56:17 2009 +1030"
      },
      "message": "param: fix lots of bugs with writing charp params from sysfs, by leaking mem.\n\ne180a6b7759a \"param: fix charp parameters set via sysfs\" fixed the case\nwhere charp parameters written via sysfs were freed, leaving drivers\naccessing random memory.\n\nUnfortunately, storing a flag in the kparam struct was a bad idea: it\u0027s\nrodata so setting it causes an oops on some archs.  But that\u0027s not all:\n\n1) module_param_array() on charp doesn\u0027t work reliably, since we use an\n   uninitialized temporary struct kernel_param.\n2) there\u0027s a fundamental race if a module uses this parameter and then\n   it\u0027s changed: they will still access the old, freed, memory.\n\nThe simplest fix (ie. for 2.6.32) is to never free the memory.  This\nprevents all these problems, at cost of a memory leak.  In practice, there\nare only 18 places where a charp is writable via sysfs, and all are\nroot-only writable.\n\nReported-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Sitsofe Wheeler \u003csitsofe@yahoo.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: stable@kernel.org\n"
    }
  ],
  "next": "11df6dddcbc38affb7473aad3d962baf8414a947"
}
