)]}'
{
  "log": [
    {
      "commit": "975e32c287a9b144cf115d3f42ca18664b3331df",
      "tree": "c45cb3cd1bcaf2d09efeeaec192d344c898f2c70",
      "parents": [
        "031af165b1cd295ef04d2bfbcae9bc3cb9180735",
        "167e33c32845a30368463dac5a4fe2be5edcc34a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:07:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 08:07:24 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Do no try to schedule task events if there are none\n  lockdep, kmemcheck: Annotate -\u003elock in lockdep_init_map()\n  perf header: Use event_name() to get an event name\n  perf stat: Failure with \"Operation not supported\"\n"
    },
    {
      "commit": "031af165b1cd295ef04d2bfbcae9bc3cb9180735",
      "tree": "fc5abaa84eb1135cae41e8ab0d3356171fc0a760",
      "parents": [
        "1cee22b7f385b6c4f716846203a96e1f302132aa"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Thu Dec 08 14:34:44 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:29 2011 -0800"
      },
      "message": "sys_getppid: add missing rcu_dereference\n\nIn order to safely dereference current-\u003ereal_parent inside an\nrcu_read_lock, we need an rcu_dereference.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09dc3cf93f7d16fdd37a0ad8486faebb5e2769ec",
      "tree": "4db1b0103db218d0d0aa26a26232c3674dd18622",
      "parents": [
        "c193c82f054195aa352ccbef91afc28446e5a30e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Dec 08 14:34:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "printk: avoid double lock acquire\n\nCommit 4f2a8d3cf5e (\"printk: Fix console_sem vs logbuf_lock unlock race\")\nintroduced another silly bug where we would want to acquire an already\nheld lock.  Avoid this.\n\nReported-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09d9673d53005fdf40de4c759425893904292236",
      "tree": "0c7b526b3338a5e8541b4da157e2cafaa3a1c1c5",
      "parents": [
        "fb38f9b8fe98a9c1f6b1e57d1b08b1102b293929",
        "c9c024b3f3e07d087974db4c0dc46217fff3a6c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:21:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 08 13:21:28 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  alarmtimers: Fix time comparison\n  ptp: Fix clock_getres() implementation\n"
    },
    {
      "commit": "86b47c25494b824da655b95f6fdb4fdb3f17aa77",
      "tree": "45ed2f1c82a258bcbbe0550aa728b11187512322",
      "parents": [
        "a33caeb118198286309859f014c0662f3ed54ed4"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Nov 22 16:08:21 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 07 16:31:22 2011 +0100"
      },
      "message": "perf: Do no try to schedule task events if there are none\n\nperf_event_sched_in() shouldn\u0027t try to schedule task events if there\nare none otherwise task\u0027s ctx-\u003eis_active will be set and will not be\ncleared during sched_out. This will prevent newly added events from\nbeing scheduled into the task context.\n\nFixes a boo-boo in commit 1d5f003f5a9 (\"perf: Do not set task_ctx\npointer in cpuctx if there are no events in the context\").\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111122140821.GF2557@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "091c0f86bad6bb0b003dff2f6195508e29548648",
      "tree": "d04ef2b42ae456c2f281728413405c2e6af34880",
      "parents": [
        "4fb1db334aa2569281481a09840650e7be28161d",
        "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 06 11:54:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 06 11:54:33 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ftrace: Fix hash record accounting bug\n  perf: Fix parsing of __print_flags() in TP_printk()\n  jump_label: jump_label_inc may return before the code is patched\n  ftrace: Remove force undef config value left for testing\n  tracing: Restore system filter behavior\n  tracing: fix event_subsystem ref counting\n"
    },
    {
      "commit": "a33caeb118198286309859f014c0662f3ed54ed4",
      "tree": "c9bc38bef15bd7167ab27e1285d56a1e6cef4549",
      "parents": [
        "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Wed Nov 09 16:04:51 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 18:18:13 2011 +0100"
      },
      "message": "lockdep, kmemcheck: Annotate -\u003elock in lockdep_init_map()\n\nSince commit f59de89 (\"lockdep: Clear whole lockdep_map on initialization\"),\nlockdep_init_map() will clear all the struct. But it will break\nlock_set_class()/lock_set_subclass(). A typical race condition\nis like below:\n\n     CPU A                                   CPU B\nlock_set_subclass(lockA);\n lock_set_class(lockA);\n   lockdep_init_map(lockA);\n     /* lockA-\u003ename is cleared */\n     memset(lockA);\n                                     __lock_acquire(lockA);\n                                       /* lockA-\u003eclass_cache[] is cleared */\n                                       register_lock_class(lockA);\n                                         look_up_lock_class(lockA);\n                                           WARN_ON_ONCE(class-\u003ename !\u003d\n                                                     lock-\u003ename);\n\n     lock-\u003ename \u003d name;\n\nSo restore to what we have done before commit f59de89 but annotate\n-\u003elock with kmemcheck_mark_initialized() to suppress the kmemcheck\nwarning reported in commit f59de89.\n\nReported-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nReported-by: Borislav Petkov \u003cbp@alien8.de\u003e\nSuggested-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111109080451.GB8124@zhy\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c9c024b3f3e07d087974db4c0dc46217fff3a6c0",
      "tree": "4dd125eef6c2f332d641876fac0e6f522b1d75c5",
      "parents": [
        "d68fb11c3dae75c8331538dcf083a65e697cc034"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 05 21:20:23 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 06 11:38:32 2011 +0100"
      },
      "message": "alarmtimers: Fix time comparison\n\nThe expiry function compares the timer against current time and does\nnot expire the timer when the expiry time is \u003e\u003d now. That\u0027s wrong. If\nthe timer is set for now, then it must expire.\n\nMake the condition expiry \u003e now for breaking out the loop.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "232ea344550c4a099d35d9df552509d6748a31c0",
      "tree": "2b4a1c351d290537fdf18cc5bed78bf43536f175",
      "parents": [
        "40c043b077c6e377c8440d71563c055d0c4f0f0a",
        "dc440d10e1668b15fe704a23adb9b53fbbb24a44"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:54:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:54:00 2011 -0800"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf: Fix loss of notification with multi-event\n  perf, x86: Force IBS LVT offset assignment for family 10h\n  perf, x86: Disable PEBS on SandyBridge chips\n  trace_events_filter: Use rcu_assign_pointer() when setting ftrace_event_call-\u003efilter\n  perf session: Fix crash with invalid CPU list\n  perf python: Fix undefined symbol problem\n  perf/x86: Enable raw event access to Intel offcore events\n  perf: Don\u0027t use -ENOSPC for out of PMU resources\n  perf: Do not set task_ctx pointer in cpuctx if there are no events in the context\n  perf/x86: Fix PEBS instruction unwind\n  oprofile, x86: Fix crash when unloading module (nmi timer mode)\n  oprofile: Fix crash when unloading module (hr timer mode)\n"
    },
    {
      "commit": "40c043b077c6e377c8440d71563c055d0c4f0f0a",
      "tree": "e0c1d672a1156d7840d3ef650ba1aa963c68e13a",
      "parents": [
        "f14aa871c7e1e58a01bf33a562ac314fae64517c",
        "de28f25e8244c7353abed8de0c7792f5f883588c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:53:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:53:43 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  clockevents: Set noop handler in clockevents_exchange_device()\n  tick-broadcast: Stop active broadcast device when replacing it\n  clocksource: Fix bug with max_deferment margin calculation\n  rtc: Fix some bugs that allowed accumulating time drift in suspend/resume\n  rtc: Disable the alarm in the hardware\n"
    },
    {
      "commit": "f14aa871c7e1e58a01bf33a562ac314fae64517c",
      "tree": "5ab1459c3f372dbb765c69808eb8300749eba6c7",
      "parents": [
        "7125faceabe43067293d0c9e2ef7154ecea51721",
        "52cef189165d74a5d6030184a8e05595194c69ca",
        "550acb19269d65f32e9ac4ddb26c2b2070e37f1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:51:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:51:21 2011 -0800"
      },
      "message": "Merge branches \u0027core-urgent-for-linus\u0027 and \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  slab, lockdep: Fix silly bug\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Fix race condition when stopping the irq thread\n"
    },
    {
      "commit": "7125faceabe43067293d0c9e2ef7154ecea51721",
      "tree": "9de559e9280843d02d9a70976fbad23428161189",
      "parents": [
        "35337c834124d2893b7fe4ba683c7639e6c37e0c",
        "4cecf6d401a01d054afc1e5f605bcbfe553cb9b9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:50:24 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 05 16:50:24 2011 -0800"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched, x86: Avoid unnecessary overflow in sched_clock\n  sched: Fix buglet in return_cfs_rq_runtime()\n  sched: Avoid SMT siblings in select_idle_sibling() if possible\n  sched: Set the command name of the idle tasks in SMP kernels\n  sched, rt: Provide means of disabling cross-cpu bandwidth sharing\n  sched: Document wait_for_completion_*() return values\n  sched_fair: Fix a typo in the comment describing update_sd_lb_stats\n  sched: Add a comment to effective_load() since it\u0027s a pain\n"
    },
    {
      "commit": "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7",
      "tree": "afee7574ab5b3a8e3d907327e73c2785cd275abe",
      "parents": [
        "d06c27b22aa66e48e32f03f9387328a9af9b0625"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 20:32:39 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:47 2011 -0500"
      },
      "message": "ftrace: Fix hash record accounting bug\n\nIf the set_ftrace_filter is cleared by writing just whitespace to\nit, then the filter hash refcounts will be decremented but not\nupdated. This causes two bugs:\n\n1) No functions will be enabled for tracing when they all should be\n\n2) If the users clears the set_ftrace_filter twice, it will crash ftrace:\n\n------------[ cut here ]------------\nWARNING: at /home/rostedt/work/git/linux-trace.git/kernel/trace/ftrace.c:1384 __ftrace_hash_rec_update.part.27+0x157/0x1a7()\nModules linked in:\nPid: 2330, comm: bash Not tainted 3.1.0-test+ #32\nCall Trace:\n [\u003cffffffff81051828\u003e] warn_slowpath_common+0x83/0x9b\n [\u003cffffffff8105185a\u003e] warn_slowpath_null+0x1a/0x1c\n [\u003cffffffff810ba362\u003e] __ftrace_hash_rec_update.part.27+0x157/0x1a7\n [\u003cffffffff810ba6e8\u003e] ? ftrace_regex_release+0xa7/0x10f\n [\u003cffffffff8111bdfe\u003e] ? kfree+0xe5/0x115\n [\u003cffffffff810ba51e\u003e] ftrace_hash_move+0x2e/0x151\n [\u003cffffffff810ba6fb\u003e] ftrace_regex_release+0xba/0x10f\n [\u003cffffffff8112e49a\u003e] fput+0xfd/0x1c2\n [\u003cffffffff8112b54c\u003e] filp_close+0x6d/0x78\n [\u003cffffffff8113a92d\u003e] sys_dup3+0x197/0x1c1\n [\u003cffffffff8113a9a6\u003e] sys_dup2+0x4f/0x54\n [\u003cffffffff8150cac2\u003e] system_call_fastpath+0x16/0x1b\n---[ end trace 77a3a7ee73794a02 ]---\n\nLink: http://lkml.kernel.org/r/20111101141420.GA4918@debian\n\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bbbf7af4bf8fc69bc751818cf30521080fa47dcb",
      "tree": "bbc986e2013cdfeb3b99bacc2f5326b787b7e410",
      "parents": [
        "c7c6ec8becaf742b223c7b491f4893014be23a07"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Oct 18 19:55:51 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:46 2011 -0500"
      },
      "message": "jump_label: jump_label_inc may return before the code is patched\n\nIf cpu A calls jump_label_inc() just after atomic_add_return() is\ncalled by cpu B, atomic_inc_not_zero() will return value greater then\nzero and jump_label_inc() will return to a caller before jump_label_update()\nfinishes its job on cpu B.\n\nLink: http://lkml.kernel.org/r/20111018175551.GH17571@redhat.com\n\nCc: stable@vger.kernel.org\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c7c6ec8becaf742b223c7b491f4893014be23a07",
      "tree": "1eb23e1dd22ef56b298bc2f207d5d4999a0731cf",
      "parents": [
        "27b14b56af081ec7edeefb3a38b2c9577cc5ef48"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 10:45:23 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:45 2011 -0500"
      },
      "message": "ftrace: Remove force undef config value left for testing\n\nA forced undef of a config value was used for testing and was\naccidently left in during the final commit. This causes x86 to\nrun slower than needed while running function tracing as well\nas causes the function graph selftest to fail when DYNMAIC_FTRACE\nis not set. This is because the code in MCOUNT expects the ftrace\ncode to be processed with the config value set that happened to\nbe forced not set.\n\nThe forced config option was left in by:\n    commit 6331c28c962561aee59e5a493b7556a4bb585957\n    ftrace: Fix dynamic selftest failure on some archs\n\nLink: http://lkml.kernel.org/r/20111102150255.GA6973@debian\n\nCc: stable@vger.kernel.org\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "27b14b56af081ec7edeefb3a38b2c9577cc5ef48",
      "tree": "841e01c8d64fdf08b88c8a76de3272b4630ed145",
      "parents": [
        "cb59974742aea24adf6637eb0c4b8e7b48bca6fb"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 01 09:09:35 2011 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:45 2011 -0500"
      },
      "message": "tracing: Restore system filter behavior\n\nThough not all events have field \u0027prev_pid\u0027, it was allowed to do this:\n\n  # echo \u0027prev_pid \u003d\u003d 100\u0027 \u003e events/sched/filter\n\nbut commit 75b8e98263fdb0bfbdeba60d4db463259f1fe8a2 (tracing/filter: Swap\nentire filter of events) broke it without any reason.\n\nLink: http://lkml.kernel.org/r/4EAF46CF.8040408@cn.fujitsu.com\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cb59974742aea24adf6637eb0c4b8e7b48bca6fb",
      "tree": "1f891849b3fa24d69c3517c3c3739964ecfb0ac9",
      "parents": [
        "dc440d10e1668b15fe704a23adb9b53fbbb24a44"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Mon Oct 31 11:07:42 2011 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:44 2011 -0500"
      },
      "message": "tracing: fix event_subsystem ref counting\n\nFix a bug introduced by e9dbfae5, which prevents event_subsystem from\never being released.\n\nRef_count was added to keep track of subsystem users, not for counting\nevents.  Subsystem is created with ref_count \u003d 1, so there is no need to\nincrement it for every event, we have nr_events for that.  Fix this by\ntouching ref_count only when we actually have a new user -\nsubsystem_open().\n\nCc: stable@vger.kernel.org\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1320052062-7846-1-git-send-email-idryomov@gmail.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "dc440d10e1668b15fe704a23adb9b53fbbb24a44",
      "tree": "badea13d8ad1464283d12d7e40c08e748b9209d7",
      "parents": [
        "2c3757e54e0d95f47bdc160fdc4f14849f3437cf",
        "d3d9acf646679c1981032b0985b386d12fccc60c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 14:34:00 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 14:34:00 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n"
    },
    {
      "commit": "10c6db110d0eb4466b59812c49088ab56218fc2e",
      "tree": "d1d4e8debcf7415df49ce691b4c3da7443919f11",
      "parents": [
        "16e5294e5f8303756a179cf218e37dfb9ed34417"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 26 02:47:31 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 09:33:03 2011 +0100"
      },
      "message": "perf: Fix loss of notification with multi-event\n\nWhen you do:\n        $ perf record -e cycles,cycles,cycles noploop 10\n\nYou expect about 10,000 samples for each event, i.e., 10s at\n1000samples/sec. However, this is not what\u0027s happening. You\nget much fewer samples, maybe 3700 samples/event:\n\n$ perf report -D | tail -15\nAggregated stats:\n           TOTAL events:      10998\n            MMAP events:         66\n            COMM events:          2\n          SAMPLE events:      10930\ncycles stats:\n           TOTAL events:       3644\n          SAMPLE events:       3644\ncycles stats:\n           TOTAL events:       3642\n          SAMPLE events:       3642\ncycles stats:\n           TOTAL events:       3644\n          SAMPLE events:       3644\n\nOn a Intel Nehalem or even AMD64, there are 4 counters capable\nof measuring cycles, so there is plenty of space to measure those\nevents without multiplexing (even with the NMI watchdog active).\nAnd even with multiplexing, we\u0027d expect roughly the same number\nof samples per event.\n\nThe root of the problem was that when the event that caused the buffer\nto become full was not the first event passed on the cmdline, the user\nnotification would get lost. The notification was sent to the file\ndescriptor of the overflowed event but the perf tool was not polling\non it.  The perf tool aggregates all samples into a single buffer,\ni.e., the buffer of the first event. Consequently, it assumes\nnotifications for any event will come via that descriptor.\n\nThe seemingly straight forward solution of moving the waitq into the\nringbuffer object doesn\u0027t work because of life-time issues. One could\nperf_event_set_output() on a fd that you\u0027re also blocking on and cause\nthe old rb object to be freed while its waitq would still be\nreferenced by the blocked thread -\u003e FAIL.\n\nTherefore link all events to the ringbuffer and broadcast the wakeup\nfrom the ringbuffer object to all possible events that could be waited\nupon. This is rather ugly, and we\u0027re open to better solutions but it\nworks for now.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nFinished-by: Stephane Eranian \u003ceranian@google.com\u003e\nReviewed-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111126014731.GA7030@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "de28f25e8244c7353abed8de0c7792f5f883588c",
      "tree": "03f94969b51c454f5da2b52cc311e510c28c2080",
      "parents": [
        "c1be84309c58b1e7c6d626e28fba41a22b364c3d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 16:02:45 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 16:07:23 2011 +0100"
      },
      "message": "clockevents: Set noop handler in clockevents_exchange_device()\n\nIf a device is shutdown, then there might be a pending interrupt,\nwhich will be processed after we reenable interrupts, which causes the\noriginal handler to be run. If the old handler is the (broadcast)\nperiodic handler the shutdown state might hang the kernel completely.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "c1be84309c58b1e7c6d626e28fba41a22b364c3d",
      "tree": "4d4db4e9ef8ceb5b762d4c2334e68b73858a1b07",
      "parents": [
        "b1f919664d04a8d0ba29cb76673c7ca3325a2006"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 12:34:16 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 16:06:54 2011 +0100"
      },
      "message": "tick-broadcast: Stop active broadcast device when replacing it\n\nWhen a better rated broadcast device is installed, then the current\nactive device is not disabled, which results in two running broadcast\ndevices.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "550acb19269d65f32e9ac4ddb26c2b2070e37f1c",
      "tree": "804925b363142e47a4a26f1afcfb8f9e302bed0e",
      "parents": [
        "b930c26416c4ea6855726fd977145ccea9afbdda"
      ],
      "author": {
        "name": "Ido Yariv",
        "email": "ido@wizery.com",
        "time": "Thu Dec 01 13:55:08 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 11:54:24 2011 +0100"
      },
      "message": "genirq: Fix race condition when stopping the irq thread\n\nIn irq_wait_for_interrupt(), the should_stop member is verified before\nsetting the task\u0027s state to TASK_INTERRUPTIBLE and calling schedule().\nIn case kthread_stop sets should_stop and wakes up the process after\nshould_stop is checked by the irq thread but before the task\u0027s state\nis changed, the irq thread might never exit:\n\nkthread_stop                    irq_wait_for_interrupt\n------------                    ----------------------\n\n                                 ...\n...                              while (!kthread_should_stop()) {\nkthread-\u003eshould_stop \u003d 1;\nwake_up_process(k);\nwait_for_completion(\u0026kthread-\u003eexited);\n...\n                                     set_current_state(TASK_INTERRUPTIBLE);\n\n                                     ...\n\n                                     schedule();\n                                 }\n\nFix this by checking if the thread should stop after modifying the\ntask\u0027s state.\n\n[ tglx: Simplified it a bit ]\n\nSigned-off-by: Ido Yariv \u003cido@wizery.com\u003e\nLink: http://lkml.kernel.org/r/1322740508-22640-1-git-send-email-ido@wizery.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d3d9acf646679c1981032b0985b386d12fccc60c",
      "tree": "68df9e100ae7304a1384160b5d1b068241f4d1fe",
      "parents": [
        "4a1dba72384193753e44e15d9d05a50be6587271"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 23 08:49:49 2011 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Dec 01 22:16:47 2011 -0500"
      },
      "message": "trace_events_filter: Use rcu_assign_pointer() when setting ftrace_event_call-\u003efilter\n\nftrace_event_call-\u003efilter is sched RCU protected but didn\u0027t use\nrcu_assign_pointer().  Use it.\n\nTODO: Add proper __rcu annotation to call-\u003efilter and all its users.\n\n-v2: Use RCU_INIT_POINTER() for %NULL clearing as suggested by Eric.\n\nLink: http://lkml.kernel.org/r/20111123164949.GA29639@google.com\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: stable@kernel.org # (2.6.39+)\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b1f919664d04a8d0ba29cb76673c7ca3325a2006",
      "tree": "eeaafc566a9023a794eaefcda8a5201ba7ffa9bc",
      "parents": [
        "6a8943d9ec2567572fca25cf69ad45844d0141a3"
      ],
      "author": {
        "name": "Yang Honggang (Joseph)",
        "email": "eagle.rtlinux@gmail.com",
        "time": "Thu Dec 01 22:22:41 2011 -0500"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Dec 01 15:50:00 2011 -0800"
      },
      "message": "clocksource: Fix bug with max_deferment margin calculation\n\nIn order to leave a margin of 12.5% we should \u003e\u003e 3 not \u003e\u003e 5.\n\nCC: stable@kernel.org\nSigned-off-by: Yang Honggang (Joseph) \u003ceagle.rtlinux@gmail.com\u003e\n[jstultz: Modified commit subject]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "8cd7920370a3715ccbd1c98bf33f172b8837dc0b",
      "tree": "6ee969f2a1e235ed37348f841c3f15a03cfdff1e",
      "parents": [
        "57db53b07429c0d648f48727dd6c7c2b64c5708d",
        "f7bc83d87d242917ca0ee041ed509f57f361dd56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 29 14:43:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 29 14:43:22 2011 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM: Update comments describing device power management callbacks\n  PM / Sleep: Update documentation related to system wakeup\n  PM / Runtime: Make documentation follow the new behavior of irq_safe\n  PM / Sleep: Correct inaccurate information in devices.txt\n  PM / Domains: Document how PM domains are used by the PM core\n  PM / Hibernate: Do not leak memory in error/test code paths\n"
    },
    {
      "commit": "a34815b96f9a21b3a2e2912dfd0d994acd2855e3",
      "tree": "e2e6ac428637059305d7c00274f0c034f0c82858",
      "parents": [
        "9b5a4d4f65e260a109eaeea8bbc8062a7c58b55e",
        "884a45d964dd395eda945842afff5e16bcaedf56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 13:55:59 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 13:55:59 2011 -0800"
      },
      "message": "Merge branch \u0027for-3.2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\n* \u0027for-3.2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup_freezer: fix freezing groups with stopped tasks\n"
    },
    {
      "commit": "c28800a9c3caaf387d85ac665a25ebe99e480295",
      "tree": "401ba805709a65a9f5c1919b3dc763c70b64b38f",
      "parents": [
        "ce8f55c2a0ff652480c12a4f1f22ff5ce15e3a22",
        "27c9cd7e601632b3794e1c3344d37b86917ffb43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:52 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:52 2011 -0800"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  hrtimer: Fix extra wakeups from __remove_hrtimer()\n  timekeeping: add arch_offset hook to ktime_get functions\n  clocksource: Avoid selecting mult values that might overflow when adjusted\n  time: Improve documentation of timekeeeping_adjust()\n"
    },
    {
      "commit": "ce8f55c2a0ff652480c12a4f1f22ff5ce15e3a22",
      "tree": "cba248174b2380106b93bb73bdf5de5368e1dca8",
      "parents": [
        "52553ddffad76ccf192d4dd9ce88d5818f57f62a",
        "2ed0e645f358c26f4f4a7aed56a9488db0020ad1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:32 2011 -0800"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Don\u0027t allow per cpu interrupts to be suspended\n"
    },
    {
      "commit": "52553ddffad76ccf192d4dd9ce88d5818f57f62a",
      "tree": "c455a00601de4deeb4d9cc759e8b527ca574293a",
      "parents": [
        "401d0069cb344f401bc9d264c31db55876ff78c0"
      ],
      "author": {
        "name": "Edward Donovan",
        "email": "edward.donovan@numble.net",
        "time": "Sun Nov 27 23:07:34 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 28 08:43:09 2011 -0800"
      },
      "message": "genirq: fix regression in irqfixup, irqpoll\n\nCommit fa27271bc8d2(\"genirq: Fixup poll handling\") introduced a\nregression that broke irqfixup/irqpoll for some hardware configurations.\n\nAmidst reorganizing \u0027try_one_irq\u0027, that patch removed a test that\nchecked for \u0027action-\u003ehandler\u0027 returning IRQ_HANDLED, before acting on\nthe interrupt.  Restoring this test back returns the functionality lost\nsince 2.6.39.  In the current set of tests, after \u0027action\u0027 is set, it\nmust precede \u0027!action-\u003enext\u0027 to take effect.\n\nWith this and my previous patch to irq/spurious.c, c75d720fca8a, all\nIRQ regressions that I have encountered are fixed.\n\nSigned-off-by: Edward Donovan \u003cedward.donovan@numble.net\u003e\nReported-and-tested-by: Rogério Brito \u003crbrito@ime.usp.br\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org (2.6.39+)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "884a45d964dd395eda945842afff5e16bcaedf56",
      "tree": "47a28f7231d65cff01f797ad1ad74e4a82a86839",
      "parents": [
        "860ca0e6f72d21ded33ce14be9a53eb103f88441"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Tue Nov 22 07:44:47 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Nov 24 11:58:22 2011 -0800"
      },
      "message": "cgroup_freezer: fix freezing groups with stopped tasks\n\n2d3cbf8b (cgroup_freezer: update_freezer_state() does incorrect state\ntransitions) removed is_task_frozen_enough and replaced it with a simple\nfrozen call. This, however, breaks freezing for a group with stopped tasks\nbecause those cannot be frozen and so the group remains in CGROUP_FREEZING\nstate (update_if_frozen doesn\u0027t count stopped tasks) and never reaches\nCGROUP_FROZEN.\n\nLet\u0027s add is_task_frozen_enough back and use it at the original locations\n(update_if_frozen and try_to_freeze_cgroup). Semantically we consider\nstopped tasks as frozen enough so we should consider both cases when\ntesting frozen tasks.\n\nTestcase:\nmkdir /dev/freezer\nmount -t cgroup -o freezer none /dev/freezer\nmkdir /dev/freezer/foo\nsleep 1h \u0026\npid\u003d$!\nkill -STOP $pid\necho $pid \u003e /dev/freezer/foo/tasks\necho FROZEN \u003e /dev/freezer/foo/freezer.state\nwhile true\ndo\n\tcat /dev/freezer/foo/freezer.state\n\t[ \"`cat /dev/freezer/foo/freezer.state`\" \u003d \"FROZEN\" ] \u0026\u0026 break\n\tsleep 1\ndone\necho OK\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tomasz Buchert \u003ctomasz.buchert@inria.fr\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "bb58dd5d1ffad6c2d21c69698ba766dad4ae54e6",
      "tree": "aedde5149df5e3eb8c217b90540222ee507d5e9e",
      "parents": [
        "f10cdea68b70bd85706baed0decab59618f9c353"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 22 23:08:10 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:03:38 2011 +0100"
      },
      "message": "PM / Hibernate: Do not leak memory in error/test code paths\n\nThe hibernation core code forgets to release memory preallocated\nfor hibernation if there\u0027s an error in its early stages or if test\nmodes causing hibernation_snapshot() to return early are used.  This\ncauses the system to be hardly usable, because the amount of\npreallocated memory is usually huge.  Fix this problem.\n\nReported-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "8ba8ed54de4dd79bb88ab6cd7dbf2e83d58d6d57",
      "tree": "d4d1c687f1b7f58783103b43a04618d8e4019bba",
      "parents": [
        "bbbc4791cd48ac12996e43c0033b504c79b53639",
        "468e6a20afaccb67e2a7d7f60d301f90e1c6f301"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 08:22:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 22 08:22:48 2011 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: remove vm_dirties and task-\u003edirties\n  writeback: hard throttle 1000+ dd on a slow USB stick\n  mm: Make task in balance_dirty_pages() killable\n"
    },
    {
      "commit": "2d360fcbd851b7f9f8c23b1c30b2f3c060fa43e6",
      "tree": "8228db95030b82921c90b95f353441946af3a677",
      "parents": [
        "a767835f6dc85277e40fbfe69a29c18817d6c00b",
        "501a708f18ef911328ffd39f39738b8a7862aa8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 20 14:33:02 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 20 14:33:02 2011 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:\n  PM / Suspend: Fix bug in suspend statistics update\n  PM / Hibernate: Fix the early termination of test modes\n  PM / shmobile: Fix build of sh7372_pm_init() for CONFIG_PM unset\n  PM Sleep: Do not extend wakeup paths to devices with ignore_children set\n  PM / driver core: disable device\u0027s runtime PM during shutdown\n  PM / devfreq: correct Kconfig dependency\n  PM / devfreq: fix use after free in devfreq_remove_device\n  PM / shmobile: Avoid restoring the INTCS state during initialization\n  PM / devfreq: Remove compiler error after irq.h update\n  PM / QoS: Properly use the WARN() macro in dev_pm_qos_add_request()\n  PM / Clocks: Only disable enabled clocks in pm_clk_suspend()\n  ARM: mach-shmobile: sh7372 A3SP no_suspend_console fix\n  PM / shmobile: Don\u0027t skip debugging output in pd_power_up()\n"
    },
    {
      "commit": "501a708f18ef911328ffd39f39738b8a7862aa8e",
      "tree": "f3adbf5979f9e714291cec5c2a893edbca16ba26",
      "parents": [
        "aa9a7b11821e883a7b93ecce190881e0ea48648b"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Sat Nov 19 14:37:57 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Nov 19 14:37:57 2011 +0100"
      },
      "message": "PM / Suspend: Fix bug in suspend statistics update\n\nAfter commit 2a77c46de1e3dace73745015635ebbc648eca69c\n(PM / Suspend: Add statistics debugfs file for suspend to RAM)\na missing pair of braces inside the state_store() function causes even\ninvalid arguments to suspend to be wrongly treated as failed suspend\nattempts. Fix this.\n\n[rjw: Put the hash/subject of the buggy commit into the changelog.]\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "27c9cd7e601632b3794e1c3344d37b86917ffb43",
      "tree": "dc6f3d9accdf9c7fd8fd80dd81ff2ed7e07304e7",
      "parents": [
        "d004e024058a0eaca097513ce62cbcf978913e0a"
      ],
      "author": {
        "name": "Jeff Ohlstein",
        "email": "johlstei@codeaurora.org",
        "time": "Fri Nov 18 15:47:10 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Nov 19 12:17:37 2011 +0100"
      },
      "message": "hrtimer: Fix extra wakeups from __remove_hrtimer()\n\n__remove_hrtimer() attempts to reprogram the clockevent device when\nthe timer being removed is the next to expire. However,\n__remove_hrtimer() reprograms the clockevent *before* removing the\ntimer from the timerqueue and thus when hrtimer_force_reprogram()\nfinds the next timer to expire it finds the timer we\u0027re trying to\nremove.\n\nThis is especially noticeable when the system switches to NOHz mode\nand the system tick is removed. The timer tick is removed from the\nsystem but the clockevent is programmed to wakeup in another HZ\nanyway.\n\nSilence the extra wakeup by removing the timer from the timerqueue\nbefore calling hrtimer_force_reprogram() so that we actually program\nthe clockevent for the next timer to expire.\n\nThis was broken by 998adc3 \"hrtimers: Convert hrtimers to use\ntimerlist infrastructure\".\n\nSigned-off-by: Jeff Ohlstein \u003cjohlstei@codeaurora.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1321660030-8520-1-git-send-email-johlstei@codeaurora.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aa9a7b11821e883a7b93ecce190881e0ea48648b",
      "tree": "b917fb563df2d27b95d6012afd9bf63237a7e3d5",
      "parents": [
        "88995e809f8a8115f30db24696c9137aad93d570"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Fri Nov 18 23:02:42 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 18 23:02:42 2011 +0100"
      },
      "message": "PM / Hibernate: Fix the early termination of test modes\n\nCommit 2aede851ddf08666f68ffc17be446420e9d2a056\n(PM / Hibernate: Freeze kernel threads after preallocating memory)\npostponed the freezing of kernel threads to after preallocating memory\nfor hibernation. But while doing that, the hibernation test TEST_FREEZER\nand the test mode HIBERNATION_TESTPROC were not moved accordingly.\n\nAs a result, when using these test modes, it only goes upto the freezing of\nuserspace and exits, when in fact it should go till the complete end of task\nfreezing stage, namely the freezing of kernel threads as well.\n\nSo, move these points of exit to appropriate places so that freezing of\nkernel threads is also tested while using these test harnesses.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d004e024058a0eaca097513ce62cbcf978913e0a",
      "tree": "94191734e099dd46b8998d813125efaa4a8a37d6",
      "parents": [
        "367177e50189ab0a983b52f3d3f7eb2a1927db71"
      ],
      "author": {
        "name": "Hector Palacios",
        "email": "hector.palacios@digi.com",
        "time": "Mon Nov 14 11:15:25 2011 +0100"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Nov 17 14:57:19 2011 -0800"
      },
      "message": "timekeeping: add arch_offset hook to ktime_get functions\n\nktime_get and ktime_get_ts were calling timekeeping_get_ns()\nbut later they were not calling arch_gettimeoffset() so architectures\nusing this mechanism returned 0 ns when calling these functions.\n\nThis happened for example when running Busybox\u0027s ping which calls\nsyscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts) which eventually\ncalls ktime_get. As a result the returned ping travel time was zero.\n\nCC: stable@kernel.org\nSigned-off-by: Hector Palacios \u003chector.palacios@digi.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "2ed0e645f358c26f4f4a7aed56a9488db0020ad1",
      "tree": "f8425da7c40d068d532cc53313eebdd3414e5047",
      "parents": [
        "aa1b052a34d7ec85b23f4fba564df24b9477201b"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Wed Nov 16 12:27:39 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 17 17:44:04 2011 +0100"
      },
      "message": "genirq: Don\u0027t allow per cpu interrupts to be suspended\n\nThe power management functions related to interrupts do not know\n(yet) about per-cpu interrupts and end up calling the wrong\nlow-level methods to enable/disable interrupts.\n\nThis leads to all kind of interesting issues (action taken on one\nCPU only, updating a refcount which is not used otherwise...).\n\nThe workaround for the time being is simply to flag these interrupts\nwith IRQF_NO_SUSPEND. At least on ARM, these interrupts are actually\ndealt with at the architecture level.\n\nReported-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nLink: http://lkml.kernel.org/r/1321446459-31409-1-git-send-email-marc.zyngier@arm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "aa1b052a34d7ec85b23f4fba564df24b9477201b",
      "tree": "904f0ede7a80b9c8e6e341bfb5d72b8731767d24",
      "parents": [
        "bd29e568a4cb6465f6e5ec7c1c1f3ae7d99cbec1",
        "c75d720fca8a91ce99196d33adea383621027bf2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 17 11:46:26 2011 -0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 17 11:46:26 2011 -0200"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Fix irqfixup, irqpoll regression\n"
    },
    {
      "commit": "468e6a20afaccb67e2a7d7f60d301f90e1c6f301",
      "tree": "5558e92e85decd0fa0bb95ed6e637e1f68ea2fe1",
      "parents": [
        "1df647197c5b8aacaeb58592cba9a1df322c9000"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Sep 07 10:41:32 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Thu Nov 17 20:49:06 2011 +0800"
      },
      "message": "writeback: remove vm_dirties and task-\u003edirties\n\nThey are not used any more.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "fccfdc6f0d8c83c854eeb6d93aa158f0e551bd49",
      "tree": "d3a397152c6bff8675350e58e2aceb4ec34c1108",
      "parents": [
        "4dcfe1025b513c2c1da5bf5586adb0e80148f612"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 07 20:26:34 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 16 08:43:45 2011 +0100"
      },
      "message": "sched: Fix buglet in return_cfs_rq_runtime()\n\nIn return_cfs_rq_runtime() we want to return bandwidth when there are no\nremaining tasks, not \"return\" when this is the case.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111108042736.623812423@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4dcfe1025b513c2c1da5bf5586adb0e80148f612",
      "tree": "1c0bf8ad4c09a3a618c471b6468873d8d8ed2117",
      "parents": [
        "f1c6f1a7eed963ed233ba4c8b6fa8addb86c6ddc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Nov 10 13:01:10 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 16 08:43:43 2011 +0100"
      },
      "message": "sched: Avoid SMT siblings in select_idle_sibling() if possible\n\nAvoid select_idle_sibling() from picking a sibling thread if there\u0027s\nan idle core that shares cache.\n\nThis fixes SMT balancing in the increasingly common case where there\u0027s\na shared cache core available to balance to.\n\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/1321350377.1421.55.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d5f003f5a964711853514b04ddc872eec0fdc7b",
      "tree": "6f3e912a02b50dc698f601c3a08453a781e7f754",
      "parents": [
        "57d1c0c03c6b48b2b96870d831b9ce6b917f53ac"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Oct 23 19:10:33 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 13:01:21 2011 +0100"
      },
      "message": "perf: Do not set task_ctx pointer in cpuctx if there are no events in the context\n\nDo not set task_ctx pointer during sched_in if there are no\nevents associated with the context.  Otherwise if during task\nexecution total number of events in the system will become zero\nperf_event_context_sched_out() will not be called and cpuctx-\u003etask_ctx\nwill be left with a stale value.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111023171033.GI17571@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f1c6f1a7eed963ed233ba4c8b6fa8addb86c6ddc",
      "tree": "06a00ecfe00ddadb282c88fb3408c158c08fd312",
      "parents": [
        "4a6184ce7a48c478dee0d8a9ed74c1fa35161858"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "C.Emde@osadl.org",
        "time": "Wed Oct 26 23:14:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:43 2011 +0100"
      },
      "message": "sched: Set the command name of the idle tasks in SMP kernels\n\nIn UP systems, the idle task is initialized using the init_task\nstructure from which the command name is taken (currently \"swapper\").\n\nIn SMP systems, one idle task per CPU is forked by the worker thread\nfrom which the task structure is copied. The command name is, therefore,\n\"kworker/0:0\" or \"kworker/0:1\", if not updated. Since such update was\nlacking, all idle tasks in SMP systems were incorrectly named. This\nlongtime bug was not discovered immediately, because there is no /proc/0\nentry - the bug only becomes apparent when tracing is enabled.\n\nThis patch sets the command name of the idle tasks in SMP systems to the\nname that is used in the INIT_TASK structure suffixed by a slash and the\nnumber of the CPU.\n\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111026211708.768925506@osadl.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a6184ce7a48c478dee0d8a9ed74c1fa35161858",
      "tree": "4b4b19673ade197de17614df11a2825410ca7baf",
      "parents": [
        "c6dc7f055d333ef35f397b8d7c3abcd1918bf8cb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 06 22:39:14 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:40 2011 +0100"
      },
      "message": "sched, rt: Provide means of disabling cross-cpu bandwidth sharing\n\nNormally the RT bandwidth scheme will share bandwidth across the\nentire root_domain. However sometimes its convenient to disable this\nsharing for debug purposes. Provide a simple feature switch to this\nend.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6dc7f055d333ef35f397b8d7c3abcd1918bf8cb",
      "tree": "c4edc4a84ba9636057d923a308e2a3bcd910fa63",
      "parents": [
        "461819ac8ee950ce027c72a066156a3df9e60c7e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Oct 06 15:22:46 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:37 2011 +0100"
      },
      "message": "sched: Document wait_for_completion_*() return values\n\nThe return-value convention for these functions varies depending on\nwhether they\u0027re interruptible or can timeout.  It can be a little\nconfusing--document it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111006192246.GB28026@fieldses.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "461819ac8ee950ce027c72a066156a3df9e60c7e",
      "tree": "56f6c312adfdf826e9d57b797a9e101b9ff3ab31",
      "parents": [
        "cf5f0acf3935c91379e709a71ecf68805d366659"
      ],
      "author": {
        "name": "Hui Kang",
        "email": "hkang.sunysb@gmail.com",
        "time": "Tue Oct 11 23:00:59 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:34 2011 +0100"
      },
      "message": "sched_fair: Fix a typo in the comment describing update_sd_lb_stats\n\nSigned-off-by: Hui Kang \u003chkang.sunysb@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1318388459-4427-1-git-send-email-hkang.sunysb@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf5f0acf3935c91379e709a71ecf68805d366659",
      "tree": "66bbd968ec8031c33e7134b6c7f9387c796d6873",
      "parents": [
        "7f80850d3f9fd8fda23a317044aef3a6bafab06b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 13 16:52:28 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:32 2011 +0100"
      },
      "message": "sched: Add a comment to effective_load() since it\u0027s a pain\n\nEvery time I have to stare at this function I need to completely\nreverse engineer its workings, about time I write a comment\nexplaining the thing.\n\nCollected bits and pieces from previous changelogs, mostly:\n\n  4be9daaa1b33701f011f4117f22dc1e45a3e6e34\n  83378269a5fad98f562ebc0f09c349575e6cbfe1\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1318518057.27731.2.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "367177e50189ab0a983b52f3d3f7eb2a1927db71",
      "tree": "fed5e93eb35d002e21cb3c2fafbfe38062aaa266",
      "parents": [
        "c2bc11113c50449f23c40b724fe410fc2380a8e9",
        "d65670a78cdbfae94f20a9e05ec705871d7cdf2b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:10:42 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:10:42 2011 +0100"
      },
      "message": "Merge branch \u0027formingo/3.2/tip/timers/core\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n\nConflicts:\n\tkernel/time/timekeeping.c\n"
    },
    {
      "commit": "d65670a78cdbfae94f20a9e05ec705871d7cdf2b",
      "tree": "3c16dedb75fa5ab6c0fdc072cc8d73df01d43a17",
      "parents": [
        "e35f95b36e43f67a6f806172555a152c11ea0a78"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Oct 31 17:06:35 2011 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Nov 10 11:27:08 2011 -0800"
      },
      "message": "clocksource: Avoid selecting mult values that might overflow when adjusted\n\nFor some frequencies, the clocks_calc_mult_shift() function will\nunfortunately select mult values very close to 0xffffffff.  This\nhas the potential to overflow when NTP adjusts the clock, adding\nto the mult value.\n\nThis patch adds a clocksource.maxadj value, which provides\nan approximation of an 11% adjustment(NTP limits adjustments to\n500ppm and the tick adjustment is limited to 10%), which could\nbe made to the clocksource.mult value. This is then used to both\ncheck that the current mult value won\u0027t overflow/underflow, as\nwell as warning us if the timekeeping_adjust() code pushes over\nthat 11% boundary.\n\nv2: Fix max_adjustment calculation, and improve WARN_ONCE\nmessages.\n\nv3: Don\u0027t warn before maxadj has actually been set\n\nCC: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCC: David Daney \u003cddaney.cavm@gmail.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Chen Jie \u003cchenj@lemote.com\u003e\nCC: zhangfx \u003czhangfx@lemote.com\u003e\nCC: stable@kernel.org\nReported-by: Chen Jie \u003cchenj@lemote.com\u003e\nReported-by: zhangfx \u003czhangfx@lemote.com\u003e\nTested-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "a6f05b97d1ba87326bd96f3da9fef994830d6994",
      "tree": "d3e4aa1f3d0691c45842b49338d2fce8e74a43e7",
      "parents": [
        "94956eed14b4b16d401c8ad36d68df0608f968cb"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Sun Nov 06 21:54:12 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 07 23:02:24 2011 +0100"
      },
      "message": "PM / QoS: Set cpu_dma_pm_qos-\u003ename\n\nSince commit 4a31a334, the name of this misc device is not initialized,\nwhich leads to a funny device named /dev/(null) being created and\n/proc/misc containing an entry with just a number but no name. The latter\nleads to complaints by cryptsetup, which caused me to investigate this\nmatter.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b32fc0a0629bf5894b35f33554c118aacfd0d1e2",
      "tree": "5d6aaa9a35b7fa63681adab91da3b3dec5276f84",
      "parents": [
        "403299a8515c56db58454c57712f4dc96d6c1fde",
        "97ce2c88f9ad42e3c60a9beb9fca87abf3639faa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 20:20:46 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 20:20:46 2011 -0800"
      },
      "message": "Merge branch \u0027upstream/jump-label-noearly\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen\n\n* \u0027upstream/jump-label-noearly\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:\n  jump-label: initialize jump-label subsystem much earlier\n  x86/jump_label: add arch_jump_label_transform_static()\n  s390/jump-label: add arch_jump_label_transform_static()\n  jump_label: add arch_jump_label_transform_static() to optimise non-live code updates\n  sparc/jump_label: drop arch_jump_label_text_poke_early()\n  x86/jump_label: drop arch_jump_label_text_poke_early()\n  jump_label: if a key has already been initialized, don\u0027t nop it out\n  stop_machine: make stop_machine safe and efficient to call early\n  jump_label: use proper atomic_t initializer\n\nConflicts:\n - arch/x86/kernel/jump_label.c\n\tAdded __init_or_module to arch_jump_label_text_poke_early vs\n\tremoval of that function entirely\n - kernel/stop_machine.c\n\tsame patch (\"stop_machine: make stop_machine safe and efficient\n\tto call early\") merged twice, with whitespace fix in one version\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "208bca0860406d16398145ddd950036a737c3c9d",
      "tree": "7797a16c17d8bd155120126fa7976727fc6de013",
      "parents": [
        "6aad3738f6a79fd0ca480eaceefe064cc471f6eb",
        "0e175a1835ffc979e55787774e58ec79e41957d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:02:23 2011 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Add a \u0027reason\u0027 to wb_writeback_work\n  writeback: send work item to queue_io, move_expired_inodes\n  writeback: trace event balance_dirty_pages\n  writeback: trace event bdi_dirty_ratelimit\n  writeback: fix ppc compile warnings on do_div(long long, unsigned long)\n  writeback: per-bdi background threshold\n  writeback: dirty position control - bdi reserve area\n  writeback: control dirty pause time\n  writeback: limit max dirty pause time\n  writeback: IO-less balance_dirty_pages()\n  writeback: per task dirty rate limit\n  writeback: stabilize bdi-\u003edirty_ratelimit\n  writeback: dirty rate control\n  writeback: add bg_threshold parameter to __bdi_update_bandwidth()\n  writeback: dirty position control\n  writeback: account per-bdi accumulated dirtied pages\n"
    },
    {
      "commit": "d4a2e61f0b7a7b5b9e321e776a1e874c02e847e4",
      "tree": "d90b71a99cb82809d56f9798f59d175b57562803",
      "parents": [
        "0e4c9dc2f2e0fb6d3838eba34382fc6d2d1c381c",
        "2449b8ba0745327c5fa49a8d9acffe03b2eded69"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:28:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:28:32 2011 -0800"
      },
      "message": "Merge git://github.com/rustyrussell/linux\n\n* git://github.com/rustyrussell/linux:\n  module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree\n  module: Enable dynamic debugging regardless of taint\n"
    },
    {
      "commit": "1197ab2942f920f261952de0c392ac749a35796b",
      "tree": "4922ccc8a6061e5ece6ac7420001f3bf4524ea92",
      "parents": [
        "ec773e99ab4abce07b1ae23117179c2861831964",
        "96cc017c5b7ec095ef047d3c1952b6b6bbf98943"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:12:03 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:12:03 2011 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (106 commits)\n  powerpc/p3060qds: Add support for P3060QDS board\n  powerpc/83xx: Add shutdown request support to MCU handling on MPC8349 MITX\n  powerpc/85xx: Make kexec to interate over online cpus\n  powerpc/fsl_booke: Fix comment in head_fsl_booke.S\n  powerpc/85xx: issue 15 EOI after core reset for FSL CoreNet devices\n  powerpc/8xxx: Fix interrupt handling in MPC8xxx GPIO driver\n  powerpc/85xx: Add \u0027fsl,pq3-gpio\u0027 compatiable for GPIO driver\n  powerpc/86xx: Correct Gianfar support for GE boards\n  powerpc/cpm: Clear muram before it is in use.\n  drivers/virt: add ioctl for 32-bit compat on 64-bit to fsl-hv-manager\n  powerpc/fsl_msi: add support for \"msi-address-64\" property\n  powerpc/85xx: Setup secondary cores PIR with hard SMP id\n  powerpc/fsl-booke: Fix settlbcam for 64-bit\n  powerpc/85xx: Adding DCSR node to dtsi device trees\n  powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards\n  powerpc/85xx: fix PHYS_64BIT selection for P1022DS\n  powerpc/fsl-booke: Fix setup_initial_memory_limit to not blindly map\n  powerpc: respect mem\u003d setting for early memory limit setup\n  powerpc: Update corenet64_smp_defconfig\n  powerpc: Update mpc85xx/corenet 32-bit defconfigs\n  ...\n\nFix up trivial conflicts in:\n - arch/powerpc/configs/40x/hcu4_defconfig\n\tremoved stale file, edited elsewhere\n - arch/powerpc/include/asm/udbg.h, arch/powerpc/kernel/udbg.c:\n\tadded opal and gelic drivers vs added ePAPR driver\n - drivers/tty/serial/8250.c\n\tmoved UPIO_TSI to powerpc vs removed UPIO_DWAPB support\n"
    },
    {
      "commit": "2449b8ba0745327c5fa49a8d9acffe03b2eded69",
      "tree": "48e11288635dcfc8cdb342f3ba00fa2a2a650aa8",
      "parents": [
        "1cd0d6c3021c8d76641b37203f504634b87fbabc"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Mon Oct 24 15:12:28 2011 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 07 07:54:42 2011 +1030"
      },
      "message": "module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree\n\nUse of the GPL or a compatible licence doesn\u0027t necessarily make the code\nany good.  We already consider staging modules to be suspect, and this\nshould also be true for out-of-tree modules which may receive very\nlittle review.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nReviewed-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (patched oops-tracing.txt)\n"
    },
    {
      "commit": "1cd0d6c3021c8d76641b37203f504634b87fbabc",
      "tree": "e58051cdb845375c13c22bfa38db0b6fc2c71977",
      "parents": [
        "43672a0784707d795556b1f93925da8b8e797d03"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Nov 01 03:59:33 2011 +0000"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Nov 07 07:54:40 2011 +1030"
      },
      "message": "module: Enable dynamic debugging regardless of taint\n\nDynamic debugging is currently disabled for tainted modules, except\nfor TAINT_CRAP.  This prevents use of dynamic debugging for\nout-of-tree modules once the next patch is applied.\n\nThis condition was apparently intended to avoid a crash if a force-\nloaded module has an incompatible definition of dynamic debug\nstructures.  However, a administrator that forces us to load a module\nis claiming that it *is* compatible even though it fails our version\nchecks.  If they are mistaken, there are any number of ways the module\ncould crash the system.\n\nAs a side-effect, proprietary and other tainted modules can now use\ndynamic_debug.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "d6cc76856d353a3a9c43bead33210b9216dce332",
      "tree": "06d072db1e4672ef595a1e8f411f7bd4b8e63866",
      "parents": [
        "6f35c4abd7f0294166a5e0ab0401fe7949b33034"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 04 01:04:52 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 04 22:28:15 2011 +0100"
      },
      "message": "PM / Freezer: Revert 27920651fe \"PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too\"\n\nCommit 27920651fe \"PM / Freezer: Make fake_signal_wake_up() wake\nTASK_KILLABLE tasks too\" updated fake_signal_wake_up() used by freezer\nto wake up KILLABLE tasks.  Sending unsolicited wakeups to tasks in\nkillable sleep is dangerous as there are code paths which depend on\ntasks not waking up spuriously from KILLABLE sleep.\n\nFor example. sys_read() or page can sleep in TASK_KILLABLE assuming\nthat wait/down/whatever _killable can only fail if we can not return\nto the usermode.  TASK_TRACED is another obvious example.\n\nThe previous patch updated wait_event_freezekillable() such that it\ndoesn\u0027t depend on the spurious wakeup.  This patch reverts the\noffending commit.\n\nNote that the spurious KILLABLE wakeup had other implicit effects in\nKILLABLE sleeps in nfs and cifs and those will need further updates to\nregain freezekillable behavior.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "6513fd6972f725291ee8ce62c7a39fb8a6c7391e",
      "tree": "d5fd2722e3f1299f3b71b917fa1287e302f2df76",
      "parents": [
        "a96d69d1b02c4a526bd8c07e0cb10c129025c88c"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Thu Nov 03 10:12:36 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 04 22:28:14 2011 +0100"
      },
      "message": "PM / QoS: Remove redundant check\n\nRemove an \"if\" check, that repeats an equivalent one 6 lines above.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "79cfbdfa87e84992d509e6c1648a18e1d7e68c20",
      "tree": "cc82be9bc890aa0b2b635ceff06db2ed9056460d",
      "parents": [
        "ddf6ce45a7b1193f3cf20ad234f35af3b998b8f8"
      ],
      "author": {
        "name": "Srivatsa S. Bhat",
        "email": "srivatsa.bhat@linux.vnet.ibm.com",
        "time": "Thu Nov 03 00:59:25 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Nov 04 22:28:09 2011 +0100"
      },
      "message": "PM / Sleep: Fix race between CPU hotplug and freezer\n\nThe CPU hotplug notifications sent out by the _cpu_up() and _cpu_down()\nfunctions depend on the value of the \u0027tasks_frozen\u0027 argument passed to them\n(which indicates whether tasks have been frozen or not).\n(Examples for such CPU hotplug notifications: CPU_ONLINE, CPU_ONLINE_FROZEN,\nCPU_DEAD, CPU_DEAD_FROZEN).\n\nThus, it is essential that while the callbacks for those notifications are\nrunning, the state of the system with respect to the tasks being frozen or\nnot remains unchanged, *throughout that duration*. Hence there is a need for\nsynchronizing the CPU hotplug code with the freezer subsystem.\n\nSince the freezer is involved only in the Suspend/Hibernate call paths, this\npatch hooks the CPU hotplug code to the suspend/hibernate notifiers\nPM_[SUSPEND|HIBERNATE]_PREPARE and PM_POST_[SUSPEND|HIBERNATE] to prevent\nthe race between CPU hotplug and freezer, thus ensuring that CPU hotplug\nnotifications will always be run with the state of the system really being\nwhat the notifications indicate, _throughout_ their execution time.\n\nSigned-off-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4536e4d1d21c8172402a2217b0fa1880665ace36",
      "tree": "0bcf19fda146cb4afbdd6487218fb6ac16b80fcd",
      "parents": [
        "43672a0784707d795556b1f93925da8b8e797d03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 03 07:44:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 03 07:44:04 2011 -0700"
      },
      "message": "Revert \"perf: Add PM notifiers to fix CPU hotplug races\"\n\nThis reverts commit 144060fee07e9c22e179d00819c83c86fbcbf82c.\n\nIt causes a resume regression for Andi on his Acer Aspire 1830T post\n3.1.  The screen just stays black after wakeup.\n\nAlso, it really looks like the wrong way to suspend and resume perf\nevents: I think they should be done as part of the CPU suspend and\nresume, rather than as a notifier that does smp_call_function().\n\nReported-by: Andi Kleen \u003candi@firstfloor.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c75d720fca8a91ce99196d33adea383621027bf2",
      "tree": "8b5f2605c4bbd61f2cc43f37a163b60d073433cd",
      "parents": [
        "c3b92c8787367a8bb53d57d9789b558f1295cc96"
      ],
      "author": {
        "name": "Edward Donovan",
        "email": "edward.donovan@numble.net",
        "time": "Tue Nov 01 15:29:44 2011 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 03 13:12:39 2011 +0100"
      },
      "message": "genirq: Fix irqfixup, irqpoll regression\n\ncommit d05c65fff0 (\"genirq: spurious: Run only one poller at a time\")\nintroduced a regression, leaving the boot options \u0027irqfixup\u0027 and\n\u0027irqpoll\u0027 non-functional. The patch placed tests in each function, to\nexit if the function is already running. The test in \u0027misrouted_irq\u0027\nexited when it should have proceeded, effectively disabling\n\u0027misrouted_irq\u0027 and \u0027poll_spurious_irqs\u0027.\n\nThe check for an already running poller needs to be \"!\u003d 1\" not \"\u003d\u003d 1\"\nas \"1\" is the value when the first poller starts running.\n\nSigned-off-by: Edward Donovan \u003cedward.donovan@numble.net\u003e\nCc: maciej.rutecki@gmail.com\nLink: http://lkml.kernel.org/r/1320175784-6745-1-git-send-email-edward.donovan@numble.net\nCc: stable@vger.kernel.org # \u003e\u003d 2.6.39\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c1e2ee2dc436574880758b3836fc96935b774c32",
      "tree": "aa496a9ba20e06749194faa4dbb14b6046e6b06b",
      "parents": [
        "080d676de095a14ecba14c0b9a91acb5bbb634df"
      ],
      "author": {
        "name": "Andrew Bresticker",
        "email": "abrestic@google.com",
        "time": "Wed Nov 02 13:40:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:03 2011 -0700"
      },
      "message": "memcg: replace ss-\u003eid_lock with a rwlock\n\nWhile back-porting Johannes Weiner\u0027s patch \"mm: memcg-aware global\nreclaim\" for an internal effort, we noticed a significant performance\nregression during page-reclaim heavy workloads due to high contention of\nthe ss-\u003eid_lock.  This lock protects idr map, and serializes calls to\nidr_get_next() in css_get_next() (which is used during the memcg hierarchy\nwalk).\n\nSince idr_get_next() is just doing a look up, we need only serialize it\nwith respect to idr_remove()/idr_get_new().  By making the ss-\u003eid_lock a\nrwlock, contention is greatly reduced and performance improves.\n\nTested: cat a 256m file from a ramdisk in a 128m container 50 times on\neach core (one file + container per core) in parallel on a NUMA machine.\nResult is the time for the test to complete in 1 of the containers.\nBoth kernels included Johannes\u0027 memcg-aware global reclaim patches.\n\nBefore rwlock patch: 1710.778s\nAfter rwlock patch: 152.227s\n\nSigned-off-by: Andrew Bresticker \u003cabrestic@google.com\u003e\nCc: Paul Menage \u003cmenage@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1ecf06854a66ee663f4d4cf029c78cd62a15e04",
      "tree": "cbe863057fa14b9390746db6d2b1812a2f874b48",
      "parents": [
        "088024b1deee206cd37eff980138e918837aabdb"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Nov 02 13:39:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:02 2011 -0700"
      },
      "message": "sysctl: add support for poll()\n\nAdding support for poll() in sysctl fs allows userspace to receive\nnotifications of changes in sysctl entries.  This adds a infrastructure to\nallow files in sysctl fs to be pollable and implements it for hostname and\ndomainname.\n\n[akpm@linux-foundation.org: s/declare/define/ for definitions]\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89e8a244b97e48f1f30e898b6f32acca477f2a13",
      "tree": "01d55ac07b57d8afaecd1a6871c5b5d6a7151586",
      "parents": [
        "61600f578fbd2e8ad0c90bddb9c729e7628d3813"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed Nov 02 13:38:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:00 2011 -0700"
      },
      "message": "cpusets: avoid looping when storing to mems_allowed if one node remains set\n\n{get,put}_mems_allowed() exist so that general kernel code may locklessly\naccess a task\u0027s set of allowable nodes without having the chance that a\nconcurrent write will cause the nodemask to be empty on configurations\nwhere MAX_NUMNODES \u003e BITS_PER_LONG.\n\nThis could incur a significant delay, however, especially in low memory\nconditions because the page allocator is blocking and reclaim requires\nget_mems_allowed() itself.  It is not atypical to see writes to\ncpuset.mems take over 2 seconds to complete, for example.  In low memory\nconditions, this is problematic because it\u0027s one of the most imporant\ntimes to change cpuset.mems in the first place!\n\nThe only way a task\u0027s set of allowable nodes may change is through cpusets\nby writing to cpuset.mems and when attaching a task to a generic code is\nnot reading the nodemask with get_mems_allowed() at the same time, and\nthen clearing all the old nodes.  This prevents the possibility that a\nreader will see an empty nodemask at the same time the writer is storing a\nnew nodemask.\n\nIf at least one node remains unchanged, though, it\u0027s possible to simply\nset all new nodes and then clear all the old nodes.  Changing a task\u0027s\nnodemask is protected by cgroup_mutex so it\u0027s guaranteed that two threads\nare not changing the same task\u0027s nodemask at the same time, so the\nnodemask is guaranteed to be stored before another thread changes it and\ndetermines whether a node remains set or not.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77ceab8ea590d7dc6c8f055ce43dfebd74428107",
      "tree": "b2ef5e5baca4579565ab9bf527e965dd9b93a25a",
      "parents": [
        "33ef6b6984403a688189317ef46bb3caab3b70e0"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Nov 02 13:38:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:06:59 2011 -0700"
      },
      "message": "cgroups: don\u0027t attach task to subsystem if migration failed\n\nIf a task has exited to the point it has called cgroup_exit() already,\nthen we can\u0027t migrate it to another cgroup anymore.\n\nThis can happen when we are attaching a task to a new cgroup between the\ncall to -\u003ecan_attach_task() on subsystems and the migration that is\neventually tried in cgroup_task_migrate().\n\nIn this case cgroup_task_migrate() returns -ESRCH and we don\u0027t want to\nattach the task to the subsystems because the attachment to the new cgroup\nitself failed.\n\nFix this by only calling -\u003eattach_task() on the subsystems if the cgroup\nmigration succeeded.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33ef6b6984403a688189317ef46bb3caab3b70e0",
      "tree": "43dff6dd0150b34ce69b1d681c92659c9b20eb5c",
      "parents": [
        "434a964daa14b9db083ce20404a4a2add54d037a"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Wed Nov 02 13:38:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:06:59 2011 -0700"
      },
      "message": "cgroups: more safe tasklist locking in cgroup_attach_proc\n\nFix unstable tasklist locking in cgroup_attach_proc.\n\nAccording to this thread - https://lkml.org/lkml/2011/7/27/243 - RCU is\nnot sufficient to guarantee the tasklist is stable w.r.t.  de_thread and\nexit.  Taking tasklist_lock for reading, instead of rcu_read_lock, ensures\nproper exclusion.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nAcked-by: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "367069f16e32e188d4687fe2c3e30f2ca583836f",
      "tree": "977f87038b75e53af9d132cba2f7a2aecb2fa005",
      "parents": [
        "81a3c10ce8a7fd5bf9a06bfc38bd417512911831",
        "c72dbae971400e466ad9ff16c920cd6d9d8c55a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 21:02:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 21:02:35 2011 -0700"
      },
      "message": "Merge branch \u0027next/dt\u0027 of git://git.linaro.org/people/arnd/arm-soc\n\n* \u0027next/dt\u0027 of git://git.linaro.org/people/arnd/arm-soc:\n  ARM: gic: use module.h instead of export.h\n  ARM: gic: fix irq_alloc_descs handling for sparse irq\n  ARM: gic: add OF based initialization\n  ARM: gic: add irq_domain support\n  irq: support domains with non-zero hwirq base\n  of/irq: introduce of_irq_init\n  ARM: at91: add at91sam9g20 and Calao USB A9G20 DT support\n  ARM: at91: dt: at91sam9g45 family and board device tree files\n  arm/mx5: add device tree support for imx51 babbage\n  arm/mx5: add device tree support for imx53 boards\n  ARM: msm: Add devicetree support for msm8660-surf\n  msm_serial: Add devicetree support\n  msm_serial: Use relative resources for iomem\n\nFix up conflicts in arch/arm/mach-at91/{at91sam9260.c,at91sam9g45.c}\n"
    },
    {
      "commit": "094803e0aab3fe75bbf8202a8f4b5280eaade375",
      "tree": "278528ca9245a767fcfcfa97d977bd5714c082fd",
      "parents": [
        "32087d4eeca14b82660dab288b1d659963b954bd",
        "d8805e633e054c816c47cb6e727c81f156d9253d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:46:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:46:07 2011 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s incoming)\n\nQuoth Andrew:\n\n - Most of MM.  Still waiting for the poweroc guys to get off their\n   butts and review some threaded hugepages patches.\n\n - alpha\n\n - vfs bits\n\n - drivers/misc\n\n - a few core kerenl tweaks\n\n - printk() features\n\n - MAINTAINERS updates\n\n - backlight merge\n\n - leds merge\n\n - various lib/ updates\n\n - checkpatch updates\n\n* akpm: (127 commits)\n  epoll: fix spurious lockdep warnings\n  checkpatch: add a --strict check for utf-8 in commit logs\n  kernel.h/checkpatch: mark strict_strto\u003cfoo\u003e and simple_strto\u003cfoo\u003e as obsolete\n  llist-return-whether-list-is-empty-before-adding-in-llist_add-fix\n  wireless: at76c50x: follow rename pack_hex_byte to hex_byte_pack\n  fat: follow rename pack_hex_byte() to hex_byte_pack()\n  security: follow rename pack_hex_byte() to hex_byte_pack()\n  kgdb: follow rename pack_hex_byte() to hex_byte_pack()\n  lib: rename pack_hex_byte() to hex_byte_pack()\n  lib/string.c: fix strim() semantics for strings that have only blanks\n  lib/idr.c: fix comment for ida_get_new_above()\n  lib/percpu_counter.c: enclose hotplug only variables in hotplug ifdef\n  lib/bitmap.c: quiet sparse noise about address space\n  lib/spinlock_debug.c: print owner on spinlock lockup\n  lib/kstrtox: common code between kstrto*() and simple_strto*() functions\n  drivers/leds/leds-lp5521.c: check if reset is successful\n  leds: turn the blink_timer off before starting to blink\n  leds: save the delay values after a successful call to blink_set()\n  drivers/leds/leds-gpio.c: use gpio_get_value_cansleep() when initializing\n  drivers/leds/leds-lm3530.c: add __devexit_p where needed\n  ...\n"
    },
    {
      "commit": "50e1499f468fd74c6db95deb2e1e6bfee578ae70",
      "tree": "0b34eb53c9b164cd2f3562cdef1207b814ac26d8",
      "parents": [
        "55036ba76b2d2fd53b5c00993fcec5ed56e83922"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Oct 31 17:12:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:56 2011 -0700"
      },
      "message": "kgdb: follow rename pack_hex_byte() to hex_byte_pack()\n\nThere is no functional change.\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae29bc92da01a2e9d278a9a58c3b307d41cc0254",
      "tree": "7709a1afd9f2089b3f9c13ed3086f5ef1fc5a088",
      "parents": [
        "48e41899e4a3592746e5263c14681bf5c1393563"
      ],
      "author": {
        "name": "William Douglas",
        "email": "william.r.douglas@gmail.com",
        "time": "Mon Oct 31 17:11:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "printk: remove bounds checking for log_prefix\n\nCurrently log_prefix is testing that the first character of the log level\nand facility is less than \u00270\u0027 and greater than \u00279\u0027 (which is always\nfalse).\n\nSince the code being updated works because strtoul bombs out (endp isn\u0027t\nupdated) and 0 is returned anyway just remove the check and don\u0027t change\nthe behavior of the function.\n\nSigned-off-by: William Douglas \u003cwilliam.douglas@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48e41899e4a3592746e5263c14681bf5c1393563",
      "tree": "8d575fa52f27f63353fb0f3179b77c9e2172a69b",
      "parents": [
        "134620f7a865b3bc9e3d56d460603592b70ede21"
      ],
      "author": {
        "name": "William Douglas",
        "email": "william.r.douglas@gmail.com",
        "time": "Mon Oct 31 17:11:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "printk: fix bounds checking for log_prefix\n\nCurrently log_prefix is testing that the first character of the log level\nand facility is less than \u00270\u0027 and greater than \u00279\u0027 (which is always\nfalse).  It should be testing to see if the character less than \u00270\u0027 or\ngreater than \u00279\u0027 instead.  This patch makes that change.\n\nThe code being changed worked because strtoul bombs out (endp isn\u0027t\nupdated) and 0 is returned anyway.\n\nSigned-off-by: William Douglas \u003cwilliam.douglas@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "134620f7a865b3bc9e3d56d460603592b70ede21",
      "tree": "82d455ffba5417b731d0283c6593e101dfb625ac",
      "parents": [
        "0eca6b7c78fd997e02bd9850e608102382b7822e"
      ],
      "author": {
        "name": "Yanmin Zhang",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Mon Oct 31 17:11:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "printk: add console_suspend module parameter\n\nWe are enabling some power features on medfield.  To test suspend-2-RAM\nconveniently, we need turn on/off console_suspend_enabled frequently.\n\nAdd a module parameter, so users could change it by:\n/sys/module/printk/parameters/console_suspend\n\nSigned-off-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0eca6b7c78fd997e02bd9850e608102382b7822e",
      "tree": "39dd9b7b952da5560f4addb3df3e1f907b345d2e",
      "parents": [
        "73efc0394e148d0e15583e13712637831f926720"
      ],
      "author": {
        "name": "Yanmin Zhang",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Mon Oct 31 17:11:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "printk: add module parameter ignore_loglevel to control ignore_loglevel\n\nWe are enabling some power features on medfield.  To test suspend-2-RAM\nconveniently, we need turn on/off ignore_loglevel frequently without\nrebooting.\n\nAdd a module parameter, so users can change it by:\n/sys/module/printk/parameters/ignore_loglevel\n\nSigned-off-by: Yanmin Zhang \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73efc0394e148d0e15583e13712637831f926720",
      "tree": "896c58a85f520bcccae4f16647cfb0f1ecd2c08e",
      "parents": [
        "4ff819515b203f937cc6c8a0215a37a68d1ee71f"
      ],
      "author": {
        "name": "Dan Ballard",
        "email": "dan@mindstab.net",
        "time": "Mon Oct 31 17:11:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "kernel/sysctl.c: add cap_last_cap to /proc/sys/kernel\n\nUserspace needs to know the highest valid capability of the running\nkernel, which right now cannot reliably be retrieved from the header files\nonly.  The fact that this value cannot be determined properly right now\ncreates various problems for libraries compiled on newer header files\nwhich are run on older kernels.  They assume capabilities are available\nwhich actually aren\u0027t.  libcap-ng is one example.  And we ran into the\nsame problem with systemd too.\n\nNow the capability is exported in /proc/sys/kernel/cap_last_cap.\n\n[akpm@linux-foundation.org: make cap_last_cap const, per Ulrich]\nSigned-off-by: Dan Ballard \u003cdan@mindstab.net\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Lennart Poettering \u003clennart@poettering.net\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Ulrich Drepper \u003cdrepper@akkadia.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ff819515b203f937cc6c8a0215a37a68d1ee71f",
      "tree": "c36dfe5aea5dc973d2f50b38584b6e39babc354c",
      "parents": [
        "f445027e4e692bd885118460b292d08027fd5501"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Mon Oct 31 17:11:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "watchdog: move watchdog_*_all_cpus under CONFIG_SYSCTL\n\nFix compilation warnings for CONFIG_SYSCTL\u003dn:\n\nfixed compilation warnings in case of disabled CONFIG_SYSCTL\nkernel/watchdog.c:483:13: warning: `watchdog_enable_all_cpus\u0027 defined but not used\nkernel/watchdog.c:500:13: warning: `watchdog_disable_all_cpus\u0027 defined but not used\n\nthese functions are static and are used only in sysctl handler, so move\nthem inside #ifdef CONFIG_SYSCTL too\n\nSigned-off-by: Vasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f445027e4e692bd885118460b292d08027fd5501",
      "tree": "e7791443970d45ffede0f23018676d508a1f1149",
      "parents": [
        "aaaa287b89a09f22573dc57fcbb6a7dc7d25c8ed"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy.fitzhardinge@citrix.com",
        "time": "Mon Oct 31 17:11:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "stop_machine: make stop_machine safe and efficient to call early\n\nMake stop_machine() safe to call early in boot, before SMP has been set\nup, by simply calling the callback function directly if there\u0027s only one\nCPU online.\n\n[ Fixes from AKPM:\n   - add comment\n   - local_irq_flags, not save_flags\n   - also call hard_irq_disable() for systems which need it\n\n  Tejun suggested using an explicit flag rather than just looking at\n  the online cpu count. ]\n\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: H. Peter Anvin \u003chpa@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc3e53f682d93df677dbd5006a404722b3adfe18",
      "tree": "f386c29f13626e2b7d98d5a52525a78a9b59e447",
      "parents": [
        "f11c0ca501af89fc07b0d9f17531ba3b68a4ef39"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Oct 31 17:07:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:46 2011 -0700"
      },
      "message": "mm: distinguish between mlocked and pinned pages\n\nSome kernel components pin user space memory (infiniband and perf) (by\nincreasing the page count) and account that memory as \"mlocked\".\n\nThe difference between mlocking and pinning is:\n\nA. mlocked pages are marked with PG_mlocked and are exempt from\n   swapping. Page migration may move them around though.\n   They are kept on a special LRU list.\n\nB. Pinned pages cannot be moved because something needs to\n   directly access physical memory. They may not be on any\n   LRU list.\n\nI recently saw an mlockalled process where mm-\u003elocked_vm became\nbigger than the virtual size of the process (!) because some\nmemory was accounted for twice:\n\nOnce when the page was mlocked and once when the Infiniband\nlayer increased the refcount because it needt to pin the RDMA\nmemory.\n\nThis patch introduces a separate counter for pinned pages and\naccounts them seperately.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Mike Marciniszyn \u003cinfinipath@qlogic.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9f01245b6a7d77d17deaa71af10f6aca14fa24e",
      "tree": "13ffde591a5bcefba39cb6393f09b27f1ebc1a30",
      "parents": [
        "7b0d44fa49b1dcfdcf4897f12ddd12ddeab1a9d7"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Oct 31 17:07:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:45 2011 -0700"
      },
      "message": "oom: remove oom_disable_count\n\nThis removes mm-\u003eoom_disable_count entirely since it\u0027s unnecessary and\ncurrently buggy.  The counter was intended to be per-process but it\u0027s\ncurrently decremented in the exit path for each thread that exits, causing\nit to underflow.\n\nThe count was originally intended to prevent oom killing threads that\nshare memory with threads that cannot be killed since it doesn\u0027t lead to\nfuture memory freeing.  The counter could be fixed to represent all\nthreads sharing the same mm, but it\u0027s better to remove the count since:\n\n - it is possible that the OOM_DISABLE thread sharing memory with the\n   victim is waiting on that thread to exit and will actually cause\n   future memory freeing, and\n\n - there is no guarantee that a thread is disabled from oom killing just\n   because another thread sharing its mm is oom disabled.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fcf634098c00dd9cd247447368495f0b79be12d1",
      "tree": "77fc98cd461bd52ba3b14e833d54a115ffbbd7bc",
      "parents": [
        "32ea845d5bafc37b7406bea1aee3005407cb0900"
      ],
      "author": {
        "name": "Christopher Yeoh",
        "email": "cyeoh@au1.ibm.com",
        "time": "Mon Oct 31 17:06:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:44 2011 -0700"
      },
      "message": "Cross Memory Attach\n\nThe basic idea behind cross memory attach is to allow MPI programs doing\nintra-node communication to do a single copy of the message rather than a\ndouble copy of the message via shared memory.\n\nThe following patch attempts to achieve this by allowing a destination\nprocess, given an address and size from a source process, to copy memory\ndirectly from the source process into its own address space via a system\ncall.  There is also a symmetrical ability to copy from the current\nprocess\u0027s address space into a destination process\u0027s address space.\n\n- Use of /proc/pid/mem has been considered, but there are issues with\n  using it:\n  - Does not allow for specifying iovecs for both src and dest, assuming\n    preadv or pwritev was implemented either the area read from or\n  written to would need to be contiguous.\n  - Currently mem_read allows only processes who are currently\n  ptrace\u0027ing the target and are still able to ptrace the target to read\n  from the target. This check could possibly be moved to the open call,\n  but its not clear exactly what race this restriction is stopping\n  (reason  appears to have been lost)\n  - Having to send the fd of /proc/self/mem via SCM_RIGHTS on unix\n  domain socket is a bit ugly from a userspace point of view,\n  especially when you may have hundreds if not (eventually) thousands\n  of processes  that all need to do this with each other\n  - Doesn\u0027t allow for some future use of the interface we would like to\n  consider adding in the future (see below)\n  - Interestingly reading from /proc/pid/mem currently actually\n  involves two copies! (But this could be fixed pretty easily)\n\nAs mentioned previously use of vmsplice instead was considered, but has\nproblems.  Since you need the reader and writer working co-operatively if\nthe pipe is not drained then you block.  Which requires some wrapping to\ndo non blocking on the send side or polling on the receive.  In all to all\ncommunication it requires ordering otherwise you can deadlock.  And in the\nexample of many MPI tasks writing to one MPI task vmsplice serialises the\ncopying.\n\nThere are some cases of MPI collectives where even a single copy interface\ndoes not get us the performance gain we could.  For example in an\nMPI_Reduce rather than copy the data from the source we would like to\ninstead use it directly in a mathops (say the reduce is doing a sum) as\nthis would save us doing a copy.  We don\u0027t need to keep a copy of the data\nfrom the source.  I haven\u0027t implemented this, but I think this interface\ncould in the future do all this through the use of the flags - eg could\nspecify the math operation and type and the kernel rather than just\ncopying the data would apply the specified operation between the source\nand destination and store it in the destination.\n\nAlthough we don\u0027t have a \"second user\" of the interface (though I\u0027ve had\nsome nibbles from people who may be interested in using it for intra\nprocess messaging which is not MPI).  This interface is something which\nhardware vendors are already doing for their custom drivers to implement\nfast local communication.  And so in addition to this being useful for\nOpenMPI it would mean the driver maintainers don\u0027t have to fix things up\nwhen the mm changes.\n\nThere was some discussion about how much faster a true zero copy would\ngo. Here\u0027s a link back to the email with some testing I did on that:\n\nhttp://marc.info/?l\u003dlinux-mm\u0026m\u003d130105930902915\u0026w\u003d2\n\nThere is a basic man page for the proposed interface here:\n\nhttp://ozlabs.org/~cyeoh/cma/process_vm_readv.txt\n\nThis has been implemented for x86 and powerpc, other architecture should\nmainly (I think) just need to add syscall numbers for the process_vm_readv\nand process_vm_writev. There are 32 bit compatibility versions for\n64-bit kernels.\n\nFor arch maintainers there are some simple tests to be able to quickly\nverify that the syscalls are working correctly here:\n\nhttp://ozlabs.org/~cyeoh/cma/cma-test-20110718.tgz\n\nSigned-off-by: Chris Yeoh \u003cyeohc@au1.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: \u003clinux-man@vger.kernel.org\u003e\nCc: \u003clinux-arch@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": "ec53cf23c0ddb0c29950b9a4ac46964c4c6c6c2f",
      "tree": "198b2e172c5d9043ee10341092900e584c5f97f6",
      "parents": [
        "1d58996da6a8045c8df2899ce5689a19c721322f"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Sep 19 20:33:19 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:32:35 2011 -0400"
      },
      "message": "irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n\nRecent commit \"irq: Track the  owner of irq descriptor\" in\ncommit ID b6873807a7143b7 placed module.h into linux/irq.h\nbut we are trying to limit module.h inclusion to just C files\nthat really need it, due to its size and number of children\nincludes.  This targets just reversing that include.\n\nAdd in the basic \"struct module\" since that is all we really need\nto ensure things compile.  In theory, b687380 should have added the\nmodule.h include to the irqdesc.h header as well, but the implicit\nmodule.h everywhere presence masked this from showing up.  So give\nit the \"struct module\" as well.\n\nAs for the C files, irqdesc.c is only using THIS_MODULE, so it\ndoes not need module.h - give it export.h instead.  The C file\nirq/manage.c is now (as of b687380) using try_module_get and\nmodule_put and so it needs module.h (which it already has).\n\nAlso convert the irq_alloc_descs variants to macros, since all\nthey really do is is call the __irq_alloc_descs primitive.\nThis avoids including export.h and no debug info is lost.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "6e5fdeedca610df600aabc393c4b1f44b128fe49",
      "tree": "52a34c30bef1501f19c691a759b81b6f2603cd32",
      "parents": [
        "bdfa97bf7263657b83bc5b68567a3a60dde84c5b"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 16:00:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:05 2011 -0400"
      },
      "message": "kernel: Fix files explicitly needing EXPORT_SYMBOL infrastructure\n\nThese files were getting \u003clinux/module.h\u003e via an implicit non-obvious\npath, but we want to crush those out of existence since they cost\ntime during compiles of processing thousands of lines of headers\nfor no reason.  Give them the lightweight header that just contains\nthe EXPORT_SYMBOL infrastructure.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "bdfa97bf7263657b83bc5b68567a3a60dde84c5b",
      "tree": "9bb8abdef63da8aa324808eb62009eaf732bd40f",
      "parents": [
        "72a59aaada499d9bbf19f2fb68daa37502e4a9bb"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Tue Oct 25 13:13:57 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:13 2011 -0400"
      },
      "message": "kernel: fix up module header handling in rcutiny files\n\nThe file rcutiny.c does not need moduleparam.h header, as\nthere are no modparams in this file.\n\nHowever rcutiny_plugin.h does define a module_init() and\na module_exit() and it uses the various MODULE_ macros, so\nit really does need module.h included.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "72a59aaada499d9bbf19f2fb68daa37502e4a9bb",
      "tree": "0a965ba72f6deec07a6ae77be4ac0349c8294708",
      "parents": [
        "1596425fd7545abccb7b5059376e4d56c3d6be4d"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 21:07:10 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:13 2011 -0400"
      },
      "message": "kernel: params.c needs module.h not moduleparam.h\n\nThrough various other implicit include paths, some files were\ngetting the full module.h file, and hence living the illusion\nthat they really only needed moduleparam.h -- but the reality\nis that once you remove the module.h presence, these show up:\n\nkernel/params.c:583: warning: ‘struct module_kobject’ declared inside parameter list\n\nSuch files really require module.h so simply make it so.  As the\nfile module.h grabs moduleparam.h on the fly, all will be well.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "1596425fd7545abccb7b5059376e4d56c3d6be4d",
      "tree": "cc4bbc90f16bf73846ee50a67cda88708df5fff9",
      "parents": [
        "967d1f90625ed9c1ab205d3f738fedf9d852e1fd"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu Jul 28 14:22:29 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:13 2011 -0400"
      },
      "message": "kernel: ksysfs.c is implicitly using stat.h\n\nWith the module.h usage cleanup, we\u0027ll get this:\n\nkernel/ksysfs.c:161: error: ‘S_IRUGO’ undeclared here (not in a function)\nmake[2]: *** [kernel/ksysfs.o] Error 1\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "967d1f90625ed9c1ab205d3f738fedf9d852e1fd",
      "tree": "b21c7da43e181eee150db89e3eebec083b3b1c2c",
      "parents": [
        "74da1ff71350f3638c51613085f89c0865d7fe08"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Jul 18 13:03:04 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:12 2011 -0400"
      },
      "message": "kernel: fix two implicit header assumptions in irq_work.c\n\nUp until now, this file was getting percpu.h because nearly every\nfile was implicitly getting module.h (and all its sub-includes).\nBut we want to clean that up, so call out percpu.h explicitly.\nOtherwise we\u0027ll get things like this on an ARM build:\n\nkernel/irq_work.c:48: error: expected declaration specifiers or \u0027...\u0027 before \u0027irq_work_list\u0027\nkernel/irq_work.c:48: warning: type defaults to \u0027int\u0027 in declaration of \u0027DEFINE_PER_CPU\u0027\n\nThe same thing was happening for builds on ARM for asm/processor.h\n\nkernel/irq_work.c: In function \u0027irq_work_sync\u0027:\nkernel/irq_work.c:166: error: implicit declaration of function \u0027cpu_relax\u0027\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "74da1ff71350f3638c51613085f89c0865d7fe08",
      "tree": "b8904435ba280a9b70462303909e8d8408428986",
      "parents": [
        "56d82e000cdfb51aa92241d4682302f78c35cd92"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 12:48:41 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:12 2011 -0400"
      },
      "message": "kernel: fix several implicit usasges of kmod.h\n\nThese files were implicitly relying on \u003clinux/kmod.h\u003e coming in via\nmodule.h, as without it we get things like:\n\nkernel/power/suspend.c:100: error: implicit declaration of function ‘usermodehelper_disable’\nkernel/power/suspend.c:109: error: implicit declaration of function ‘usermodehelper_enable’\nkernel/power/user.c:254: error: implicit declaration of function ‘usermodehelper_disable’\nkernel/power/user.c:261: error: implicit declaration of function ‘usermodehelper_enable’\n\nkernel/sys.c:317: error: implicit declaration of function ‘usermodehelper_disable’\nkernel/sys.c:1816: error: implicit declaration of function ‘call_usermodehelper_setup’\nkernel/sys.c:1822: error: implicit declaration of function ‘call_usermodehelper_setfns’\nkernel/sys.c:1824: error: implicit declaration of function ‘call_usermodehelper_exec’\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "56d82e000cdfb51aa92241d4682302f78c35cd92",
      "tree": "db011bf38930f2d0d0fa8a8f43e223fd03e25fad",
      "parents": [
        "9984de1a5a8a96275fcab818f7419af5a3c86e71"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 17:53:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:12 2011 -0400"
      },
      "message": "kernel: Add \u003clinux/module.h\u003e to files using it implicitly\n\nThese files are doing things like module_put and try_module_get\nso they need to call out the module.h for explicit inclusion,\nrather than getting it via \u003clinux/device.h\u003e which we ideally want\nto remove the module.h inclusion from.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "9984de1a5a8a96275fcab818f7419af5a3c86e71",
      "tree": "1935d411752707a1621c5caf64f75dfe105beb3a",
      "parents": [
        "7c77509c542927ee2a3c8812fad84957e51bf67d"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon May 23 14:51:41 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:12 2011 -0400"
      },
      "message": "kernel: Map most files to use export.h instead of module.h\n\nThe changed files were only including linux/module.h for the\nEXPORT_SYMBOL infrastructure, and nothing else.  Revector them\nonto the isolated export header for faster compile times.\n\nNothing to see here but a whole lot of instances of:\n\n  -#include \u003clinux/module.h\u003e\n  +#include \u003clinux/export.h\u003e\n\nThis commit is only changing the kernel dir; next targets\nwill probably be mm, fs, the arch dirs, etc.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "9a418455134f5dc23f124d2818b2e8e1cea997a1",
      "tree": "00ea2166df995f4e03adfbc93807f54421ce4e80",
      "parents": [
        "639938eb606e94af498c589feae2f0b8a5c285d1"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed May 25 09:52:21 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 09:20:11 2011 -0400"
      },
      "message": "range: fix bogus misuse of module.h to get printk()\n\nThis file isn\u0027t doing anything with modules and so it should\nnot be including \u003clinux/module.h\u003e just to get basic stuff\nlike printk() and min/max.  Revector it to \u003clinux/kernel.h\u003e.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "08cab72f91c8b28ffabfd143119bccdd4a115ad7",
      "tree": "ccd5583971caecd82bf2d1e62691bf6e0362d650",
      "parents": [
        "86c1e5a74af11e4817ffa6d7748d9ac1353b5b53",
        "f37a53cc5d8a8fb199e41386d125d8c2ed9e54ef"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 31 14:08:10 2011 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 31 14:08:10 2011 +0100"
      },
      "message": "Merge branch \u0027dt/gic\u0027 into next/dt\n\nConflicts:\n\tarch/arm/include/asm/localtimer.h\n\tarch/arm/mach-msm/board-msm8x60.c\n\tarch/arm/mach-omap2/board-generic.c\n"
    },
    {
      "commit": "6d274309d0e64bdbdb6c50945ca2964596e8fa5a",
      "tree": "4b4c40a0a75b3e261f08e1525b5cc0e0bd781676",
      "parents": [
        "c71a54b0820179e53483d5220cdef1a0df8d5bd1"
      ],
      "author": {
        "name": "Rob Herring",
        "email": "rob.herring@calxeda.com",
        "time": "Fri Sep 30 10:48:38 2011 -0500"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 31 14:03:23 2011 +0100"
      },
      "message": "irq: support domains with non-zero hwirq base\n\nInterrupt controllers can have non-zero starting value for h/w irq numbers.\nAdding support in irq_domain allows the domain hwirq numbering to match\nthe interrupt controllers\u0027 numbering.\n\nAs this makes looping over irqs for a domain more complicated, add loop\niterators to iterate over all hwirqs and irqs for a domain.\n\nSigned-off-by: Rob Herring \u003crob.herring@calxeda.com\u003e\nReviewed-by: Jamie Iles \u003cjamie@jamieiles.com\u003e\nTested-by: Thomas Abraham \u003cthomas.abraham@linaro.org\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "638ad34a8811119b32247b7722288ef8b90907d1",
      "tree": "9153571e8de8f9247bb54f9baddb140fd5fa5684",
      "parents": [
        "e54aafa0c3bef84bfd39b4c713942ae7cdcfc58a"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Oct 30 15:17:13 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Oct 30 15:16:46 2011 +0100"
      },
      "message": "[S390] sparse: fix sparse warnings about missing prototypes\n\nAdd prototypes and includes for functions used in different modules.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "558df7209e7997275f6b8ad37737494cf2da1512",
      "tree": "0f10dac15f4c2266d7d49f02ae4920863497dc32",
      "parents": [
        "d38593f9387055566b782d00d38d9a347a96e7d9"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Sun Oct 30 15:16:43 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Oct 30 15:16:42 2011 +0100"
      },
      "message": "[S390] kdump: Add infrastructure for unmapping crashkernel memory\n\nThis patch introduces a mechanism that allows architecture backends to\nremove page tables for the crashkernel memory. This can protect the loaded\nkdump kernel from being overwritten by broken kernel code.  Two new\nfunctions crash_map_reserved_pages() and crash_unmap_reserved_pages() are\nadded that can be implemented by architecture code.  The\ncrash_map_reserved_pages() function is called before and\ncrash_unmap_reserved_pages() after the crashkernel segments are loaded.  The\nfunctions are also called in crash_shrink_memory() to create/remove page\ntables when the crashkernel memory size is reduced.\n\nTo support architectures that have large pages this patch also introduces\na new define KEXEC_CRASH_MEM_ALIGN. The crashkernel start and size must\nalways be aligned with KEXEC_CRASH_MEM_ALIGN.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "fa8ff292bb4844cc0b66b7b24d611eb7177f7ded",
      "tree": "f6317d981874226ffb64db47fe21d408dc6d1031",
      "parents": [
        "60a0c68df2632feaa4a986af084650d1165d89c5"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Sun Oct 30 15:16:41 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Oct 30 15:16:42 2011 +0100"
      },
      "message": "[S390] kdump: Initialize vmcoreinfo note at startup\n\nCurrently the vmcoreinfo note is only initialized in case of kdump. On s390\nit is possible to create kernel dumps with other dump mechanisms than kdump\n(e.g. via hypervisor dump or stand-alone dump tools). For those dumps it\nwould also be desirable to include the vmcoreinfo data. To accomplish this,\nwith this patch the vmcoreinfo ELF note is always initialized, not only in\ncase of a (kdump) crash. On s390 we will add an ABI defined pointer at\na well known address to vmcoreinfo so that dump analysis tools are able to\nfind this information.\n\nIn particular on s390 we have a tool named zgetdump. With this tool it is\npossible to convert dump formats on the fly using fuse. E.g. you can mount a\ns390 stand-alone dump as ELF dump. When this is done, the tool finds the\nvmcoreinfo in the stand-alone dump via the well known ABI defined address and\nit creates the respective VMCOREINFO ELF note in the output ELF dump. This then\ncan be used e.g. by makedumpfile for dump filtering.  No more need for a\nvmlinux file with debug information.\n\nSo this will look like the following:\n$ zgetdump --mount standalone.dump -f elf /mnt\n$ ls /mnt\n  dump.elf\n$ readelf -n /mnt/dump.elf\n$ ...\n  VMCOREINFO            0x00000474      Unknown note type: (0x00000000)\n$ makedumpfile -c -d 31 /mnt/dump.elf dump.kdump\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d3bf37955d46718ee1a7f1fc69f953d2328ba7c2",
      "tree": "a15c9bbb510c36dc5da870660dff9c2869920401",
      "parents": [
        "3d214faea6e4f9b6018bf8589f4b245126349c0a"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Sun Oct 30 15:16:37 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Oct 30 15:16:41 2011 +0100"
      },
      "message": "[S390] kdump: Add size to elfcorehdr kernel parameter\n\nCurrently only the address of the pre-allocated ELF header is passed with\nthe elfcorehdr\u003d kernel parameter. In order to reserve memory for the header\nin the 2nd kernel also the size is required. Current kdump architecture\nbackends use different methods to do that, e.g. x86 uses the memmap\u003d kernel\nparameter. On s390 there is no easy way to transfer this information.\nTherefore the elfcorehdr kernel parameter is extended to also pass the size.\nThis now can also be used as standard mechanism by all future kdump\narchitecture backends.\n\nThe syntax of the kernel parameter is extended as follows:\n\nelfcorehdr\u003d[size[KMG]@]offset[KMG]\n\nThis change is backward compatible because elfcorehdr\u003dsize is still allowed.\n\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "3d214faea6e4f9b6018bf8589f4b245126349c0a",
      "tree": "8c2430bdf1ab60002c25dd74d27a9ff98cb240f1",
      "parents": [
        "80853a8ab4fcfff55d88e86ed1f50695dba0d8ff"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@linux.vnet.ibm.com",
        "time": "Sun Oct 30 15:16:36 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Sun Oct 30 15:16:41 2011 +0100"
      },
      "message": "[S390] kdump: Add KEXEC_CRASH_CONTROL_MEMORY_LIMIT\n\nOn s390 there is a different KEXEC_CONTROL_MEMORY_LIMIT for the normal and\nthe kdump kexec case. Therefore this patch introduces a new macro\nKEXEC_CRASH_CONTROL_MEMORY_LIMIT. This is set to\nKEXEC_CONTROL_MEMORY_LIMIT for all architectures that do not define\nKEXEC_CRASH_CONTROL_MEMORY_LIMIT.\n\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Michael Holzheu \u003cholzheu@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "41684f67af75b04152a1714e1a5375dfb00ee3da",
      "tree": "3b0f51dd8103a4fd40ebb6cefeece7579e348cde",
      "parents": [
        "ec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954",
        "d92ef29a6fa971d9e314e412cd9c09757906411a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 29 07:27:45 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 29 07:27:45 2011 -0700"
      },
      "message": "Merge branch \u0027gpio/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027gpio/next\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  h8300: Move gpio.h to gpio-internal.h\n  gpio: pl061: add DT binding support\n  gpio: fix build error in include/asm-generic/gpio.h\n  gpiolib: Ensure struct gpio is always defined\n  irq: Add EXPORT_SYMBOL_GPL to function of irq generic-chip\n  gpio-ml-ioh: Use NUMA_NO_NODE not GFP_KERNEL\n  gpio-pch: Use NUMA_NO_NODE not GFP_KERNEL\n  gpio: langwell: ensure alternate function is cleared\n  gpio-pch: Support interrupt function\n  gpio-pch: Save register value in suspend()\n  gpio-pch: modify gpio_nums and mask\n  gpio-pch: support ML7223 IOH n-Bus\n  gpio-pch: add spinlock in suspend/resume processing\n  gpio-pch: Delete invalid \"restore\" code in suspend()\n  gpio-ml-ioh: Fix suspend/resume issue\n  gpio-ml-ioh: Support interrupt function\n  gpio-ml-ioh: Delete unnecessary code\n  gpio/mxc: add chained_irq_enter/exit() to mx3_gpio_irq_handler()\n  gpio/nomadik: use genirq core to track enablement\n  gpio/nomadik: disable clocks when unused\n"
    },
    {
      "commit": "1fdb24e969110fafea36d3b393bea438f702c87f",
      "tree": "47a1dfef8a259e7922285315f8a02d31b4efe2f1",
      "parents": [
        "f362f98e7c445643d27c610bb7a86b79727b592e",
        "531a6a941745e1e045dd2a6bd09e1dc01247a5f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 12:02:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 28 12:02:27 2011 -0700"
      },
      "message": "Merge branch \u0027devel-stable\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm\n\n* \u0027devel-stable\u0027 of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (178 commits)\n  ARM: 7139/1: fix compilation with CONFIG_ARM_ATAG_DTB_COMPAT and large TEXT_OFFSET\n  ARM: gic, local timers: use the request_percpu_irq() interface\n  ARM: gic: consolidate PPI handling\n  ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H\n  ARM: mach-s5p64x0: remove mach/memory.h\n  ARM: mach-s3c64xx: remove mach/memory.h\n  ARM: plat-mxc: remove mach/memory.h\n  ARM: mach-prima2: remove mach/memory.h\n  ARM: mach-zynq: remove mach/memory.h\n  ARM: mach-bcmring: remove mach/memory.h\n  ARM: mach-davinci: remove mach/memory.h\n  ARM: mach-pxa: remove mach/memory.h\n  ARM: mach-ixp4xx: remove mach/memory.h\n  ARM: mach-h720x: remove mach/memory.h\n  ARM: mach-vt8500: remove mach/memory.h\n  ARM: mach-s5pc100: remove mach/memory.h\n  ARM: mach-tegra: remove mach/memory.h\n  ARM: plat-tcc: remove mach/memory.h\n  ARM: mach-mmp: remove mach/memory.h\n  ARM: mach-cns3xxx: remove mach/memory.h\n  ...\n\nFix up mostly pretty trivial conflicts in:\n - arch/arm/Kconfig\n - arch/arm/include/asm/localtimer.h\n - arch/arm/kernel/Makefile\n - arch/arm/mach-shmobile/board-ap4evb.c\n - arch/arm/mach-u300/core.c\n - arch/arm/mm/dma-mapping.c\n - arch/arm/mm/proc-v7.S\n - arch/arm/plat-omap/Kconfig\nlargely due to some CONFIG option renaming (ie CONFIG_PM_SLEEP -\u003e\nCONFIG_ARM_CPU_SUSPEND for the arm-specific suspend code etc) and\naddition of NEED_MACH_MEMORY_H next to HAVE_IDE.\n"
    }
  ],
  "next": "c2bc11113c50449f23c40b724fe410fc2380a8e9"
}
