)]}'
{
  "log": [
    {
      "commit": "770e1b035dcb6ec3f8ee69dda0815dd1e220a683",
      "tree": "e6d36abfdb053fbc722aea8d7e946d6d1b93c7e1",
      "parents": [
        "d3d0b024348c040f0d6851e2e59fc961677d5169",
        "7b9dd47136c07ffd883aff6926c7b281e4c1eea4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 18:15:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 18:15:25 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm\n\n* \u0027for-linus\u0027 of git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (207 commits)\n  ARM: 7267/1: Remove BUILD_BUG_ON from asm/bug.h\n  ARM: 7269/1: mach-sa1100: fix sched_clock breakage\n  ARM: 7198/1: arm/imx6: add restart support for imx6q\n  ARM: restart: remove the now empty arch_reset()\n  ARM: restart: remove comments about adding code to arch_reset()\n  ARM: restart: lpc32xx \u0026 u300: remove unnecessary printk\n  ARM: restart: plat-samsung: remove plat/reset.h and s5p_reset_hook\n  ARM: restart: w90x900: use new restart hook\n  ARM: restart: Versatile Express: use new restart hook\n  ARM: restart: versatile: use new restart hook\n  ARM: restart: u300: use new restart hook\n  ARM: restart: tegra: use new restart hook\n  ARM: restart: spear: use new restart hook\n  ARM: restart: shark: use new restart hook\n  ARM: restart: sa1100: use new restart hook\n  ARM: 7252/1: restart: S5PV210: use new restart hook\n  ARM: 7251/1: restart: S5PC100: use new restart hook\n  ARM: 7250/1: restart: S5P64X0: use new restart hook\n  ARM: 7266/1: restart: S3C64XX: use new restart hook\n  ARM: 7265/1: restart: S3C24XX: use new restart hook\n  ...\n\nFix up trivial conflict in arch/arm/mm/init.c due to removal of\nmemblock_init() clashing with the movement of the sorting of the meminfo\narray.\n"
    },
    {
      "commit": "376613e81ddc68f545fd5c87ffc3ad222b7abe5f",
      "tree": "e1cb1cd43d05f57e4584dd5f9ce3eb965d0ddff1",
      "parents": [
        "0db49b72bce26341274b74fd968501489a361ae3",
        "0518469d0a32be1e6dd8850ff274d52d72cdb52d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 13:57:44 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 13:57:44 2012 -0800"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, tsc: Skip TSC synchronization checks for tsc\u003dreliable\n  clocksource: Convert tcb_clksrc to use clocksource_register_hz/khz\n  clocksource: cris: Convert to clocksource_register_khz\n  clocksource: xtensa: Convert to clocksource_register_hz/khz\n  clocksource: um: Convert to clocksource_register_hz/khz\n  clocksource: parisc: Convert to clocksource_register_hz/khz\n  clocksource: m86k: Convert to clocksource_register_hz/khz\n  time: x86: Replace LATCH with PIT_LATCH in i8253 clocksource driver\n  time: x86: Remove CLOCK_TICK_RATE from acpi_pm clocksource driver\n  time: x86: Remove CLOCK_TICK_RATE from mach_timer.h\n  time: x86: Remove CLOCK_TICK_RATE from tsc code\n  time: Fix spelling mistakes in new comments\n  time: fix bogus comment in timekeeping_get_ns_raw\n"
    },
    {
      "commit": "0db49b72bce26341274b74fd968501489a361ae3",
      "tree": "cdb076827aefb38d719d4c42f8ef291c36072fa8",
      "parents": [
        "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
        "1ac9bc6943edf7d181b4b1cc734981350d4f6bae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:33:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:44:54 2012 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)\n  sched/tracing: Add a new tracepoint for sleeptime\n  sched: Disable scheduler warnings during oopses\n  sched: Fix cgroup movement of waking process\n  sched: Fix cgroup movement of newly created process\n  sched: Fix cgroup movement of forking process\n  sched: Remove cfs bandwidth period check in tg_set_cfs_period()\n  sched: Fix load-balance lock-breaking\n  sched: Replace all_pinned with a generic flags field\n  sched: Only queue remote wakeups when crossing cache boundaries\n  sched: Add missing rcu_dereference() around -\u003ereal_parent usage\n  [S390] fix cputime overflow in uptime_proc_show\n  [S390] cputime: add sparse checking and cleanup\n  sched: Mark parent and real_parent as __rcu\n  sched, nohz: Fix missing RCU read lock\n  sched, nohz: Set the NOHZ_BALANCE_KICK flag for idle load balancer\n  sched, nohz: Fix the idle cpu check in nohz_idle_balance\n  sched: Use jump_labels for sched_feat\n  sched/accounting: Fix parameter passing in task_group_account_field\n  sched/accounting: Fix user/system tick double accounting\n  sched/accounting: Re-use scheduler statistics for the root cgroup\n  ...\n\nFix up conflicts in\n - arch/ia64/include/asm/cputime.h, include/asm-generic/cputime.h\n\tusecs_to_cputime64() vs the sparse cleanups\n - kernel/sched/fair.c, kernel/time/tick-sched.c\n\tscheduler changes in multiple branches\n"
    },
    {
      "commit": "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
      "tree": "502a8f9499bc1b4cb3300d666dab2d01a1921224",
      "parents": [
        "423d091dfe58d3109d84c408810a7cfa82f6f184",
        "9e183426bfb52bb44bf3c443d6587e4d02478603"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (106 commits)\n  perf kvm: Fix copy \u0026 paste error in description\n  perf script: Kill script_spec__delete\n  perf top: Fix a memory leak\n  perf stat: Introduce get_ratio_color() helper\n  perf session: Remove impossible condition check\n  perf tools: Fix feature-bits rework fallout, remove unused variable\n  perf script: Add generic perl handler to process events\n  perf tools: Use for_each_set_bit() to iterate over feature flags\n  perf tools: Unify handling of features when writing feature section\n  perf report: Accept fifos as input file\n  perf tools: Moving code in some files\n  perf tools: Fix out-of-bound access to struct perf_session\n  perf tools: Continue processing header on unknown features\n  perf tools: Improve macros for struct feature_ops\n  perf: builtin-record: Document and check that mmap_pages must be a power of two.\n  perf: builtin-record: Provide advice if mmap\u0027ing fails with EPERM.\n  perf tools: Fix truncated annotation\n  perf script: look up thread using tid instead of pid\n  perf tools: Look up thread names for system wide profiling\n  perf tools: Fix comm for processes with named threads\n  ...\n"
    },
    {
      "commit": "423d091dfe58d3109d84c408810a7cfa82f6f184",
      "tree": "43c4385d1dc7219582f924d42db1f3e203a577bd",
      "parents": [
        "1483b3823542c9721eddf09a077af1e02ac96b50",
        "919b83452b2e7c1dbced0456015508b4b9585db3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:40 2012 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)\n  cpu: Export cpu_up()\n  rcu: Apply ACCESS_ONCE() to rcu_boost() return value\n  Revert \"rcu: Permit rt_mutex_unlock() with irqs disabled\"\n  docs: Additional LWN links to RCU API\n  rcu: Augment rcu_batch_end tracing for idle and callback state\n  rcu: Add rcutorture tests for srcu_read_lock_raw()\n  rcu: Make rcutorture test for hotpluggability before offlining CPUs\n  driver-core/cpu: Expose hotpluggability to the rest of the kernel\n  rcu: Remove redundant rcu_cpu_stall_suppress declaration\n  rcu: Adaptive dyntick-idle preparation\n  rcu: Keep invoking callbacks if CPU otherwise idle\n  rcu: Irq nesting is always 0 on rcu_enter_idle_common\n  rcu: Don\u0027t check irq nesting from rcu idle entry/exit\n  rcu: Permit dyntick-idle with callbacks pending\n  rcu: Document same-context read-side constraints\n  rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass\n  rcu: Remove dynticks false positives and RCU failures\n  rcu: Reduce latency of rcu_prepare_for_idle()\n  rcu: Eliminate RCU_FAST_NO_HZ grace-period hang\n  rcu: Avoid needlessly IPIing CPUs at GP end\n  ...\n"
    },
    {
      "commit": "1483b3823542c9721eddf09a077af1e02ac96b50",
      "tree": "390dcff4ddfb8634ad62c7fc9c3c9d0e802e9c1e",
      "parents": [
        "4a2164a7dbf0d3b6a1c2ef6f20c0d54350491a12",
        "1a9a8aefa8f0530c97f4606ab7a2fc01fe31e9c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:01:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:01:59 2012 -0800"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  printk, lockdep: Switch to tracked irq ops\n  printk, lockdep: Remove superfluous preempt_disable()\n  printk, lockdep: Disable lock debugging on zap_locks()\n"
    },
    {
      "commit": "4a2164a7dbf0d3b6a1c2ef6f20c0d54350491a12",
      "tree": "1ef38a6a3b39f7e539fff848975a5672acc21f44",
      "parents": [
        "15f043a65f655eb8a3aeb831a85da66de520c80f",
        "45aa0663cc408617b79a2b53f0a5f50e94688a48"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 07:54:53 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 07:54:53 2012 -0800"
      },
      "message": "Merge branch \u0027core-memblock-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-memblock-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)\n  memblock: Reimplement memblock allocation using reverse free area iterator\n  memblock: Kill early_node_map[]\n  score: Use HAVE_MEMBLOCK_NODE_MAP\n  s390: Use HAVE_MEMBLOCK_NODE_MAP\n  mips: Use HAVE_MEMBLOCK_NODE_MAP\n  ia64: Use HAVE_MEMBLOCK_NODE_MAP\n  SuperH: Use HAVE_MEMBLOCK_NODE_MAP\n  sparc: Use HAVE_MEMBLOCK_NODE_MAP\n  powerpc: Use HAVE_MEMBLOCK_NODE_MAP\n  memblock: Implement memblock_add_node()\n  memblock: s/memblock_analyze()/memblock_allow_resize()/ and update users\n  memblock: Track total size of regions automatically\n  powerpc: Cleanup memblock usage\n  memblock: Reimplement memblock_enforce_memory_limit() using __memblock_remove()\n  memblock: Make memblock functions handle overflowing range @size\n  memblock: Reimplement __memblock_remove() using memblock_isolate_range()\n  memblock: Separate out memblock_isolate_range() from memblock_set_node()\n  memblock: Kill memblock_init()\n  memblock: Kill sentinel entries at the end of static region arrays\n  memblock: Add __memblock_dump_all()\n  ...\n"
    },
    {
      "commit": "15f043a65f655eb8a3aeb831a85da66de520c80f",
      "tree": "00f5dbc80796a41ef60320a52faeb68aa5755830",
      "parents": [
        "8c717b72dec32a50666175b62b41de24e4b39be7",
        "f07fdec50a13f134ea9608c8fb3f6408c58ef55e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 07:53:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 07:53:52 2012 -0800"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  lockdep/waitqueues: Add better annotation\n  lockdep, bug: Exclude TAINT_OOT_MODULE from disabling lock debugging\n  lockdep: Print lock name in lockdep_init_error()\n  init/main.c: Execute lockdep_init() as early as possible\n  lockdep, kmemcheck: Annotate -\u003elock in lockdep_init_map()\n  lockdep, rtmutex, bug: Show taint flags on error\n  lockdep, bug: Exclude TAINT_FIRMWARE_WORKAROUND from disabling lockdep\n  lockdep: Always try to set -\u003eclass_cache in register_lock_class() lockdep_init_map()\n"
    },
    {
      "commit": "8c717b72dec32a50666175b62b41de24e4b39be7",
      "tree": "e2b4335496cbddb5cded7b1bfd7579ee33f60505",
      "parents": [
        "07d106d0a33d6063d2061305903deb02489eba20",
        "dc4218bd0fe499fce2896f88101ea42dac1f60fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 07:53:34 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 07:53:34 2012 -0800"
      },
      "message": "Merge branch \u0027core-debugobjects-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-debugobjects-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  timer: Use debugobjects to catch deletion of uninitialized timers\n  timer: Setup uninitialized timer with a stub callback\n  debugobjects: Extend to assert that an object is initialized\n  debugobjects: Be smarter about static objects\n"
    },
    {
      "commit": "2e0e943436912ffe0848ece58167edfe754edb96",
      "tree": "b91919095c74742fa06e2105db6d859bee39b2b4",
      "parents": [
        "a32737e1ca650504f172292dd344eb64c02311f3",
        "ef3a0bf5bfadbace156fa2a3b9c753df2de41df2"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jan 05 13:24:33 2012 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jan 05 13:24:33 2012 +0000"
      },
      "message": "Merge branch \u0027devel-stable\u0027 into for-linus\n\nConflicts:\n\tarch/arm/kernel/setup.c\n\tarch/arm/mach-shmobile/board-kota2.c\n"
    },
    {
      "commit": "8a88951b5878dc475dcd841cefc767e36397d14e",
      "tree": "c31fd8cdfa08dce4768f42e556d97929deac2343",
      "parents": [
        "50b8d257486a45cba7b65ca978986ed216bbcc10"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jan 04 17:29:20 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 04 15:01:59 2012 -0800"
      },
      "message": "ptrace: ensure JOBCTL_STOP_SIGMASK is not zero after detach\n\nThis is the temporary simple fix for 3.2, we need more changes in this\narea.\n\n1. do_signal_stop() assumes that the running untraced thread in the\n   stopped thread group is not possible. This was our goal but it is\n   not yet achieved: a stopped-but-resumed tracee can clone the running\n   thread which can initiate another group-stop.\n\n   Remove WARN_ON_ONCE(!current-\u003eptrace).\n\n2. A new thread always starts with -\u003ejobctl \u003d 0. If it is auto-attached\n   and this group is stopped, __ptrace_unlink() sets JOBCTL_STOP_PENDING\n   but JOBCTL_STOP_SIGMASK part is zero, this triggers WANR_ON(!signr)\n   in do_jobctl_trap() if another debugger attaches.\n\n   Change __ptrace_unlink() to set the artificial SIGSTOP for report.\n\n   Alternatively we could change ptrace_init_task() to copy signr from\n   current, but this means we can copy it for no reason and hide the\n   possible similar problems.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[3.1]\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50b8d257486a45cba7b65ca978986ed216bbcc10",
      "tree": "0bcbb7eefaaf3da47a23c259e91baf414319ff96",
      "parents": [
        "8d9cbf8240023f5b6d19f2106aff3d7077fc4a3b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jan 04 17:29:02 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 04 15:01:59 2012 -0800"
      },
      "message": "ptrace: partially fix the do_wait(WEXITED) vs EXIT_DEAD-\u003eEXIT_ZOMBIE race\n\nTest-case:\n\n\tint main(void)\n\t{\n\t\tint pid, status;\n\n\t\tpid \u003d fork();\n\t\tif (!pid) {\n\t\t\tfor (;;) {\n\t\t\t\tif (!fork())\n\t\t\t\t\treturn 0;\n\t\t\t\tif (waitpid(-1, \u0026status, 0) \u003c 0) {\n\t\t\t\t\tprintf(\"ERR!! wait: %m\\n\");\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tassert(ptrace(PTRACE_ATTACH, pid, 0,0) \u003d\u003d 0);\n\t\tassert(waitpid(-1, NULL, 0) \u003d\u003d pid);\n\n\t\tassert(ptrace(PTRACE_SETOPTIONS, pid, 0,\n\t\t\t\t\tPTRACE_O_TRACEFORK) \u003d\u003d 0);\n\n\t\tdo {\n\t\t\tptrace(PTRACE_CONT, pid, 0, 0);\n\t\t\tpid \u003d waitpid(-1, NULL, 0);\n\t\t} while (pid \u003e 0);\n\n\t\treturn 1;\n\t}\n\nIt fails because -\u003ereal_parent sees its child in EXIT_DEAD state\nwhile the tracer is going to change the state back to EXIT_ZOMBIE\nin wait_task_zombie().\n\nThe offending commit is 823b018e which moved the EXIT_DEAD check,\nbut in fact we should not blame it. The original code was not\ncorrect as well because it didn\u0027t take ptrace_reparented() into\naccount and because we can\u0027t really trust -\u003eptrace.\n\nThis patch adds the additional check to close this particular\nrace but it doesn\u0027t solve the whole problem. We simply can\u0027t\nrely on -\u003eptrace in this case, it can be cleared if the tracer\nis multithreaded by the exiting -\u003eparent.\n\nI think we should kill EXIT_DEAD altogether, we should always\nremove the soon-to-be-reaped child from -\u003echildren or at least\nwe should never do the DEAD-\u003eZOMBIE transition. But this is too\ncomplex for 3.2.\n\nReported-and-tested-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nTested-by: Lukasz Michalik \u003clmi@ift.uni.wroc.pl\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[3.0+]\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9fab10bbd768b0e5254e53a4a8477a94bfc4b96",
      "tree": "7f4efb5c46582765c12249f652a8975a1956f781",
      "parents": [
        "30e053248da178cf6154bb7e950dc8713567e3fa"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Tue Jan 03 14:41:13 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 03 16:14:32 2012 -0800"
      },
      "message": "hung_task: fix false positive during vfork\n\nvfork parent uninterruptibly and unkillably waits for its child to\nexec/exit. This wait is of unbounded length. Ignore such waits\nin the hung_task detector.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nLKML-Reference: \u003c1325344394.28904.43.camel@lappy\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6780f7243eddb133cc20ec37fa69317c218b709",
      "tree": "81e427161f0604a8935180f8c454593142c0f272",
      "parents": [
        "06867fbb8abc936192195e5dcc4b63e12cc78f72"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Sat Dec 31 11:44:01 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 31 11:48:28 2011 -0800"
      },
      "message": "futex: Fix uninterruptible loop due to gate_area\n\nIt was found (by Sasha) that if you use a futex located in the gate\narea we get stuck in an uninterruptible infinite loop, much like the\nZERO_PAGE issue.\n\nWhile looking at this problem, PeterZ realized you\u0027ll get into similar\ntrouble when hitting any install_special_pages() mapping.  And are there\nstill drivers setting up their own special mmaps without page-\u003emapping,\nand without special VM or pte flags to make get_user_pages fail?\n\nIn most cases, if page-\u003emapping is NULL, we do not need to retry at all:\nLinus points out that even /proc/sys/vm/drop_caches poses no problem,\nbecause it ends up using remove_mapping(), which takes care not to\ninterfere when the page reference count is raised.\n\nBut there is still one case which does need a retry: if memory pressure\ncalled shmem_writepage in between get_user_pages_fast dropping page\ntable lock and our acquiring page lock, then the page gets switched from\nfilecache to swapcache (and -\u003emapping set to NULL) whatever the refcount.\nFault it back in to get the page-\u003emapping needed for key-\u003eshared.inode.\n\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b87487ac5008072f138953b07505a7e3493327f",
      "tree": "b70e9422c1abe7ce0e771a52202572dbb0ee25aa",
      "parents": [
        "995b4103a78b9bef0ff834f9ecac42b2b56e01a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:24:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 30 13:24:40 2011 -0800"
      },
      "message": "Revert \"clockevents: Set noop handler in clockevents_exchange_device()\"\n\nThis reverts commit de28f25e8244c7353abed8de0c7792f5f883588c.\n\nIt results in resume problems for various people. See for example\n\n  http://thread.gmane.org/gmane.linux.kernel/1233033\n  http://thread.gmane.org/gmane.linux.kernel/1233389\n  http://thread.gmane.org/gmane.linux.kernel/1233159\n  http://thread.gmane.org/gmane.linux.kernel/1227868/focus\u003d1230877\n\nand the fedora and ubuntu bug reports\n\n  https://bugzilla.redhat.com/show_bug.cgi?id\u003d767248\n  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/904569\n\nwhich got bisected down to the stable version of this commit.\n\nReported-by: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nReported-by: Phil Miller \u003cmille121@illinois.edu\u003e\nReported-by: Philip Langdale \u003cphilipl@overt.org\u003e\nReported-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: stable@kernel.org    # for stable kernels that applied the original\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c87fb57346fc7653ace98769f148e0dcd88ac1ee",
      "tree": "bd4737190619d032801e0b368aeea887521521ba",
      "parents": [
        "df0bcfe0f811a73077c06f75e440397e89ba58a4"
      ],
      "author": {
        "name": "Jamie Iles",
        "email": "jamie@jamieiles.com",
        "time": "Wed Dec 14 23:43:16 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Dec 23 22:33:58 2011 +0000"
      },
      "message": "ARM: 7235/1: irqdomain: export irq_domain_simple_ops for !CONFIG_OF\n\nirqdomain support is used in interrupt controller drivers that may not\nhave device tree support but only need the basic HW-\u003eLinux irq\ntranslation.  Rather than having each of these implement their own IRQ\ndomain, allow them to use the simple ops.\n\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Rob Herring \u003crobherring2@gmail.com\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nSigned-off-by: Jamie Iles \u003cjamie@jamieiles.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "1ac9bc6943edf7d181b4b1cc734981350d4f6bae",
      "tree": "c7853336d693e4593488c26b8ce27ceca3803a6f",
      "parents": [
        "664dfa65e84429d0b68694483e1de7365c7c56fb"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Wed Dec 21 16:15:40 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 23 17:56:17 2011 +0100"
      },
      "message": "sched/tracing: Add a new tracepoint for sleeptime\n\nIf CONFIG_SCHEDSTATS is defined, the kernel maintains\ninformation about how long the task was sleeping or\nin the case of iowait, blocking in the kernel before\ngetting woken up.\n\nThis will be useful for sleep time profiling.\n\nNote: this information is only provided for sched_fair.\nOther scheduling classes may choose to provide this in\nthe future.\n\nNote: the delay includes the time spent on the runqueue\nas well.\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1324512940-32060-2-git-send-email-asharma@fb.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "664dfa65e84429d0b68694483e1de7365c7c56fb",
      "tree": "9c3b1ae83a5a139c0420184d5eece0059c086216",
      "parents": [
        "62af3783e4fd8ba9e28416e8e91cb3bdd9fb133e"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Dec 22 16:39:30 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 23 11:20:50 2011 +0100"
      },
      "message": "sched: Disable scheduler warnings during oopses\n\nThe panic-on-framebuffer code seems to cause a schedule\nto occur during an oops. This causes a bunch of extra\nspew as can be seen in:\n\n   https://bugzilla.redhat.com/attachment.cgi?id\u003d549230\n\nDon\u0027t do scheduler debug checks when we are oopsing already.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20111222213929.GA4722@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "62af3783e4fd8ba9e28416e8e91cb3bdd9fb133e",
      "tree": "728bed51d0ae2725ade8046ba83794dd5f9944e4",
      "parents": [
        "7ceff013c43c0f38f0d26c79507889c6791c0ea0"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Thu Dec 15 14:37:41 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 10:34:52 2011 +0100"
      },
      "message": "sched: Fix cgroup movement of waking process\n\nThere is a small race between try_to_wake_up() and sched_move_task(),\nwhich is trying to move the process being woken up.\n\n    try_to_wake_up() on CPU0       sched_move_task() on CPU1\n--------------------------------+---------------------------------\n  raw_spin_lock_irqsave(p-\u003epi_lock)\n  task_waking_fair()\n    -\u003ep.se.vruntime -\u003d cfs_rq-\u003emin_vruntime\n  ttwu_queue()\n    -\u003esend reschedule IPI to CPU1\n  raw_spin_unlock_irqsave(p-\u003epi_lock)\n                                   task_rq_lock()\n                                     -\u003e tring to aquire both p-\u003epi_lock and\n                                        rq-\u003elock with IRQ disabled\n                                   task_move_group_fair()\n                                     -\u003e p.se.vruntime\n                                          -\u003d (old)cfs_rq-\u003emin_vruntime\n                                          +\u003d (new)cfs_rq-\u003emin_vruntime\n                                   task_rq_unlock()\n\n                                   (via IPI)\n                                   sched_ttwu_pending()\n                                     raw_spin_lock(rq-\u003elock)\n                                     ttwu_do_activate()\n                                       ...\n                                       enqueue_entity()\n                                         child.se-\u003evruntime +\u003d cfs_rq-\u003emin_vruntime\n                                     raw_spin_unlock(rq-\u003elock)\n\nAs a result, vruntime of the process becomes far bigger than min_vruntime,\nif (new)cfs_rq-\u003emin_vruntime \u003e\u003e (old)cfs_rq-\u003emin_vruntime.\n\nThis patch fixes this problem by just ignoring such process in\ntask_move_group_fair(), because the vruntime has already been normalized in\ntask_waking_fair().\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20111215143741.df82dd50.nishimura@mxp.nes.nec.co.jp\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7ceff013c43c0f38f0d26c79507889c6791c0ea0",
      "tree": "f4e164fcb0b75b3d559e644d41fd4c6c29990bef",
      "parents": [
        "4fc420c91f53e0a9f95665c6b14a1983716081e7"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Thu Dec 15 14:36:07 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 10:34:51 2011 +0100"
      },
      "message": "sched: Fix cgroup movement of newly created process\n\nThere is a small race between do_fork() and sched_move_task(), which is\ntrying to move the child.\n\n            do_fork()                 sched_move_task()\n--------------------------------+---------------------------------\n  copy_process()\n    sched_fork()\n      task_fork_fair()\n        -\u003e vruntime of the child is initialized\n           based on that of the parent.\n  -\u003e we can see the child in \"tasks\" file now.\n                                    task_rq_lock()\n                                    task_move_group_fair()\n                                      -\u003e child.se.vruntime\n                                           -\u003d (old)cfs_rq-\u003emin_vruntime\n                                           +\u003d (new)cfs_rq-\u003emin_vruntime\n                                    task_rq_unlock()\n  wake_up_new_task()\n    ...\n    enqueue_entity()\n      child.se.vruntime +\u003d cfs_rq-\u003emin_vruntime\n\nAs a result, vruntime of the child becomes far bigger than min_vruntime,\nif (new)cfs_rq-\u003emin_vruntime \u003e\u003e (old)cfs_rq-\u003emin_vruntime.\n\nThis patch fixes this problem by just ignoring such process in\ntask_move_group_fair(), because the vruntime has already been normalized in\ntask_fork_fair().\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20111215143607.2ee12c5d.nishimura@mxp.nes.nec.co.jp\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4fc420c91f53e0a9f95665c6b14a1983716081e7",
      "tree": "e6bfad34810d368ed893780b9ddc05c5dbcb6923",
      "parents": [
        "11534ec5b6cea13ae38d31799d2a5290c5d724af"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Thu Dec 15 14:36:55 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 10:34:49 2011 +0100"
      },
      "message": "sched: Fix cgroup movement of forking process\n\nThere is a small race between task_fork_fair() and sched_move_task(),\nwhich is trying to move the parent.\n\n        task_fork_fair()                 sched_move_task()\n--------------------------------+---------------------------------\n  cfs_rq \u003d task_cfs_rq(current)\n    -\u003e cfs_rq is the \"old\" one.\n  curr \u003d cfs_rq-\u003ecurr\n    -\u003e curr is set to the parent.\n                                    task_rq_lock()\n                                    dequeue_task()\n                                      -\u003eparent.se.vruntime -\u003d (old)cfs_rq-\u003emin_vruntime\n                                    enqueue_task()\n                                      -\u003eparent.se.vruntime +\u003d (new)cfs_rq-\u003emin_vruntime\n                                    task_rq_unlock()\n  raw_spin_lock_irqsave(rq-\u003elock)\n  se-\u003evruntime \u003d curr-\u003evruntime\n    -\u003e vruntime of the child is set to that of the parent\n       which has already been updated by sched_move_task().\n  se-\u003evruntime -\u003d (old)cfs_rq-\u003emin_vruntime.\n  raw_spin_unlock_irqrestore(rq-\u003elock)\n\nAs a result, vruntime of the child becomes far bigger than expected,\nif (new)cfs_rq-\u003emin_vruntime \u003e\u003e (old)cfs_rq-\u003emin_vruntime.\n\nThis patch fixes this problem by setting \"cfs_rq\" and \"curr\" after\nholding the rq-\u003elock.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20111215143655.662676b0.nishimura@mxp.nes.nec.co.jp\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "11534ec5b6cea13ae38d31799d2a5290c5d724af",
      "tree": "117d554ceed6d9b9d812a943a8ff8c4f12a203e4",
      "parents": [
        "a195f004e9496b4d99f471bb96e0a0c1af080909"
      ],
      "author": {
        "name": "Kamalesh Babulal",
        "email": "kamalesh@linux.vnet.ibm.com",
        "time": "Sat Dec 10 19:29:25 2011 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 10:34:48 2011 +0100"
      },
      "message": "sched: Remove cfs bandwidth period check in tg_set_cfs_period()\n\nRemove cfs bandwidth period check from tg_set_cfs_period.\nInvalid bandwidth period\u0027s lower/upper limits are denoted\nby min_cfs_quota_period/max_cfs_quota_period repsectively,\nand are checked against valid period in tg_set_cfs_bandwidth().\n\nAs pjt pointed out, negative input will result in very large unsigned\nnumbers and will be caught by the max allowed period test.\n\nSigned-off-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nAcked-by: Paul Turner \u003cpjt@google.com\u003e\n[ammended changelog to mention negative values]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111210135925.GA14593@linux.vnet.ibm.com\n--\n kernel/sched/core.c |    3 ---\n 1 file changed, 3 deletions(-)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a195f004e9496b4d99f471bb96e0a0c1af080909",
      "tree": "605f04617dc42458025cb4341e9e6407bed8b140",
      "parents": [
        "5b54b56be5b540a9cb12682c4d0df5454c098a38"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 22 15:30:18 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 10:34:47 2011 +0100"
      },
      "message": "sched: Fix load-balance lock-breaking\n\nThe current lock break relies on contention on the rq locks, something\nwhich might never come because we\u0027ve got IRQs disabled. Or will be\nvery likely because on anything with more than 2 cpus a synchronized\nload-balance pass will very likely cause contention on the rq locks.\n\nAlso the sched_nr_migrate thing fails when it gets trapped the loops\nof either the cgroup muck in load_balance_fair() or the move_tasks()\nload condition.\n\nInstead, use the new lb_flags field to propagate break/abort\nconditions for all these loops and create a new loop outside the irq\ndisabled on the break being required.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-tsceb6w61q0gakmsccix6xxi@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5b54b56be5b540a9cb12682c4d0df5454c098a38",
      "tree": "837b7084c5e2659968ea64ba2c6520ff6256567a",
      "parents": [
        "518cd62341786aa4e3839810832af2fbc0de1ea4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 22 15:23:13 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 10:34:45 2011 +0100"
      },
      "message": "sched: Replace all_pinned with a generic flags field\n\nReplace the all_pinned argument with a flags field so that we can add\nsome extra controls throughout that entire call chain.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-33kevm71m924ok1gpxd720v3@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "518cd62341786aa4e3839810832af2fbc0de1ea4",
      "tree": "bd28f7fce47887e9c5d33bd772c8380255ef3065",
      "parents": [
        "612ef28a045efadb3a98d4492ead7806a146485d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 07 15:07:31 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 10:34:44 2011 +0100"
      },
      "message": "sched: Only queue remote wakeups when crossing cache boundaries\n\nMike reported a 13% drop in netperf TCP_RR performance due to the\nnew remote wakeup code. Suresh too noticed some performance issues\nwith it.\n\nReducing the IPIs to only cross cache domains solves the observed\nperformance issues.\n\nReported-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Dave Kleikamp \u003cdave.kleikamp@oracle.com\u003e\nLink: http://lkml.kernel.org/r/1323338531.17673.7.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f07fdec50a13f134ea9608c8fb3f6408c58ef55e",
      "tree": "4e631c518335ddc5227803517a8cd55f3c992206",
      "parents": [
        "2d2b7749e8f9d32c16c599f85f2b1a51b76dddb7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Dec 13 13:20:54 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 10:07:39 2011 +0100"
      },
      "message": "lockdep/waitqueues: Add better annotation\n\n -\u003e #2 (\u0026tty-\u003ewrite_wait){-.-...}:\n\nis a lot more informative than:\n\n -\u003e #2 (key#19){-.....}:\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-8zpopbny51023rdb0qq67eye@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d2b7749e8f9d32c16c599f85f2b1a51b76dddb7",
      "tree": "bbad5e4c8e3baddb514c294523532671f3e1cf57",
      "parents": [
        "9ec84acee1e221d99dc33237bff5e82839d10cc0",
        "384703b8e6cd4c8ef08512e596024e028c91c339"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 10:06:32 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 10:06:37 2011 +0100"
      },
      "message": "Merge commit \u0027v3.2-rc6\u0027 into core/locking\n\nMerge reason: Pick up the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4a4923919f2d43583789b1f3603f4e5600d8321",
      "tree": "b401e5b82050d33fc345d815d8b28ff83301534c",
      "parents": [
        "7f3a54b8177f2e663adef2ec4b5e6ccf874f896e",
        "e0197aae59e55c06db172bfbe1a1cdb8c0e1cab3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 11:44:18 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 11:44:18 2011 -0800"
      },
      "message": "Merge branch \u0027for-3.2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\n* \u0027for-3.2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroups: fix a css_set not found bug in cgroup_attach_proc\n"
    },
    {
      "commit": "5fbd305dd2b661a243013cf444d2a32bfec2f701",
      "tree": "4e90099fef21c0ad7aec77d772b12a0b2094d64e",
      "parents": [
        "a205b082189bf914959a667a5c83ea145bba3fb5",
        "b1b73d095084e754562961c443aa8f6587a55f8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 11:42:38 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 11:42:38 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  time/clocksource: Fix kernel-doc warnings\n  rtc: m41t80: Workaround broken alarm functionality\n  rtc: Expire alarms after the time is set.\n"
    },
    {
      "commit": "d87f69a16eb2cb96459117b06949a560679002e4",
      "tree": "bbb55b2bd2b6c9e8bd4067aa3279783cb6bd9028",
      "parents": [
        "124ba9403318d834ef21bcd899c22c870708d2c4",
        "384703b8e6cd4c8ef08512e596024e028c91c339"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 20 20:32:03 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 20 20:32:11 2011 +0100"
      },
      "message": "Merge commit \u0027v3.2-rc6\u0027 into perf/core\n\nMerge reason: Update with the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3d3c8f93a237b64580c5c5e138edeb1377e98230",
      "tree": "8c932423a1c5f80320e46dc77f29c668f196d73c",
      "parents": [
        "0006526d78e93c3684c806bf7cf3f67dfa49c3c8"
      ],
      "author": {
        "name": "Michel Lespinasse",
        "email": "walken@google.com",
        "time": "Mon Dec 19 17:12:06 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 10:25:04 2011 -0800"
      },
      "message": "binary_sysctl(): fix memory leak\n\nbinary_sysctl() calls sysctl_getname() which allocates from names_cache\nslab usin __getname()\n\nThe matching function to free the name is __putname(), and not putname()\nwhich should be used only to match getname() allocations.\n\nThis is because when auditing is enabled, putname() calls audit_putname\n*instead* (not in addition) to __putname().  Then, if a syscall is in\nprogress, audit_putname does not release the name - instead, it expects\nthe name to get released when the syscall completes, but that will happen\nonly if audit_getname() was called previously, i.e.  if the name was\nallocated with getname() rather than the naked __getname().  So,\n__getname() followed by putname() ends up leaking memory.\n\nSigned-off-by: Michel Lespinasse \u003cwalken@google.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b246272ecc5ac68c743b15c9e41a2275f7ce70e2",
      "tree": "d32b30f02501a6978c7c2d97f7c505604f9bac28",
      "parents": [
        "511585a28e5b5fd1cac61e601e42efc4c5dd64b5"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Dec 19 17:11:52 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 10:25:04 2011 -0800"
      },
      "message": "cpusets: stall when updating mems_allowed for mempolicy or disjoint nodemask\n\nKernels where MAX_NUMNODES \u003e BITS_PER_LONG may temporarily see an empty\nnodemask in a tsk\u0027s mempolicy if its previous nodemask is remapped onto a\nnew set of allowed cpuset nodes where the two nodemasks, as a result of\nthe remap, are now disjoint.\n\nc0ff7453bb5c (\"cpuset,mm: fix no node to alloc memory when changing\ncpuset\u0027s mems\") adds get_mems_allowed() to prevent the set of allowed\nnodes from changing for a thread.  This causes any update to a set of\nallowed nodes to stall until put_mems_allowed() is called.\n\nThis stall is unncessary, however, if at least one node remains unchanged\nin the update to the set of allowed nodes.  This was addressed by\n89e8a244b97e (\"cpusets: avoid looping when storing to mems_allowed if one\nnode remains set\"), but it\u0027s still possible that an empty nodemask may be\nread from a mempolicy because the old nodemask may be remapped to the new\nnodemask during rebind.  To prevent this, only avoid the stall if there is\nno mempolicy for the thread being changed.\n\nThis is a temporary solution until all reads from mempolicy nodemasks can\nbe guaranteed to not be empty without the get_mems_allowed()\nsynchronization.\n\nAlso moves the check for nodemask intersection inside task_lock() so that\ntsk-\u003emems_allowed cannot change.  This ensures that nothing can set this\ntsk\u0027s mems_allowed out from under us and also protects tsk-\u003emempolicy.\n\nReported-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45aa0663cc408617b79a2b53f0a5f50e94688a48",
      "tree": "0a53931c317c3c72a3555bd2fbb70a881ee870f2",
      "parents": [
        "511585a28e5b5fd1cac61e601e42efc4c5dd64b5",
        "7bd0b0f0da3b1ec11cbcc798eb0ef747a1184077"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 20 12:14:26 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 20 12:14:26 2011 +0100"
      },
      "message": "Merge branch \u0027memblock-kill-early_node_map\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/memblock\n"
    },
    {
      "commit": "612ef28a045efadb3a98d4492ead7806a146485d",
      "tree": "05621c87b37e91c27b06d450d76adffe97ce9666",
      "parents": [
        "c3e0ef9a298e028a82ada28101ccd5cf64d209ee",
        "07cde2608a3b5c66515363f1b53623b1536b9785"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Dec 19 19:23:15 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Dec 19 19:23:15 2011 +0100"
      },
      "message": "Merge branch \u0027sched/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into cputime-tip\n\nConflicts:\n\tdrivers/cpufreq/cpufreq_conservative.c\n\tdrivers/cpufreq/cpufreq_ondemand.c\n\tdrivers/macintosh/rack-meter.c\n\tfs/proc/stat.c\n\tfs/proc/uptime.c\n\tkernel/sched/core.c\n"
    },
    {
      "commit": "e0197aae59e55c06db172bfbe1a1cdb8c0e1cab3",
      "tree": "c3b36f2adc445893166bc5caddb3d26c05611a9a",
      "parents": [
        "390f998509bf049019df0b078c0a6606e0d57fb4"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Thu Dec 15 11:36:43 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 19 09:09:09 2011 -0800"
      },
      "message": "cgroups: fix a css_set not found bug in cgroup_attach_proc\n\nThere is a BUG when migrating a PF_EXITING proc. Since css_set_prefetch()\nis not called for the PF_EXITING case, find_existing_css_set() will return\nNULL inside cgroup_task_migrate() causing a BUG.\n\nThis bug is easy to reproduce. Create a zombie and echo its pid to\ncgroup.procs.\n\n$ cat zombie.c\n\\#include \u003cunistd.h\u003e\n\nint main()\n{\n  if (fork())\n      pause();\n  return 0;\n}\n$\n\nWe are hitting this bug pretty regularly on ChromeOS.\n\nThis bug is already fixed by Tejun Heo\u0027s cgroup patchset which is\ntargetted for the next merge window:\n\nhttps://lkml.org/lkml/2011/11/1/356\n\nI\u0027ve create a smaller patch here which just fixes this bug so that a\nfix can be merged into the current release and stable.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nDownstream-Bug-Report: http://crosbug.com/23953\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: containers@lists.linux-foundation.org\nCc: cgroups@vger.kernel.org\nCc: stable@kernel.org\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Olof Johansson \u003colofj@chromium.org\u003e\n"
    },
    {
      "commit": "b1b73d095084e754562961c443aa8f6587a55f8e",
      "tree": "f2927ab364b329175442b6abece86cba3528f969",
      "parents": [
        "c3b79770e51ab1fd4201f3b54edf30113b9ce74f"
      ],
      "author": {
        "name": "Kusanagi Kouichi",
        "email": "slash@ac.auone-net.jp",
        "time": "Mon Dec 19 18:13:19 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 19 11:41:40 2011 +0100"
      },
      "message": "time/clocksource: Fix kernel-doc warnings\n\nFix various KernelDoc build warnings.\n\nSigned-off-by: Kusanagi Kouichi \u003cslash@ac.auone-net.jp\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20111219091320.0D5AF6FC03D@msa105.auone-net.jp\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ab347d94d6515ea9a5be04faccd9b14a319b0a7a",
      "tree": "f7b10b1129dd62168313128446616bd5a5499cf8",
      "parents": [
        "a36bfddd65b58dd8c8364dba919c04922e04f2f5",
        "44b7f4b98d8877e2a4427f2a2f2e42ae8227a58f",
        "ab2789213d224202237292d78aaa0c386c7b28b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 17 14:03:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 17 14:03:50 2011 -0800"
      },
      "message": "Merge branches \u0027perf-urgent-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf events: Fix ring_buffer_wakeup() brown paperbag bug\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix select_idle_sibling() regression in selecting an idle SMT sibling\n  MAINTAINERS: Update tip.git related git trees\n"
    },
    {
      "commit": "ab2789213d224202237292d78aaa0c386c7b28b2",
      "tree": "da6a28ca9a2eddad554742361e496764f17682a3",
      "parents": [
        "75fc2d3797c47f5f70ca71c41c342c352845cd06"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Dec 15 11:47:00 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 16 09:44:58 2011 +0100"
      },
      "message": "sched: Fix select_idle_sibling() regression in selecting an idle SMT sibling\n\nMike Galbraith reported that this recent commit:\n\n   commit 4dcfe1025b513c2c1da5bf5586adb0e80148f612\n   Author: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n   Date:   Thu Nov 10 13:01:10 2011 +0100\n\n       sched: Avoid SMT siblings in select_idle_sibling() if possible\n\nstopped selecting an idle SMT sibling when there are no idle\ncores in a single socket system.\n\nIntent of the select_idle_sibling() was to fallback to an idle\nSMT sibling, if it fails to identify an idle core. But this\nfallback was not happening on systems where all the scheduler\ndomains had `SD_SHARE_PKG_RESOURCES\u0027 flag set.\n\nFix it. Slightly bigger patch of cleaning all these goto\u0027s etc\nis queued up for the next release.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReported-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/1323978421.1984.244.camel@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07cde2608a3b5c66515363f1b53623b1536b9785",
      "tree": "1ef46b4a852a79c9a44f08b177ee256a776a6ad6",
      "parents": [
        "abd63bc3a0f65ae9d85bc3b1bb067d3e3c2b2cc2"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Thu Dec 15 08:49:18 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 16 09:42:09 2011 +0100"
      },
      "message": "sched: Add missing rcu_dereference() around -\u003ereal_parent usage\n\nWrap another -\u003ereal_parent dereference while under rcu_read_lock.\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nLink: http://lkml.kernel.org/r/20111215164918.GA13003@www.outflux.net\n[ tidied up the changelog ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "648616343cdbe904c585a6c12e323d3b3c72e46f",
      "tree": "514bce1b52663db4ab5662b637c764cf3c2ed1eb",
      "parents": [
        "55b02d2f4445ad625213817a1736bf2884d32547"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 15 14:56:09 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 15 14:56:19 2011 +0100"
      },
      "message": "[S390] cputime: add sparse checking and cleanup\n\nMake cputime_t and cputime64_t nocast to enable sparse checking to\ndetect incorrect use of cputime. Drop the cputime macros for simple\nscalar operations. The conversion macros are still needed.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6a54aebf6978e9f296a4d3da3e40af425163c22e",
      "tree": "8217c7114db02d8b69c22fc44880749426949bc3",
      "parents": [
        "067491b7313c41f49607fce782d29344d1472587",
        "dc47ce90c3a822cd7c9e9339fe4d5f61dcb26b50"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 15 08:21:21 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 15 08:21:30 2011 +0100"
      },
      "message": "Merge commit \u0027v3.2-rc5\u0027 into sched/core\n\nMerge reason: Pick up the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44b7f4b98d8877e2a4427f2a2f2e42ae8227a58f",
      "tree": "929c7c5c177fa072216445de276592843ebae4d8",
      "parents": [
        "373da0a2a33018d560afcb2c77f8842985d79594"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue Dec 13 20:40:45 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 14 08:44:53 2011 +0100"
      },
      "message": "perf events: Fix ring_buffer_wakeup() brown paperbag bug\n\nCommit 10c6db11 (\"perf: Fix loss of notification with multi-event\")\nseems to unconditionally dereference event-\u003erb in the wakeup handler,\nthis is wrong, there might not be a buffer attached.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111213152651.GP20297@mudshark.cambridge.arm.com\n[ minor edits ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a513f6bab0939800dcf1e7c075e733420cf967c5",
      "tree": "ee3013ec805b01dc9bf553adcc286f013ab6de92",
      "parents": [
        "4f89b336fd1edf0c88875d0b7fcdc288c7de903d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Dec 11 21:54:45 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Dec 12 15:55:15 2011 -0800"
      },
      "message": "cpu: Export cpu_up()\n\nBuilding rcutorture as a module requires cpu_up() as well as cpu_down()\nexported, so apply EXPORT_SYMBOL_GPL().\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4f89b336fd1edf0c88875d0b7fcdc288c7de903d",
      "tree": "8cadb7d4c326ad01ce7f0da55db8f03af17917e6",
      "parents": [
        "70321d447aa1a7cc2d60db16234f43c5a65630e7"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Dec 09 14:43:47 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:33:19 2011 -0800"
      },
      "message": "rcu: Apply ACCESS_ONCE() to rcu_boost() return value\n\nBoth TINY_RCU\u0027s and TREE_RCU\u0027s implementations of rcu_boost() access\nthe -\u003eboost_tasks and -\u003eexp_tasks fields without preventing concurrent\nchanges to these fields.  This commit therefore applies ACCESS_ONCE in\norder to prevent compiler mischief.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "70321d447aa1a7cc2d60db16234f43c5a65630e7",
      "tree": "a97749ef35045fc41585d121f595cb0644b319c2",
      "parents": [
        "d493011a376f9df3b8b3da1102509b343b1a4ef2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Dec 09 14:00:06 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:33:18 2011 -0800"
      },
      "message": "Revert \"rcu: Permit rt_mutex_unlock() with irqs disabled\"\n\nThis reverts commit 5342e269b2b58ee0b0b4168a94087faaa60d0567.\n\nThe approach taken in this patch was deemed too abusive to mutexes,\nand thus too likely to result in maintenance problems in the future.\nInstead, we will disallow RCU read-side critical sections that partially\noverlap with interrupt-disbled code segments.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4968c300e1fa5389fdf1f1ebd8b8e4aec9aa4a9e",
      "tree": "3424a8c3d2543096acad7319ec57fa8f62813620",
      "parents": [
        "101db7b41d8d6c070278bca1f7bce814ecbf781d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Dec 07 16:32:40 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:22 2011 -0800"
      },
      "message": "rcu: Augment rcu_batch_end tracing for idle and callback state\n\nThe current rcu_batch_end event trace records only the name of the RCU\nflavor and the total number of callbacks that remain queued on the\ncurrent CPU.  This is insufficient for testing and tuning the new\ndyntick-idle RCU_FAST_NO_HZ code, so this commit adds idle state along\nwith whether or not any of the callbacks that were ready to invoke\nat the beginning of rcu_do_batch() are still queued.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "101db7b41d8d6c070278bca1f7bce814ecbf781d",
      "tree": "10fab4086babc1730381162a540897ab0d7719b5",
      "parents": [
        "f220242af98a5248209426f36d93226c3e0f2391"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Dec 05 15:36:31 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:21 2011 -0800"
      },
      "message": "rcu: Add rcutorture tests for srcu_read_lock_raw()\n\nThis commit adds simple rcutorture tests for srcu_read_lock_raw() and\nsrcu_read_unlock_raw().  It does not test doing srcu_read_lock_raw()\nin an exception handler and releasing it in the corresponding process\ncontext.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f220242af98a5248209426f36d93226c3e0f2391",
      "tree": "64d1f3942a505c32763a9eaf463147f72ba7a554",
      "parents": [
        "2987557f52b97f679f0c324d8f51b8d66e1f2084"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sat Dec 03 15:09:28 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:21 2011 -0800"
      },
      "message": "rcu: Make rcutorture test for hotpluggability before offlining CPUs\n\nThe rcutorture test now can automatically exercise CPU hotplug and\ncollect success statistics, which can be correlated with other rcutorture\nactivity.  This permits rcutorture to completely exercise RCU regardless\nof what sort of userspace and filesystem layout is in use.  Unfortunately,\nrcutorture is happy to attempt to offline CPUs that cannot be offlined,\nfor example, CPU 0 in both the x86 and ARM architectures.  Although this\nallows rcutorture testing to proceed normally, it confounds attempts at\nerror analysis due to the resulting flood of spurious CPU-hotplug errors.\n\nTherefore, this commit uses the new cpu_is_hotpluggable() function to\navoid attempting to offline CPUs that are not hotpluggable, which in\nturn avoids spurious CPU-hotplug errors.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2d1dc9a600edf33321bcdc1c808b7957d8a3f3e1",
      "tree": "7b3701752afca2f0b3a80bbee901affa7c72a67c",
      "parents": [
        "f23f7fa1c8effca19b52b98fc71016109d21db59"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Nov 30 17:29:18 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:11 2011 -0800"
      },
      "message": "rcu: Remove redundant rcu_cpu_stall_suppress declaration\n\nNo point in having two identical rcu_cpu_stall_suppress declarations,\nso remove the more obscure of the two.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f23f7fa1c8effca19b52b98fc71016109d21db59",
      "tree": "e669b1b0cd96820949dd9deee1e5113fd667fb36",
      "parents": [
        "dff1672d9199fffddb58fa7970ccf59005fc35f3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Nov 30 15:41:14 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:10 2011 -0800"
      },
      "message": "rcu: Adaptive dyntick-idle preparation\n\nIf there are other CPUs active at a given point in time, then there is a\nlimit to what a given CPU can do to advance the current RCU grace period.\nBeyond this limit, attempting to force the RCU grace period forward will\ndo nothing but consume energy burning CPU cycles.\n\nTherefore, this commit takes an adaptive approach to RCU_FAST_NO_HZ\npreparations for idle.  It pushes the RCU core state machine for\ntwo cycles unconditionally, and then it will push from zero to three\nadditional cycles, but only as long as the RCU core has work for this\nCPU to do immediately.  The rcu_pending() function is used to check\nwhether the RCU core has such work.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "dff1672d9199fffddb58fa7970ccf59005fc35f3",
      "tree": "a9740f65dfc203d183cb06ce0faeed0de5cef58b",
      "parents": [
        "facc4e159672b4ed10aa18147bfa187b013c9505"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 29 15:57:13 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:09 2011 -0800"
      },
      "message": "rcu: Keep invoking callbacks if CPU otherwise idle\n\nThe rcu_do_batch() function that invokes callbacks for TREE_RCU and\nTREE_PREEMPT_RCU normally throttles callback invocation to avoid degrading\nscheduling latency.  However, as long as the CPU would otherwise be idle,\nthere is no downside to continuing to invoke any callbacks that have passed\nthrough their grace periods.  In fact, processing such callbacks in a\ntimely manner has the benefit of increasing the probability that the\nCPU can enter the power-saving dyntick-idle mode.\n\nTherefore, this commit allows callback invocation to continue beyond the\npreset limit as long as the scheduler does not have some other task to\nrun and as long as context is that of the idle task or the relevant\nRCU kthread.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "facc4e159672b4ed10aa18147bfa187b013c9505",
      "tree": "0b058683e1dde49a73b858fc29477e6f76860add",
      "parents": [
        "b6fc6020140db437069d5bec447858fcfd64d31c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Nov 28 16:26:56 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:08 2011 -0800"
      },
      "message": "rcu: Irq nesting is always 0 on rcu_enter_idle_common\n\nBecause tasks don\u0027t nest, the -\u003edyntick_nesting must always be zero upon\nentry to rcu_idle_enter_common().  Therefore, pass \"0\" rather than the\ncounter itself.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b6fc6020140db437069d5bec447858fcfd64d31c",
      "tree": "43b4f6aa420bd636a30116443f2417cd2176a679",
      "parents": [
        "7cb92499000e3c86dae653077b1465458a039ef6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Nov 28 16:18:56 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:07 2011 -0800"
      },
      "message": "rcu: Don\u0027t check irq nesting from rcu idle entry/exit\n\nBecause tasks do not nest, rcu_idle_enter() and rcu_idle_exit() do\nnot need to check for nesting.  This commit therefore moves nesting\nchecks from rcu_idle_enter_common() to rcu_irq_exit() and from\nrcu_idle_exit_common() to rcu_irq_enter().\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7cb92499000e3c86dae653077b1465458a039ef6",
      "tree": "ebc982a5cc562b4fe0cb8f20541f45a5506a0b5f",
      "parents": [
        "3842a0832a1d6eb0b31421f8810a813135967512"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Nov 28 12:28:34 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:07 2011 -0800"
      },
      "message": "rcu: Permit dyntick-idle with callbacks pending\n\nThe current implementation of RCU_FAST_NO_HZ prevents CPUs from entering\ndyntick-idle state if they have RCU callbacks pending.  Unfortunately,\nthis has the side-effect of often preventing them from entering this\nstate, especially if at least one other CPU is not in dyntick-idle state.\nHowever, the resulting per-tick wakeup is wasteful in many cases: if the\nCPU has already fully responded to the current RCU grace period, there\nwill be nothing for it to do until this grace period ends, which will\nfrequently take several jiffies.\n\nThis commit therefore permits a CPU that has done everything that the\ncurrent grace period has asked of it (rcu_pending() \u003d\u003d 0) even if it\nstill as RCU callbacks pending.  However, such a CPU posts a timer to\nwake it up several jiffies later (6 jiffies, based on experience with\ngrace-period lengths).  This wakeup is required to handle situations\nthat can result in all CPUs being in dyntick-idle mode, thus failing\nto ever complete the current grace period.  If a CPU wakes up before\nthe timer goes off, then it cancels that timer, thus avoiding spurious\nwakeups.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f0e7c19db8798b4b991a2c71911e71f5dfdb348f",
      "tree": "fce748b22aeb29f8e28a28028211e777bc4123dd",
      "parents": [
        "c92b131bdcf89bf79870f1631d07547241a98f6c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Nov 23 15:02:05 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:05 2011 -0800"
      },
      "message": "rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass\n\nFixes and workarounds for a number of issues (for example, that in\ndf4012edc) make it safe to once again detect dyntick-idle CPUs on the\nfirst pass of force_quiescent_state(), so this commit makes that change.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c92b131bdcf89bf79870f1631d07547241a98f6c",
      "tree": "618f38e1f4e6f71e056b240613a89915730b03f9",
      "parents": [
        "3ad0decf98d97b9039d8ed47cee287366b929cdf"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Nov 23 13:38:58 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:04 2011 -0800"
      },
      "message": "rcu: Remove dynticks false positives and RCU failures\n\nAssertions in rcu_init_percpu_data() unknowingly relied on outgoing\nCPUs being turned off before reaching the idle loop.  Unfortunately,\nwhen running under kvm/qemu on x86, CPUs really can get to idle before\nbegin shut off.  These CPUs are then born in dyntick-idle mode from an\nRCU perspective, which results in splats in rcu_init_percpu_data() and\nin RCU wrongly ignoring those CPUs despite them being active.  This in\nturn can cause RCU to end grace periods prematurely, potentially freeing\nup memory that the newly onlined CPUs were still using.  This is most\ndecidedly not what we need to see in an RCU implementation.\n\nThis commit therefore replaces the assertions in rcu_init_percpu_data()\nwith code that forces RCU\u0027s dyntick-idle view of newly onlined CPUs to\nmatch reality.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3ad0decf98d97b9039d8ed47cee287366b929cdf",
      "tree": "3d6c02ceb148b55b9632422346978bf369e790e9",
      "parents": [
        "f535a607c13c7b674e0788ca5765779aa74a01c3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 21:08:13 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:03 2011 -0800"
      },
      "message": "rcu: Reduce latency of rcu_prepare_for_idle()\n\nRe-enable interrupts across calls to quiescent-state functions and\nalso across force_quiescent_state() to reduce latency.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f535a607c13c7b674e0788ca5765779aa74a01c3",
      "tree": "433a07d16ff11d9f67e7991831cebf3cadfd9939",
      "parents": [
        "84ad00cb61f1cb21f0b63bc6f7dc254399eb3830"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 20:43:02 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:02 2011 -0800"
      },
      "message": "rcu: Eliminate RCU_FAST_NO_HZ grace-period hang\n\nWith the new implementation of RCU_FAST_NO_HZ, it was possible to hang\nRCU grace periods as follows:\n\no\tCPU 0 attempts to go idle, cycles several times through the\n\trcu_prepare_for_idle() loop, then goes dyntick-idle when\n\tRCU needs nothing more from it, while still having at least\n\ton RCU callback pending.\n\no\tCPU 1 goes idle with no callbacks.\n\nBoth CPUs can then stay in dyntick-idle mode indefinitely, preventing\nthe RCU grace period from ever completing, possibly hanging the system.\n\nThis commit therefore prevents CPUs that have RCU callbacks from entering\ndyntick-idle mode.  This approach also eliminates the need for the\nend-of-grace-period IPIs used previously.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "84ad00cb61f1cb21f0b63bc6f7dc254399eb3830",
      "tree": "7f275af0caaead54a5e8847afa308f5e2b33997a",
      "parents": [
        "3084f2f80cc8a1fd66233722d88beac0fe85e26f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 17:46:19 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:01 2011 -0800"
      },
      "message": "rcu: Avoid needlessly IPIing CPUs at GP end\n\nIf a CPU enters dyntick-idle mode with callbacks pending, it will need\nan IPI at the end of the grace period.  However, if it exits dyntick-idle\nmode before the grace period ends, it will be needlessly IPIed at the\nend of the grace period.\n\nTherefore, this commit clears the per-CPU rcu_awake_at_gp_end flag\nwhen a CPU determines that it does not need it.  This in turn requires\ndisabling interrupts across much of rcu_prepare_for_idle() in order to\navoid having nested interrupts clearing this state out from under us.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3084f2f80cc8a1fd66233722d88beac0fe85e26f",
      "tree": "bce77805235278599eda0572d5d36b11419681d7",
      "parents": [
        "433cdddcd9ac5558068edd7f8d4707a70f7710f5"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 17:07:11 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:00 2011 -0800"
      },
      "message": "rcu: Go dyntick-idle more quickly if CPU has serviced current grace period\n\nThe earlier version would attempt to push callbacks through five times\nbefore going into dyntick-idle mode if callbacks remained, but the CPU\nhad done all that it needed to do for the current RCU grace periods.\nThis is wasteful:  In most cases, once the CPU has done all that it\nneeds to for the current RCU grace periods, it will make no further\nprogress on the callbacks no matter how many times it loops through\nthe RCU core processing and the idle-entry code.\n\nThis commit therefore goes to dyntick-idle mode whenever the current\nCPU has done all it can for the current grace period.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "433cdddcd9ac5558068edd7f8d4707a70f7710f5",
      "tree": "7f3686eb64c9ee3a239e5920df588c70837c5637",
      "parents": [
        "045fb9315a2129023d70a0eecf0942e18fca4fcd"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 22 14:58:03 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:32:00 2011 -0800"
      },
      "message": "rcu: Add tracing for RCU_FAST_NO_HZ\n\nThis commit adds trace_rcu_prep_idle(), which is invoked from\nrcu_prepare_for_idle() and rcu_wake_cpu() to trace attempts on\nthe part of RCU to force CPUs into dyntick-idle mode.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "1268fbc746ea1cd279886a740dcbad4ba5232225",
      "tree": "dc0ff36b4114992a3f67479e25132f5e99f36b9e",
      "parents": [
        "b58bdccaa8d908e0f71dae396468a0d3f7bb3125"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Nov 17 18:48:14 2011 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:57 2011 -0800"
      },
      "message": "nohz: Remove tick_nohz_idle_enter_norcu() / tick_nohz_idle_exit_norcu()\n\nThose two APIs were provided to optimize the calls of\ntick_nohz_idle_enter() and rcu_idle_enter() into a single\nirq disabled section. This way no interrupt happening in-between would\nneedlessly process any RCU job.\n\nNow we are talking about an optimization for which benefits\nhave yet to be measured. Let\u0027s start simple and completely decouple\nidle rcu and dyntick idle logics to simplify.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b58bdccaa8d908e0f71dae396468a0d3f7bb3125",
      "tree": "c03e6b8691a6569407c69b3456df88094d70309a",
      "parents": [
        "a95f8817f8afa75ab41728bd1bb65024c65c91c3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Nov 16 17:48:21 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:56 2011 -0800"
      },
      "message": "rcu: Add rcutorture CPU-hotplug capability\n\nRunning CPU-hotplug operations concurrently with rcutorture has\nhistorically been a good way to find bugs in both RCU and CPU hotplug.\nThis commit therefore adds an rcutorture module parameter called\n\"onoff_interval\" that causes a randomly selected CPU-hotplug operation to\nbe executed at the specified interval, in seconds.  The default value of\n\"onoff_interval\" is zero, which disables rcutorture-instigated CPU-hotplug\noperations.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "77aeeebd7b5483582d0eb6e3fd2894771d1fd8e5",
      "tree": "fc46b87358f3d68c6d2c82813e2667fd1afd996e",
      "parents": [
        "7fc20c5cbdd184f32cb0f886f1a069f123f5787a"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 16:02:52 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:54 2011 -0800"
      },
      "message": "events: Make events use the new is_idle_task() API\n\nChange from direct comparison of -\u003epid with zero to is_idle_task().\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "7fc20c5cbdd184f32cb0f886f1a069f123f5787a",
      "tree": "4254d7277295778b97cf86a7f3019a0dbeeb22b4",
      "parents": [
        "29f043a2caea2860db36fbeda0c17f79bf0cffbe"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 15:59:58 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:52 2011 -0800"
      },
      "message": "kdb: Make KDB use the new is_idle_task() API\n\nChange from direct comparison of -\u003epid with zero to is_idle_task().\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "99745b6a83414006f5c1e83efaebb423b41b67ef",
      "tree": "454ab3cf035a8d9a42f378066b166e8b2e6ba927",
      "parents": [
        "c4f3060843506ba6d473ab9a0afe5bd5dc93a00d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 15:48:45 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:48 2011 -0800"
      },
      "message": "rcu: Make RCU use the new is_idle_task() API\n\nChange from direct comparison of -\u003epid with zero to is_idle_task().\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "bb3bf7052de520f2d21a1275e95fac7a84d89e4c",
      "tree": "791d90c55d835ef7f81c6d7fe98efcbbf6872869",
      "parents": [
        "d5f546d834ddc44539651e9955eb3577b0a3eb8b"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Nov 04 13:24:07 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:47 2011 -0800"
      },
      "message": "rcu: Control rcutorture startup from kernel boot parameters\n\nCurrently, if rcutorture is built into the kernel, it must be manually\nstarted or started from an init script.  This is inconvenient for\nautomated KVM testing, where it is good to be able to fully control\nrcutorture execution from the kernel parameters.  This patch therefore\nadds a module parameter named \"rcutorture_runnable\" that defaults\nto zero (\"don\u0027t start automatically\"), but which can be set to one\nto cause rcutorture to start up immediately during boot.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d5f546d834ddc44539651e9955eb3577b0a3eb8b",
      "tree": "8262c6af876ff49d7f60772690255588b8833bd5",
      "parents": [
        "b807fbff3102bcac76ed9157d834dc20bb3d133b"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Nov 04 11:44:12 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:46 2011 -0800"
      },
      "message": "rcu: Add rcutorture system-shutdown capability\n\nAlthough it is easy to run rcutorture tests under KVM, there is currently\nno nice way to run such a test for a fixed time period, collect all of\nthe rcutorture data, and then shut the system down cleanly.  This commit\ntherefore adds an rcutorture module parameter named \"shutdown_secs\" that\nspecified the run duration in seconds, after which rcutorture terminates\nthe test and powers the system down.  The default value for \"shutdown_secs\"\nis zero, which disables shutdown.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "11dbaa8cb79a6e4a234a134898436f717a663f01",
      "tree": "79d18cd1af72016fcc54768388e46253208abe2e",
      "parents": [
        "aea1b35e29e658d42d7ba2237f3aa7f93e18509d"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Nov 02 07:38:25 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:44 2011 -0800"
      },
      "message": "rcu: Fix idle-task checks\n\nRCU has traditionally relied on idle_cpu() to determine whether a given\nCPU is running in the context of an idle task, but commit 908a3283\n(Fix idle_cpu()) has invalidated this approach.  After commit 908a3283,\nidle_cpu() will return true if the current CPU is currently running the\nidle task, and will be doing so for the foreseeable future.  RCU instead\nneeds to know whether or not the current CPU is currently running the\nidle task, regardless of what the near future might bring.\n\nThis commit therefore switches from idle_cpu() to \"current-\u003epid !\u003d 0\".\n\nReported-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSuggested-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nTested-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "aea1b35e29e658d42d7ba2237f3aa7f93e18509d",
      "tree": "0221b1c12b5c3e3ed7f2bb2ffc957b09891bcb51",
      "parents": [
        "0989cb46783188ea7346ba6490be0046b9b7a725"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Nov 02 06:54:54 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:43 2011 -0800"
      },
      "message": "rcu: Allow dyntick-idle mode for CPUs with callbacks\n\nCurrently, RCU does not permit a CPU to enter dyntick-idle mode if that\nCPU has any RCU callbacks queued.  This means that workloads for which\neach CPU wakes up and does some RCU updates every few ticks will never\nenter dyntick-idle mode.  This can result in significant unnecessary power\nconsumption, so this patch permits a given to enter dyntick-idle mode if\nit has callbacks, but only if that same CPU has completed all current\nwork for the RCU core.  We determine use rcu_pending() to determine\nwhether a given CPU has completed all current work for the RCU core.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0989cb46783188ea7346ba6490be0046b9b7a725",
      "tree": "ab3ca7e6099efd9ca814e9202a679388f36ecc90",
      "parents": [
        "4145fa7fbee3ec1e61c52825b146192885d9759f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Nov 01 08:57:21 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:42 2011 -0800"
      },
      "message": "rcu: Add more information to the wrong-idle-task complaint\n\nThe current code just complains if the current task is not the idle task.\nThis commit therefore adds printing of the identity of the idle task.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "4145fa7fbee3ec1e61c52825b146192885d9759f",
      "tree": "58e0767a59bf110acb99da3fb5c1f0f0b5170be8",
      "parents": [
        "9ceae0e248fb553c702d51d5275167d462f4efd2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Oct 31 15:01:54 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:42 2011 -0800"
      },
      "message": "rcu: Deconfuse dynticks entry-exit tracing\n\nThe trace_rcu_dyntick() trace event did not print both the old and\nthe new value of the nesting level, and furthermore printed only\nthe low-order 32 bits of it.  This could result in some confusion\nwhen interpreting trace-event dumps, so this commit prints both\nthe old and the new value, prints the full 64 bits, and also selects\nthe process-entry/exit increment to print nicely in hexadecimal.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "416eb33cd60ef405e2860a186364e57bcb2d89f6",
      "tree": "c8c67e399b99246ce47a411b3518d4365f139606",
      "parents": [
        "98ad1cc14a5c4fd658f9d72c6ba5c86dfd3ce0d5"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 16:31:02 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:38 2011 -0800"
      },
      "message": "rcu: Fix early call to rcu_idle_enter()\n\nOn the irq exit path, tick_nohz_irq_exit()\nmay raise a softirq, which action leads to the wake up\npath and select_task_rq_fair() that makes use of rcu\nto iterate the domains.\n\nThis is an illegal use of RCU because we may be in RCU\nextended quiescent state if we interrupted an RCU-idle\nwindow in the idle loop:\n\n[  132.978883] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  132.978883] [ INFO: suspicious RCU usage. ]\n[  132.978883] -------------------------------\n[  132.978883] kernel/sched_fair.c:1707 suspicious rcu_dereference_check() usage!\n[  132.978883]\n[  132.978883] other info that might help us debug this:\n[  132.978883]\n[  132.978883]\n[  132.978883] rcu_scheduler_active \u003d 1, debug_locks \u003d 0\n[  132.978883] RCU used illegally from extended quiescent state!\n[  132.978883] 2 locks held by swapper/0:\n[  132.978883]  #0:  (\u0026p-\u003epi_lock){-.-.-.}, at: [\u003cffffffff8105a729\u003e] try_to_wake_up+0x39/0x2f0\n[  132.978883]  #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff8105556a\u003e] select_task_rq_fair+0x6a/0xec0\n[  132.978883]\n[  132.978883] stack backtrace:\n[  132.978883] Pid: 0, comm: swapper Tainted: G        W   3.0.0+ #178\n[  132.978883] Call Trace:\n[  132.978883]  \u003cIRQ\u003e  [\u003cffffffff810a01f6\u003e] lockdep_rcu_suspicious+0xe6/0x100\n[  132.978883]  [\u003cffffffff81055c49\u003e] select_task_rq_fair+0x749/0xec0\n[  132.978883]  [\u003cffffffff8105556a\u003e] ? select_task_rq_fair+0x6a/0xec0\n[  132.978883]  [\u003cffffffff812fe494\u003e] ? do_raw_spin_lock+0x54/0x150\n[  132.978883]  [\u003cffffffff810a1f2d\u003e] ? trace_hardirqs_on+0xd/0x10\n[  132.978883]  [\u003cffffffff8105a7c3\u003e] try_to_wake_up+0xd3/0x2f0\n[  132.978883]  [\u003cffffffff81094f98\u003e] ? ktime_get+0x68/0xf0\n[  132.978883]  [\u003cffffffff8105aa35\u003e] wake_up_process+0x15/0x20\n[  132.978883]  [\u003cffffffff81069dd5\u003e] raise_softirq_irqoff+0x65/0x110\n[  132.978883]  [\u003cffffffff8108eb65\u003e] __hrtimer_start_range_ns+0x415/0x5a0\n[  132.978883]  [\u003cffffffff812fe3ee\u003e] ? do_raw_spin_unlock+0x5e/0xb0\n[  132.978883]  [\u003cffffffff8108ed08\u003e] hrtimer_start+0x18/0x20\n[  132.978883]  [\u003cffffffff8109c9c3\u003e] tick_nohz_stop_sched_tick+0x393/0x450\n[  132.978883]  [\u003cffffffff810694f2\u003e] irq_exit+0xd2/0x100\n[  132.978883]  [\u003cffffffff81829e96\u003e] do_IRQ+0x66/0xe0\n[  132.978883]  [\u003cffffffff81820d53\u003e] common_interrupt+0x13/0x13\n[  132.978883]  \u003cEOI\u003e  [\u003cffffffff8103434b\u003e] ? native_safe_halt+0xb/0x10\n[  132.978883]  [\u003cffffffff810a1f2d\u003e] ? trace_hardirqs_on+0xd/0x10\n[  132.978883]  [\u003cffffffff810144ea\u003e] default_idle+0xba/0x370\n[  132.978883]  [\u003cffffffff810147fe\u003e] amd_e400_idle+0x5e/0x130\n[  132.978883]  [\u003cffffffff8100a9f6\u003e] cpu_idle+0xb6/0x120\n[  132.978883]  [\u003cffffffff817f217f\u003e] rest_init+0xef/0x150\n[  132.978883]  [\u003cffffffff817f20e2\u003e] ? rest_init+0x52/0x150\n[  132.978883]  [\u003cffffffff81ed9cf3\u003e] start_kernel+0x3da/0x3e5\n[  132.978883]  [\u003cffffffff81ed9346\u003e] x86_64_start_reservations+0x131/0x135\n[  132.978883]  [\u003cffffffff81ed944d\u003e] x86_64_start_kernel+0x103/0x112\n\nFix this by calling rcu_idle_enter() after tick_nohz_irq_exit().\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "2bbb6817c0ac1b5f2a68d720f364f98eeb1ac4fd",
      "tree": "05bb5ba54671a8eaeca4fe4406a75e820317e473",
      "parents": [
        "280f06774afedf849f0b34248ed6aff57d0f6908"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Oct 08 16:01:00 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:36 2011 -0800"
      },
      "message": "nohz: Allow rcu extended quiescent state handling seperately from tick stop\n\nIt is assumed that rcu won\u0027t be used once we switch to tickless\nmode and until we restart the tick. However this is not always\ntrue, as in x86-64 where we dereference the idle notifiers after\nthe tick is stopped.\n\nTo prepare for fixing this, add two new APIs:\ntick_nohz_idle_enter_norcu() and tick_nohz_idle_exit_norcu().\n\nIf no use of RCU is made in the idle loop between\ntick_nohz_enter_idle() and tick_nohz_exit_idle() calls, the arch\nmust instead call the new *_norcu() version such that the arch doesn\u0027t\nneed to call rcu_idle_enter() and rcu_idle_exit().\n\nOtherwise the arch must call tick_nohz_enter_idle() and\ntick_nohz_exit_idle() and also call explicitly:\n\n- rcu_idle_enter() after its last use of RCU before the CPU is put\nto sleep.\n- rcu_idle_exit() before the first use of RCU after the CPU is woken\nup.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "280f06774afedf849f0b34248ed6aff57d0f6908",
      "tree": "62ef683226d0569c0e6c3ba34ab2e6d85b2e047f",
      "parents": [
        "867f236bd12f5091df6dc7cc75f94d7fd982d78a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 18:22:06 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:35 2011 -0800"
      },
      "message": "nohz: Separate out irq exit and idle loop dyntick logic\n\nThe tick_nohz_stop_sched_tick() function, which tries to delay\nthe next timer tick as long as possible, can be called from two\nplaces:\n\n- From the idle loop to start the dytick idle mode\n- From interrupt exit if we have interrupted the dyntick\nidle mode, so that we reprogram the next tick event in\ncase the irq changed some internal state that requires this\naction.\n\nThere are only few minor differences between both that\nare handled by that function, driven by the ts-\u003einidle\ncpu variable and the inidle parameter. The whole guarantees\nthat we only update the dyntick mode on irq exit if we actually\ninterrupted the dyntick idle mode, and that we enter in RCU extended\nquiescent state from idle loop entry only.\n\nSplit this function into:\n\n- tick_nohz_idle_enter(), which sets ts-\u003einidle to 1, enters\ndynticks idle mode unconditionally if it can, and enters into RCU\nextended quiescent state.\n\n- tick_nohz_irq_exit() which only updates the dynticks idle mode\nwhen ts-\u003einidle is set (ie: if tick_nohz_idle_enter() has been called).\n\nTo maintain symmetry, tick_nohz_restart_sched_tick() has been renamed\ninto tick_nohz_idle_exit().\n\nThis simplifies the code and micro-optimize the irq exit path (no need\nfor local_irq_save there). This also prepares for the split between\ndynticks and rcu extended quiescent state logics. We\u0027ll need this split to\nfurther fix illegal uses of RCU in extended quiescent states in the idle\nloop.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "0464e937485f15d2add78e3b0f498469f4e6600d",
      "tree": "4007c0643436591850ac8bc87e03601afb8f1920",
      "parents": [
        "e6b80a3b0994ea6c3d876d72464f2debbfcfeb05"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 18:22:01 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:30 2011 -0800"
      },
      "message": "rcu: Inform the user about extended quiescent state on PROVE_RCU warning\n\nInform the user if an RCU usage error is detected by lockdep while in\nan extended quiescent state (in this case, the RCU-free window in idle).\nThis is accomplished by adding a line to the RCU lockdep splat indicating\nwhether or not the splat occurred in extended quiescent state.\n\nUses of RCU from within extended quiescent state mode are totally ignored\nby RCU, hence the importance of this diagnostic.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "e6b80a3b0994ea6c3d876d72464f2debbfcfeb05",
      "tree": "207337c207fecf2e05e52ffb3003831d240529fd",
      "parents": [
        "a0f8eefb127f5be07628954f310a7fc8c82b2fc3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 16:25:18 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:30 2011 -0800"
      },
      "message": "rcu: Detect illegal rcu dereference in extended quiescent state\n\nReport that none of the rcu read lock maps are held while in an RCU\nextended quiescent state (the section between rcu_idle_enter()\nand rcu_idle_exit()). This helps detect any use of rcu_dereference()\nand friends from within the section in idle where RCU is not allowed.\n\nThis way we can guarantee an extended quiescent window where the CPU\ncan be put in dyntick idle mode or can simply aoid to be part of any\nglobal grace period completion while in the idle loop.\n\nUses of RCU from such mode are totally ignored by RCU, hence the\nimportance of these checks.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "a0f8eefb127f5be07628954f310a7fc8c82b2fc3",
      "tree": "58fa4263824fa3b907b9ef70b1255fcf7c3c791b",
      "parents": [
        "b40d293eb36ba40cd428b6d178db911174689702"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 03 12:08:17 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:29 2011 -0800"
      },
      "message": "rcu: Remove redundant return from rcu_report_exp_rnp()\n\nEmpty void functions do not need \"return\", so this commit removes it\nfrom rcu_report_exp_rnp().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b40d293eb36ba40cd428b6d178db911174689702",
      "tree": "78109a13c0bf86608f3caaea547fd9e948aee743",
      "parents": [
        "34240697d619c439c55f21989680024dcb604aab"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 22 07:12:34 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:28 2011 -0800"
      },
      "message": "rcu: Omit self-awaken when setting up expedited grace period\n\nWhen setting up an expedited grace period, if there were no readers, the\ntask will awaken itself.  This commit removes this useless self-awakening.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "34240697d619c439c55f21989680024dcb604aab",
      "tree": "5fa80ddb82706121520677e8e700e5081f5edaa1",
      "parents": [
        "2c01531f08f8ba663a20d8472a3032f6df133b6e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Oct 03 11:38:52 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:27 2011 -0800"
      },
      "message": "rcu: Disable preemption in rcu_is_cpu_idle()\n\nBecause rcu_is_cpu_idle() is to be used to check for extended quiescent\nstates in RCU-preempt read-side critical sections, it cannot assume that\npreemption is disabled.  And preemption must be disabled when accessing\nthe dyntick-idle state, because otherwise the following sequence of events\ncould occur:\n\n1.\tTask A on CPU 1 enters rcu_is_cpu_idle() and picks up the pointer\n\tto CPU 1\u0027s per-CPU variables.\n\n2.\tTask B preempts Task A and starts running on CPU 1.\n\n3.\tTask A migrates to CPU 2.\n\n4.\tTask B blocks, leaving CPU 1 idle.\n\n5.\tTask A continues execution on CPU 2, accessing CPU 1\u0027s dyntick-idle\n\tinformation using the pointer fetched in step 1 above, and finds\n\tthat CPU 1 is idle.\n\n6.\tTask A therefore incorrectly concludes that it is executing in\n\tan extended quiescent state, possibly issuing a spurious splat.\n\nTherefore, this commit disables preemption within the rcu_is_cpu_idle()\nfunction.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "91afaf300269aa99a4d646969b3258b74294ac4d",
      "tree": "b4d7dd5f5c9933be7873b206624f7b55eb25d906",
      "parents": [
        "a8eecf2248a45bf69f0625b23c003ad2ccd765ee"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Oct 02 07:44:32 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:26 2011 -0800"
      },
      "message": "rcu: Add failure tracing to rcutorture\n\nTrace the rcutorture RCU accesses and dump the trace buffer when the\nfirst failure is detected.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "a8eecf2248a45bf69f0625b23c003ad2ccd765ee",
      "tree": "170e96d6a6cf26da8751ec98f59c81adc28717e6",
      "parents": [
        "9b2e4f1880b789be1f24f9684f7a54b90310b5c0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Oct 02 11:01:15 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:25 2011 -0800"
      },
      "message": "trace: Allow ftrace_dump() to be called from modules\n\nAdd an EXPORT_SYMBOL_GPL() so that rcutorture can dump the trace buffer\nupon detection of an RCU error.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "9b2e4f1880b789be1f24f9684f7a54b90310b5c0",
      "tree": "1fa922e0616e298837a7079cb49118188a58186c",
      "parents": [
        "b804cb9e91c6c304959c69d4f9daeef4ffdba71c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Sep 30 12:10:22 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:24 2011 -0800"
      },
      "message": "rcu: Track idleness independent of idle tasks\n\nEarlier versions of RCU used the scheduling-clock tick to detect idleness\nby checking for the idle task, but handled idleness differently for\nCONFIG_NO_HZ\u003dy.  But there are now a number of uses of RCU read-side\ncritical sections in the idle task, for example, for tracing.  A more\nfine-grained detection of idleness is therefore required.\n\nThis commit presses the old dyntick-idle code into full-time service,\nso that rcu_idle_enter(), previously known as rcu_enter_nohz(), is\nalways invoked at the beginning of an idle loop iteration.  Similarly,\nrcu_idle_exit(), previously known as rcu_exit_nohz(), is always invoked\nat the end of an idle-loop iteration.  This allows the idle task to\nuse RCU everywhere except between consecutive rcu_idle_enter() and\nrcu_idle_exit() calls, in turn allowing architecture maintainers to\nspecify exactly where in the idle loop that RCU may be used.\n\nBecause some of the userspace upcall uses can result in what looks\nto RCU like half of an interrupt, it is not possible to expect that\nthe irq_enter() and irq_exit() hooks will give exact counts.  This\npatch therefore expands the -\u003edynticks_nesting counter to 64 bits\nand uses two separate bitfields to count process/idle transitions\nand interrupt entry/exit transitions.  It is presumed that userspace\nupcalls do not happen in the idle loop or from usermode execution\n(though usermode might do a system call that results in an upcall).\nThe counter is hard-reset on each process/idle transition, which\navoids the interrupt entry/exit error from accumulating.  Overflow\nis avoided by the 64-bitness of the -\u003edyntick_nesting counter.\n\nThis commit also adds warnings if a non-idle task asks RCU to enter\nidle state (and these checks will need some adjustment before applying\nFrederic\u0027s OS-jitter patches (http://lkml.org/lkml/2011/10/7/246).\nIn addition, validation of -\u003edynticks and -\u003edynticks_nesting is added.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "7077714ec4940a6c5b1189c3afb4f47bf49ad877",
      "tree": "c8713205a1e6ce6973822bb76ea5e7e1774444ee",
      "parents": [
        "389abd48efe1ceacb141b2fd151263b1bc432dbc"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Sep 22 13:18:44 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:22 2011 -0800"
      },
      "message": "rcu: Make synchronize_sched_expedited() better at work sharing\n\nWhen synchronize_sched_expedited() takes its second and subsequent\nsnapshots of sync_sched_expedited_started, it subtracts 1.  This\nmeans that the concurrent caller of synchronize_sched_expedited()\nthat incremented to that value sees our successful completion, it\nwill not be able to take advantage of it.  This restriction is\npointless, given that our full expedited grace period would have\nhappened after the other guy started, and thus should be able to\nserve as a proxy for the other guy successfully executing\ntry_stop_cpus().\n\nThis commit therefore removes the subtraction of 1.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "389abd48efe1ceacb141b2fd151263b1bc432dbc",
      "tree": "f61a46a05c11b3d6ecd10b6beb73824bd5e88388",
      "parents": [
        "af446b702c58b700cc5fa99f6edc78b99e55b995"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 21 14:41:37 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:21 2011 -0800"
      },
      "message": "rcu: Avoid RCU-preempt expedited grace-period botch\n\nBecause rcu_read_unlock_special() samples rcu_preempted_readers_exp(rnp)\nafter dropping rnp-\u003elock, the following sequence of events is possible:\n\n1.\tTask A exits its RCU read-side critical section, and removes\n\titself from the -\u003eblkd_tasks list, releases rnp-\u003elock, and is\n\tthen preempted.  Task B remains on the -\u003eblkd_tasks list, and\n\tblocks the current expedited grace period.\n\n2.\tTask B exits from its RCU read-side critical section and removes\n\titself from the -\u003eblkd_tasks list.  Because it is the last task\n\tblocking the current expedited grace period, it ends that\n\texpedited grace period.\n\n3.\tTask A resumes, and samples rcu_preempted_readers_exp(rnp) which\n\tof course indicates that nothing is blocking the nonexistent\n\texpedited grace period. Task A is again preempted.\n\n4.\tSome other CPU starts an expedited grace period.  There are several\n\ttasks blocking this expedited grace period queued on the\n\tsame rcu_node structure that Task A was using in step 1 above.\n\n5.\tTask A examines its state and incorrectly concludes that it was\n\tthe last task blocking the expedited grace period on the current\n\trcu_node structure.  It therefore reports completion up the\n\trcu_node tree.\n\n6.\tThe expedited grace period can then incorrectly complete before\n\tthe tasks blocked on this same rcu_node structure exit their\n\tRCU read-side critical sections.  Arbitrarily bad things happen.\n\nThis commit therefore takes a snapshot of rcu_preempted_readers_exp(rnp)\nprior to dropping the lock, so that only the last task thinks that it is\nthe last task, thus avoiding the failure scenario laid out above.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "af446b702c58b700cc5fa99f6edc78b99e55b995",
      "tree": "0eacf146b7f1b221e844c52db6061e31928ff99e",
      "parents": [
        "dc47ce90c3a822cd7c9e9339fe4d5f61dcb26b50"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat Sep 10 21:54:08 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:20 2011 -0800"
      },
      "message": "rcu: -\u003esignaled better named -\u003efqs_state\n\nThe -\u003esignaled field was named before complications in the form of\ndyntick-idle mode and offlined CPUs.  These complications have required\nthat force_quiescent_state() be implemented as a state machine, instead\nof simply unconditionally sending reschedule IPIs.  Therefore, this\ncommit renames -\u003esignaled to -\u003efqs_state to catch up with the new\nforce_quiescent_state() reality.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "975e32c287a9b144cf115d3f42ca18664b3331df",
      "tree": "c45cb3cd1bcaf2d09efeeaec192d344c898f2c70",
      "parents": [
        "031af165b1cd295ef04d2bfbcae9bc3cb9180735",
        "167e33c32845a30368463dac5a4fe2be5edcc34a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:07:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:07:24 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Do no try to schedule task events if there are none\n  lockdep, kmemcheck: Annotate -\u003elock in lockdep_init_map()\n  perf header: Use event_name() to get an event name\n  perf stat: Failure with \"Operation not supported\"\n"
    },
    {
      "commit": "031af165b1cd295ef04d2bfbcae9bc3cb9180735",
      "tree": "fc5abaa84eb1135cae41e8ab0d3356171fc0a760",
      "parents": [
        "1cee22b7f385b6c4f716846203a96e1f302132aa"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Thu Dec 08 14:34:44 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:29 2011 -0800"
      },
      "message": "sys_getppid: add missing rcu_dereference\n\nIn order to safely dereference current-\u003ereal_parent inside an\nrcu_read_lock, we need an rcu_dereference.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09dc3cf93f7d16fdd37a0ad8486faebb5e2769ec",
      "tree": "4db1b0103db218d0d0aa26a26232c3674dd18622",
      "parents": [
        "c193c82f054195aa352ccbef91afc28446e5a30e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Dec 08 14:34:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "printk: avoid double lock acquire\n\nCommit 4f2a8d3cf5e (\"printk: Fix console_sem vs logbuf_lock unlock race\")\nintroduced another silly bug where we would want to acquire an already\nheld lock.  Avoid this.\n\nReported-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09d9673d53005fdf40de4c759425893904292236",
      "tree": "0c7b526b3338a5e8541b4da157e2cafaa3a1c1c5",
      "parents": [
        "fb38f9b8fe98a9c1f6b1e57d1b08b1102b293929",
        "c9c024b3f3e07d087974db4c0dc46217fff3a6c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:21:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:21:28 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  alarmtimers: Fix time comparison\n  ptp: Fix clock_getres() implementation\n"
    },
    {
      "commit": "067491b7313c41f49607fce782d29344d1472587",
      "tree": "06f6352372038f7f4171c8d8fc869e686665d32f",
      "parents": [
        "cd490c5b285544dc1319cf79c2ca0528a6447f61"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Dec 07 14:32:08 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 08 05:45:48 2011 +0100"
      },
      "message": "sched, nohz: Fix missing RCU read lock\n\nYong Zhang reported:\n\n \u003e [ INFO: suspicious RCU usage. ]\n \u003e kernel/sched/fair.c:5091 suspicious rcu_dereference_check() usage!\n\nThis is due to the sched_domain stuff being RCU protected and\ncommit 0b005cf5 (\"sched, nohz: Implement sched group, domain\naware nohz idle load balancing\") overlooking this fact.\n\nThe sd variable only lives inside the for_each_domain() block,\nso we only need to wrap that.\n\nReported-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nTested-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/1323264728.32012.107.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ec84acee1e221d99dc33237bff5e82839d10cc0",
      "tree": "3767777835c3860650762498f74643a8a748146f",
      "parents": [
        "81140acc66322dcde8346dabdf1ab4c229fce8d4"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Wed Dec 07 14:30:58 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 07 23:32:10 2011 +0100"
      },
      "message": "lockdep, bug: Exclude TAINT_OOT_MODULE from disabling lock debugging\n\nWe do want to allow lock debugging for GPL-compatible modules\nthat are not (yet) built in-tree.  This was disabled as a\nside-effect of commit 2449b8ba0745327c5fa49a8d9acffe03b2eded69\n(\u0027module,bug: Add TAINT_OOT_MODULE flag for modules not built\nin-tree\u0027).  Lock debug warnings now include taint flags, so\nkernel developers should still be able to deflect warnings\ncaused by out-of-tree modules.\n\nThe TAINT_PROPRIETARY_MODULE flag for non-GPL-compatible modules\nwill still disable lock debugging.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: Nick Bowler \u003cnbowler@elliptictech.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Debian kernel maintainers \u003cdebian-kernel@lists.debian.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nLink: http://lkml.kernel.org/r/1323268258.18450.11.camel@deadeye\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "86b47c25494b824da655b95f6fdb4fdb3f17aa77",
      "tree": "45ed2f1c82a258bcbbe0550aa728b11187512322",
      "parents": [
        "a33caeb118198286309859f014c0662f3ed54ed4"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Nov 22 16:08:21 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 07 16:31:22 2011 +0100"
      },
      "message": "perf: Do no try to schedule task events if there are none\n\nperf_event_sched_in() shouldn\u0027t try to schedule task events if there\nare none otherwise task\u0027s ctx-\u003eis_active will be set and will not be\ncleared during sched_out. This will prevent newly added events from\nbeing scheduled into the task context.\n\nFixes a boo-boo in commit 1d5f003f5a9 (\"perf: Do not set task_ctx\npointer in cpuctx if there are no events in the context\").\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111122140821.GF2557@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "091c0f86bad6bb0b003dff2f6195508e29548648",
      "tree": "d04ef2b42ae456c2f281728413405c2e6af34880",
      "parents": [
        "4fb1db334aa2569281481a09840650e7be28161d",
        "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 06 11:54:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 06 11:54:33 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ftrace: Fix hash record accounting bug\n  perf: Fix parsing of __print_flags() in TP_printk()\n  jump_label: jump_label_inc may return before the code is patched\n  ftrace: Remove force undef config value left for testing\n  tracing: Restore system filter behavior\n  tracing: fix event_subsystem ref counting\n"
    },
    {
      "commit": "cd490c5b285544dc1319cf79c2ca0528a6447f61",
      "tree": "ee419d467f8e44f8ce596ea4cec1e514baeec7c9",
      "parents": [
        "8a6d42d1b32ad239c28f445138ea9c19aa52dd20"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Dec 06 11:26:34 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 20:51:29 2011 +0100"
      },
      "message": "sched, nohz: Set the NOHZ_BALANCE_KICK flag for idle load balancer\n\nIntention is to set the NOHZ_BALANCE_KICK flag for the \u0027ilb_cpu\u0027. Not\nfor the \u0027cpu\u0027 which is the local cpu. Fix the typo.\n\nReported-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1323199594.1984.18.camel@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8a6d42d1b32ad239c28f445138ea9c19aa52dd20",
      "tree": "ddb25da63a4a712d48c545e1b2fce145f723b4e2",
      "parents": [
        "f8b6d1cc7dc15cf3de538b864eefaedad7a84d85"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Dec 06 11:19:37 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 20:51:27 2011 +0100"
      },
      "message": "sched, nohz: Fix the idle cpu check in nohz_idle_balance\n\ncpu bit in the nohz.idle_cpu_mask are reset in the first busy tick after\nexiting idle. So during nohz_idle_balance(), intention is to double\ncheck if the cpu that is part of the idle_cpu_mask is indeed idle before\ngoing ahead in performing idle balance for that cpu.\n\nFix the cpu typo in the idle_cpu() check during nohz_idle_balance().\n\nReported-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1323199177.1984.12.camel@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f8b6d1cc7dc15cf3de538b864eefaedad7a84d85",
      "tree": "084948d4bebc74a66231d95e03daaeb808640d66",
      "parents": [
        "be726ffd1ef291c04c4d6632ac277afa1c281712"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 06 14:20:14 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 20:51:26 2011 +0100"
      },
      "message": "sched: Use jump_labels for sched_feat\n\nNow that we initialize jump_labels before sched_init() we can use them\nfor the debug features without having to worry about a window where\nthey have the wrong setting.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-vpreo4hal9e0kzqmg5y0io2k@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "be726ffd1ef291c04c4d6632ac277afa1c281712",
      "tree": "3ec9830b12cd488019b12c77d35d5995e65c94cf",
      "parents": [
        "1c77f38ad623d8c3bc062f0ff9b8c5a2dfb2f1a2"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Fri Dec 02 19:58:39 2011 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 20:51:24 2011 +0100"
      },
      "message": "sched/accounting: Fix parameter passing in task_group_account_field\n\nThe order of parameters is inverted. The index parameter\nshould come first.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1322863119-14225-3-git-send-email-glommer@parallels.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c77f38ad623d8c3bc062f0ff9b8c5a2dfb2f1a2",
      "tree": "a4ff4aca033b73715c87868d0ce366169655825c",
      "parents": [
        "54c707e98de9ca899e6552a47c797c62c45885ee"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Fri Dec 02 19:58:38 2011 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 20:51:23 2011 +0100"
      },
      "message": "sched/accounting: Fix user/system tick double accounting\n\nNow that we\u0027re  pointing cpuacct\u0027s root cgroup to cpustat and accounting\nthrough task_group_account_field(), we should not access cpustat directly.\nSince it is done anyway inside the acessor function, we end up accounting\nit twice, which is wrong.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1322863119-14225-2-git-send-email-glommer@parallels.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54c707e98de9ca899e6552a47c797c62c45885ee",
      "tree": "61ec9be62b2b3db0201aca7c8eddb5e49239baf5",
      "parents": [
        "b39e66eaf9c573f38133e894256caeaf9fd2a528"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Mon Nov 28 14:45:19 2011 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 20:51:21 2011 +0100"
      },
      "message": "sched/accounting: Re-use scheduler statistics for the root cgroup\n\nRight now, after we collect tick statistics for user and system and store them\nin a well known location, we keep the same statistics again for cpuacct.\nSince cpuacct is hierarchical, the numbers for the root cgroup should be\nabsolutely equal to the system-wide numbers.\n\nSo it would be better to just use it: this patch changes cpuacct accounting\nin a way that the cpustat statistics are kept in a struct kernel_cpustat percpu\narray. In the root cgroup case, we just point it to the main array. The rest of\nthe hierarchy walk can be totally disabled later with a static branch - but I am\nnot doing it here.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Tuner \u003cpjt@google.com\u003e\nLink: http://lkml.kernel.org/r/1322498719-2255-4-git-send-email-glommer@parallels.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "b39e66eaf9c573f38133e894256caeaf9fd2a528"
}
