)]}'
{
  "log": [
    {
      "commit": "500d85ce39e4d21368fbcdfec6cf3052170aeec8",
      "tree": "ee0fe5723ccf82a89df52c2dc58068c03164ae0d",
      "parents": [
        "ce84d539ce47484ff3cbc9c67b3eb69ae88954f9",
        "00e99a49f6f3a6b5a84ba8bf8f632c9b974bea7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:26:47 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:26:47 2011 +1000"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Fix time function double declaration with glibc\n  perf tools: Fix build by checking if extra warnings are supported\n  perf tools: Fix build when using gcc 3.4.6\n  perf tools: Add missing header, fixes build\n  perf tools: Fix 64 bit integer format strings\n  perf test: Fix build on older glibcs\n  perf: perf_event_exit_task_context: s/rcu_dereference/rcu_dereference_raw/\n  perf test: Use cpu_map-\u003e[cpu] when setting affinity\n  perf symbols: Fix annotation of thumb code\n  perf: Annotate cpuctx-\u003ectx.mutex to avoid a lockdep splat\n  powerpc, perf: Fix frequency calculation for overflowing counters (FSL version)\n  perf: Fix perf_event_init_task()/perf_event_free_task() interaction\n  perf: Fix find_get_context() vs perf_event_exit_task() race\n"
    },
    {
      "commit": "ce84d539ce47484ff3cbc9c67b3eb69ae88954f9",
      "tree": "cdba43e845e23a6793ca47857a16fae6032becfb",
      "parents": [
        "bc094757f4f3d7b8211a8a1ed7605ffd7c728f75",
        "b5cc8ca1c9c3a37eaddf709b2fd3e1699aee41ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:55 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:55 2011 +1000"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: Remove Kconfig symbol for UIE emulation\n  RTC: Properly handle rtc_read_alarm error propagation and fix bug\n  RTC: Propagate error handling via rtc_timer_enqueue properly\n  acpi_pm: Clear pmtmr_ioport if acpi_pm initialization fails\n  rtc: Cleanup removed UIE emulation declaration\n  hrtimers: Notify hrtimer users of switches to NOHZ mode\n"
    },
    {
      "commit": "bc094757f4f3d7b8211a8a1ed7605ffd7c728f75",
      "tree": "b12e5d0229cab3c0bd3634e9e0763a53a1c0d73c",
      "parents": [
        "4398f31ca7989cbddca96267e3d018d440bac30e",
        "3ff6dcac735704824c1dff64dc6863c390d364cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:13 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 25 05:25:13 2011 +1000"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix poor interactivity on UP systems due to group scheduler nice tune bug\n"
    },
    {
      "commit": "3ff6dcac735704824c1dff64dc6863c390d364cc",
      "tree": "6ccbdd6f80da38f104199538f06f1bf2a5cb235e",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Mon Jan 24 15:33:52 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 24 11:47:50 2011 +0100"
      },
      "message": "sched: Fix poor interactivity on UP systems due to group scheduler nice tune bug\n\nMichael Witten and Christian Kujau reported that the autogroup\nscheduling feature hurts interactivity on their UP systems.\n\nIt turns out that this is an older bug in the group scheduling code,\nand the wider appeal provided by the autogroup feature exposed it\nmore prominently.\n\nWhen on UP with FAIR_GROUP_SCHED enabled, tune shares\nonly affect tg-\u003eshares, but is not reflected in\ntg-\u003ese-\u003eload. The reason is that update_cfs_shares()\ndoes nothing on UP.\n\nSo introduce update_cfs_shares() for UP \u0026\u0026 FAIR_GROUP_SCHED.\n\nThis issue was found when enable autogroup scheduling was enabled,\nbut it is an older bug that also exists on cgroup.cpu on UP.\n\nReported-and-Tested-by: Michael Witten \u003cmfwitten@gmail.com\u003e\nReported-and-Tested-by: Christian Kujau \u003cchristian@nerdbynature.de\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110124073352.GA24186@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e94965ed5beb23c6fabf7ed31f625e66d7ff28de",
      "tree": "842e4cab961b568bcb98d8ab80d7d399110598a4",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@vmware.com",
        "time": "Wed Dec 15 14:00:19 2010 -0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Jan 24 14:32:51 2011 +1030"
      },
      "message": "module: show version information for built-in modules in sysfs\n\nCurrently only drivers that are built as modules have their versions\nshown in /sys/module/\u003cmodule_name\u003e/version, but this information might\nalso be useful for built-in drivers as well. This especially important\nfor drivers that do not define any parameters - such drivers, if\nbuilt-in, are completely invisible from userspace.\n\nThis patch changes MODULE_VERSION() macro so that in case when we are\ncompiling built-in module, version information is stored in a separate\nsection. Kernel then uses this data to create \u0027version\u0027 sysfs attribute\nin the same fashion it creates attributes for module parameters.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@vmware.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5bf7a6503ff416214b9a53569677dbf07657e6fd",
      "tree": "0dc8e8dbc30a23d466a327bef05e78c571f2b8a3",
      "parents": [
        "0f5c2ac58f22fd41deaeeb45ee752d4ae55f0d01",
        "42c025f3de9042d9c9abd9a6f6205d1a0f4bcadf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 21 13:38:57 2011 -0800"
      },
      "message": "Merge branch \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027fixes-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: note the nested NOT_RUNNING test in worker_clr_flags() isn\u0027t a noop\n  workqueue: relax lockdep annotation on flush_work()\n"
    },
    {
      "commit": "806839b22cbda90176d7f8d421889bddd7826e93",
      "tree": "3ee967f97fa5e29ada85fb1d60142c75503e0ffd",
      "parents": [
        "547e9fd7d328af261f184bf66effc5033c886498"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jan 21 18:45:47 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 21 22:08:16 2011 +0100"
      },
      "message": "perf: perf_event_exit_task_context: s/rcu_dereference/rcu_dereference_raw/\n\nIn theory, almost every user of task-\u003echild-\u003eperf_event_ctxp[]\nis wrong. find_get_context() can install the new context at any\nmoment, we need read_barrier_depends().\n\ndbe08d82ce3967ccdf459f7951d02589cf967300 \"perf: Fix\nfind_get_context() vs perf_event_exit_task() race\" added\nrcu_dereference() into perf_event_exit_task_context() to make\nthe precedent, but this makes __rcu_dereference_check() unhappy.\nUse rcu_dereference_raw() to shut up the warning.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: acme@redhat.com\nCc: paulus@samba.org\nCc: stern@rowland.harvard.edu\nCc: a.p.zijlstra@chello.nl\nCc: fweisbec@gmail.com\nCc: roland@redhat.com\nCc: prasad@linux.vnet.ibm.com\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20110121174547.GA8796@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "547e9fd7d328af261f184bf66effc5033c886498",
      "tree": "88c2cbe138029a017769d4465798db181b1c5461",
      "parents": [
        "8c8a9b25b5de3f1eeac721cf34f4379e56d5d694"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 19 12:51:39 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 21 16:32:42 2011 +0100"
      },
      "message": "perf: Annotate cpuctx-\u003ectx.mutex to avoid a lockdep splat\n\nLockdep spotted:\n\n\tloop_1b_instruc/1899 is trying to acquire lock:\n\t (event_mutex){+.+.+.}, at: [\u003cffffffff810e1908\u003e] perf_trace_init+0x3b/0x2f7\n\n\tbut task is already holding lock:\n\t (\u0026ctx-\u003emutex){+.+.+.}, at: [\u003cffffffff810eb45b\u003e] perf_event_init_context+0xc0/0x218\n\n\twhich lock already depends on the new lock.\n\n\tthe existing dependency chain (in reverse order) is:\n\n\t-\u003e #3 (\u0026ctx-\u003emutex){+.+.+.}:\n\t-\u003e #2 (cpu_hotplug.lock){+.+.+.}:\n\t-\u003e #1 (module_mutex){+.+...}:\n\t-\u003e #0 (event_mutex){+.+.+.}:\n\nBut because the deadlock would be cpuhotplug (cpu-event) vs fork\n(task-event) it cannot, in fact, happen. We can annotate this by giving the\nperf_event_context used for the cpuctx a different lock class from those\nused by tasks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c77ff22f539ceaa64ea43d6a26d867e84602cb7",
      "tree": "d1623ae6a2f8ed56acbaa03b514e393496c42802",
      "parents": [
        "0e155b2ce293382730b8473f6ceeb7ac9b939b7d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 19 19:41:35 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jan 21 11:55:31 2011 +0100"
      },
      "message": "genirq: Remove __do_IRQ\n\nAll architectures are finally converted. Remove the cruft.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Chen Liqin \u003cliqin.chen@sunplusct.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\n"
    },
    {
      "commit": "2b1caf6ed7b888c95a1909d343799672731651a5",
      "tree": "7ab9a7ae13bc02376bce6267df67f6f2aa9091f1",
      "parents": [
        "d551d81d6a720542873f478def60baab6b5df403",
        "bd924e8cbd4b73ffb7d707a774c04f7e2cae88ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 18:30:37 2011 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  smp: Allow on_each_cpu() to be called while early_boot_irqs_disabled status to init/main.c\n  lockdep: Move early boot local IRQ enable/disable status to init/main.c\n"
    },
    {
      "commit": "8d99641f6c1af806cd5d9e6badce91910219a161",
      "tree": "ee841f807005a4a6234f6f502a13185d13a34870",
      "parents": [
        "fc887b15d935ead2a00aef5779a18034e7c69ee1",
        "225c8e010f2d17a62aef131e24c6e7c111f36f9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:14 2011 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm:\n  kernel/smp.c: consolidate writes in smp_call_function_interrupt()\n  kernel/smp.c: fix smp_call_function_many() SMP race\n  memcg: correctly order reading PCG_USED and pc-\u003emem_cgroup\n  backlight: fix 88pm860x_bl macro collision\n  drivers/leds/ledtrig-gpio.c: make output match input, tighten input checking\n  MAINTAINERS: update Atmel AT91 entry\n  mm: fix truncate_setsize() comment\n  memcg: fix rmdir, force_empty with THP\n  memcg: fix LRU accounting with THP\n  memcg: fix USED bit handling at uncharge in THP\n  memcg: modify accounting function for supporting THP better\n  fs/direct-io.c: don\u0027t try to allocate more than BIO_MAX_PAGES in a bio\n  mm: compaction: prevent division-by-zero during user-requested compaction\n  mm/vmscan.c: remove duplicate include of compaction.h\n  memblock: fix memblock_is_region_memory()\n  thp: keep highpte mapped until it is no longer needed\n  kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT\n"
    },
    {
      "commit": "225c8e010f2d17a62aef131e24c6e7c111f36f9b",
      "tree": "dfd8a48abce0dbdc074f9dedeee686ff8971b4e3",
      "parents": [
        "6dc19899958e420a931274b94019e267e2396d3e"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Thu Jan 20 14:44:34 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:06 2011 -0800"
      },
      "message": "kernel/smp.c: consolidate writes in smp_call_function_interrupt()\n\nWe have to test the cpu mask in the interrupt handler before checking the\nrefs, otherwise we can start to follow an entry before its deleted and\nfind it partially initailzed for the next trip.  Presently we also clear\nthe cpumask bit before executing the called function, which implies\ngetting write access to the line.  After the function is called we then\ndecrement refs, and if they go to zero we then unlock the structure.\n\nHowever, this implies getting write access to the call function data\nbefore and after another the function is called.  If we can assert that no\nsmp_call_function execution function is allowed to enable interrupts, then\nwe can move both writes to after the function is called, hopfully allowing\nboth writes with one cache line bounce.\n\nOn a 256 thread system with a kernel compiled for 1024 threads, the time\nto execute testcase in the \"smp_call_function_many race\" changelog was\nreduced by about 30-40ms out of about 545 ms.\n\nI decided to keep this as WARN because its now a buggy function, even\nthough the stack trace is of no value -- a simple printk would give us the\ninformation needed.\n\nRaw data:\n\nWithout patch:\n  ipi_test startup took 1219366ns complete 539819014ns total 541038380ns\n  ipi_test startup took 1695754ns complete 543439872ns total 545135626ns\n  ipi_test startup took 7513568ns complete 539606362ns total 547119930ns\n  ipi_test startup took 13304064ns complete 533898562ns total 547202626ns\n  ipi_test startup took 8668192ns complete 544264074ns total 552932266ns\n  ipi_test startup took 4977626ns complete 548862684ns total 553840310ns\n  ipi_test startup took 2144486ns complete 541292318ns total 543436804ns\n  ipi_test startup took 21245824ns complete 530280180ns total 551526004ns\n\nWith patch:\n  ipi_test startup took 5961748ns complete 500859628ns total 506821376ns\n  ipi_test startup took 8975996ns complete 495098924ns total 504074920ns\n  ipi_test startup took 19797750ns complete 492204740ns total 512002490ns\n  ipi_test startup took 14824796ns complete 487495878ns total 502320674ns\n  ipi_test startup took 11514882ns complete 494439372ns total 505954254ns\n  ipi_test startup took 8288084ns complete 502570774ns total 510858858ns\n  ipi_test startup took 6789954ns complete 493388112ns total 500178066ns\n\n\t#include \u003clinux/module.h\u003e\n\t#include \u003clinux/init.h\u003e\n\t#include \u003clinux/sched.h\u003e /* sched clock */\n\n\t#define ITERATIONS 100\n\n\tstatic void do_nothing_ipi(void *dummy)\n\t{\n\t}\n\n\tstatic void do_ipis(struct work_struct *dummy)\n\t{\n\t\tint i;\n\n\t\tfor (i \u003d 0; i \u003c ITERATIONS; i++)\n\t\t\tsmp_call_function(do_nothing_ipi, NULL, 1);\n\n\t\tprintk(KERN_DEBUG \"cpu %d finished\\n\", smp_processor_id());\n\t}\n\n\tstatic struct work_struct work[NR_CPUS];\n\n\tstatic int __init testcase_init(void)\n\t{\n\t\tint cpu;\n\t\tu64 start, started, done;\n\n\t\tstart \u003d local_clock();\n\t\tfor_each_online_cpu(cpu) {\n\t\t\tINIT_WORK(\u0026work[cpu], do_ipis);\n\t\t\tschedule_work_on(cpu, \u0026work[cpu]);\n\t\t}\n\t\tstarted \u003d local_clock();\n\t\tfor_each_online_cpu(cpu)\n\t\t\tflush_work(\u0026work[cpu]);\n\t\tdone \u003d local_clock();\n\t\tpr_info(\"ipi_test startup took %lldns complete %lldns total %lldns\\n\",\n\t\t\tstarted-start, done-started, done-start);\n\n\t\treturn 0;\n\t}\n\n\tstatic void __exit testcase_exit(void)\n\t{\n\t}\n\n\tmodule_init(testcase_init)\n\tmodule_exit(testcase_exit)\n\tMODULE_LICENSE(\"GPL\");\n\tMODULE_AUTHOR(\"Anton Blanchard\");\n\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6dc19899958e420a931274b94019e267e2396d3e",
      "tree": "bb99ffb491f086b10bd92db3fc7cff214bb1a329",
      "parents": [
        "713735b4233fad3ae35b5cad656baa41413887ca"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jan 20 14:44:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 17:02:06 2011 -0800"
      },
      "message": "kernel/smp.c: fix smp_call_function_many() SMP race\n\nI noticed a failure where we hit the following WARN_ON in\ngeneric_smp_call_function_interrupt:\n\n                if (!cpumask_test_and_clear_cpu(cpu, data-\u003ecpumask))\n                        continue;\n\n                data-\u003ecsd.func(data-\u003ecsd.info);\n\n                refs \u003d atomic_dec_return(\u0026data-\u003erefs);\n                WARN_ON(refs \u003c 0);      \u003c-------------------------\n\nWe atomically tested and cleared our bit in the cpumask, and yet the\nnumber of cpus left (ie refs) was 0.  How can this be?\n\nIt turns out commit 54fdade1c3332391948ec43530c02c4794a38172\n(\"generic-ipi: make struct call_function_data lockless\") is at fault.  It\nremoves locking from smp_call_function_many and in doing so creates a\nrather complicated race.\n\nThe problem comes about because:\n\n - The smp_call_function_many interrupt handler walks call_function.queue\n   without any locking.\n - We reuse a percpu data structure in smp_call_function_many.\n - We do not wait for any RCU grace period before starting the next\n   smp_call_function_many.\n\nImagine a scenario where CPU A does two smp_call_functions back to back,\nand CPU B does an smp_call_function in between.  We concentrate on how CPU\nC handles the calls:\n\nCPU A            CPU B                  CPU C              CPU D\n\nsmp_call_function\n                                        smp_call_function_interrupt\n                                            walks\n\t\t\t\t\tcall_function.queue sees\n\t\t\t\t\tdata from CPU A on list\n\n                 smp_call_function\n\n                                        smp_call_function_interrupt\n                                            walks\n\n                                        call_function.queue sees\n                                          (stale) CPU A on list\n\t\t\t\t\t\t\t   smp_call_function int\n\t\t\t\t\t\t\t   clears last ref on A\n\t\t\t\t\t\t\t   list_del_rcu, unlock\nsmp_call_function reuses\npercpu *data A\n                                         data-\u003ecpumask sees and\n                                         clears bit in cpumask\n                                         might be using old or new fn!\n                                         decrements refs below 0\n\nset data-\u003erefs (too late!)\n\nThe important thing to note is since the interrupt handler walks a\npotentially stale call_function.queue without any locking, then another\ncpu can view the percpu *data structure at any time, even when the owner\nis in the process of initialising it.\n\nThe following test case hits the WARN_ON 100% of the time on my PowerPC\nbox (having 128 threads does help :)\n\n#include \u003clinux/module.h\u003e\n#include \u003clinux/init.h\u003e\n\n#define ITERATIONS 100\n\nstatic void do_nothing_ipi(void *dummy)\n{\n}\n\nstatic void do_ipis(struct work_struct *dummy)\n{\n\tint i;\n\n\tfor (i \u003d 0; i \u003c ITERATIONS; i++)\n\t\tsmp_call_function(do_nothing_ipi, NULL, 1);\n\n\tprintk(KERN_DEBUG \"cpu %d finished\\n\", smp_processor_id());\n}\n\nstatic struct work_struct work[NR_CPUS];\n\nstatic int __init testcase_init(void)\n{\n\tint cpu;\n\n\tfor_each_online_cpu(cpu) {\n\t\tINIT_WORK(\u0026work[cpu], do_ipis);\n\t\tschedule_work_on(cpu, \u0026work[cpu]);\n\t}\n\n\treturn 0;\n}\n\nstatic void __exit testcase_exit(void)\n{\n}\n\nmodule_init(testcase_init)\nmodule_exit(testcase_exit)\nMODULE_LICENSE(\"GPL\");\nMODULE_AUTHOR(\"Anton Blanchard\");\n\nI tried to fix it by ordering the read and the write of -\u003ecpumask and\n-\u003erefs.  In doing so I missed a critical case but Paul McKenney was able\nto spot my bug thankfully :) To ensure we arent viewing previous\niterations the interrupt handler needs to read -\u003erefs then -\u003ecpumask then\n-\u003erefs _again_.\n\nThanks to Milton Miller and Paul McKenney for helping to debug this issue.\n\n[miltonm@bga.com: add WARN_ON and BUG_ON, remove extra read of refs before initial read of mask that doesn\u0027t help (also noted by Peter Zijlstra), adjust comments, hopefully clarify scenario ]\n[miltonm@bga.com: remove excess tests]\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e [2.6.32+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "466c19063b4b426d5c362572787cb249fbf4296b",
      "tree": "214c9d9e914c80eb6b46c9ccd0cd261167393b44",
      "parents": [
        "67290f41b2715de0e0ae93c9285fcbe37ffc5b22",
        "068c5cc5ac7414a8e9eb7856b4bf3cc4d4744267"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:37:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:37:55 2011 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched, cgroup: Use exit hook to avoid use-after-free crash\n  sched: Fix signed unsigned comparison in check_preempt_tick()\n  sched: Replace rq-\u003ebkl_count with rq-\u003erq_sched_info.bkl_count\n  sched, autogroup: Fix CONFIG_RT_GROUP_SCHED sched_setscheduler() failure\n  sched: Display autogroup names in /proc/sched_debug\n  sched: Reinstate group names in /proc/sched_debug\n  sched: Update effective_load() to use global share weights\n"
    },
    {
      "commit": "bd924e8cbd4b73ffb7d707a774c04f7e2cae88ed",
      "tree": "338d08c708b195acb9c8d6e0bab2e6ea720051a3",
      "parents": [
        "2ce802f62ba32a7d95748ac92bf351f76affb6ff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 20 12:07:13 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 20 13:32:34 2011 +0100"
      },
      "message": "smp: Allow on_each_cpu() to be called while early_boot_irqs_disabled status to init/main.c\n\npercpu may end up calling vfree() during early boot which in\nturn may call on_each_cpu() for TLB flushes.  The function of\non_each_cpu() can be done safely while IRQ is disabled during\nearly boot but it assumed that the function is always called\nwith local IRQ enabled which ended up enabling local IRQ\nprematurely during boot and triggering a couple of warnings.\n\nThis patch updates on_each_cpu() and smp_call_function_many()\nsuch on_each_cpu() can be used safely while\nearly_boot_irqs_disabled is set.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110120110713.GC6036@htj.dyndns.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2ce802f62ba32a7d95748ac92bf351f76affb6ff",
      "tree": "54dd0d6063ca61619e6b8ca84dd95b8e5a3c1402",
      "parents": [
        "12fcdba1b7ae8b25696433f420b775aeb556d89b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jan 20 12:06:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 20 13:32:33 2011 +0100"
      },
      "message": "lockdep: Move early boot local IRQ enable/disable status to init/main.c\n\nDuring early boot, local IRQ is disabled until IRQ subsystem is\nproperly initialized.  During this time, no one should enable\nlocal IRQ and some operations which usually are not allowed with\nIRQ disabled, e.g. operations which might sleep or require\ncommunications with other processors, are allowed.\n\nlockdep tracked this with early_boot_irqs_off/on() callbacks.\nAs other subsystems need this information too, move it to\ninit/main.c and make it generally available.  While at it,\ntoggle the boolean to early_boot_irqs_disabled instead of\nenabled so that it can be initialized with %false and %true\nindicates the exceptional condition.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110120110635.GB6036@htj.dyndns.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d0640b47da74cff7c11642c798d40de861ed524",
      "tree": "51d41c213dbd5b27c3eeb6fe7527d04d2918edbb",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue Jan 18 22:46:34 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 20:08:15 2011 +0100"
      },
      "message": "hrtimers: Notify hrtimer users of switches to NOHZ mode\n\nWhen NOHZ\u003dy and high res timers are disabled (via cmdline or\nKconfig) tick_nohz_switch_to_nohz() will notify the user about\nswitching into NOHZ mode. Nothing is printed for the case where\nHIGH_RES_TIMERS\u003dy. Fix this for the HIGH_RES_TIMERS\u003dy case by\nduplicating the printk from the low res NOHZ path in the high\nres NOHZ path.\n\nThis confused me since I was thinking \u0027dmesg | grep -i NOHZ\u0027 would\ntell me if NOHZ was enabled, but if I have hrtimers there is\nnothing.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1295419594-13085-1-git-send-email-sboyd@codeaurora.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8550d7cb6ed6c89add49c3b6ad4c753ab8a3d7f9",
      "tree": "9942aa32e7706bbb9bf52b9aecd542008f50d5aa",
      "parents": [
        "dbe08d82ce3967ccdf459f7951d02589cf967300"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jan 19 19:22:28 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 20:04:28 2011 +0100"
      },
      "message": "perf: Fix perf_event_init_task()/perf_event_free_task() interaction\n\nperf_event_init_task() should clear child-\u003eperf_event_ctxp[]\nbefore anything else. Otherwise, if\nperf_event_init_context(perf_hw_context) fails,\nperf_event_free_task() can free perf_event_ctxp[perf_sw_context]\ncopied from parent-\u003eperf_event_ctxp[] by dup_task_struct().\n\nAlso move the initialization of perf_event_mutex and\nperf_event_list from perf_event_init_context() to\nperf_event_init_context().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nLKML-Reference: \u003c20110119182228.GC12183@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dbe08d82ce3967ccdf459f7951d02589cf967300",
      "tree": "2f8fc95749e47ff0de4b369f298898e4db5ad391",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jan 19 19:22:07 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 20:04:27 2011 +0100"
      },
      "message": "perf: Fix find_get_context() vs perf_event_exit_task() race\n\nfind_get_context() must not install the new perf_event_context\nif the task has already passed perf_event_exit_task().\n\nIf nothing else, this means the memory leak. Initially\nctx-\u003erefcount \u003d\u003d 2, it is supposed that\nperf_event_exit_task_context() should participate and do the\nnecessary put_ctx().\n\nfind_lively_task_by_vpid() checks PF_EXITING but this buys\nnothing, by the time we call find_get_context() this task can be\nalready dead. To the point, cmpxchg() can succeed when the task\nhas already done the last schedule().\n\nChange find_get_context() to populate task-\u003eperf_event_ctxp[]\nunder task-\u003eperf_event_mutex, this way we can trust PF_EXITING\nbecause perf_event_exit_task() takes the same mutex.\n\nAlso, change perf_event_exit_task_context() to use\nrcu_dereference(). Probably this is not strictly needed, but\nwith or without this change find_get_context() can race with\nsetup_new_exec()-\u003eperf_event_exit_task(), rcu_dereference()\nlooks better.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nLKML-Reference: \u003c20110119182207.GB12183@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "068c5cc5ac7414a8e9eb7856b4bf3cc4d4744267",
      "tree": "28a017e342dddd3ffe8e3dd3499a395aee39b796",
      "parents": [
        "d7d8294415f0ce4254827d4a2a5ee88b00be52a8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jan 19 12:26:11 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 12:51:32 2011 +0100"
      },
      "message": "sched, cgroup: Use exit hook to avoid use-after-free crash\n\nBy not notifying the controller of the on-exit move back to\ninit_css_set, we fail to move the task out of the previous\ncgroup\u0027s cfs_rq. This leads to an opportunity for a\ncgroup-destroy to come in and free the cgroup (there are no\nactive tasks left in it after all) to which the not-quite dead\ntask is still enqueued.\n\nReported-by: Miklos Vajna \u003cvmiklos@frugalware.org\u003e\nFixed-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1293206353.29444.205.camel@laptop\u003e\n"
    },
    {
      "commit": "335bc70b6b5fdc9b4e28cb56c27f10124064f9da",
      "tree": "7f5a1594a09cdcb2ea9a5d768ea72c0256f6aa3c",
      "parents": [
        "404cbbd52f10d1d5719ad82ce8ba903890779255",
        "66832eb4baaaa9abe4c993ddf9113a79e39b9915"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 14:29:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 14:29:37 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Validate cpu early in perf_event_alloc()\n  perf: Find_get_context: fix the per-cpu-counter check\n  perf: Fix contexted inheritance\n"
    },
    {
      "commit": "66832eb4baaaa9abe4c993ddf9113a79e39b9915",
      "tree": "bc1b60069c5313231a5ddca0f0dcab953489bb1e",
      "parents": [
        "22a4ec729017ba613337a28f306f94ba5023fe2e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 18 17:10:32 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 19:34:23 2011 +0100"
      },
      "message": "perf: Validate cpu early in perf_event_alloc()\n\nStarting from perf_event_alloc()-\u003eperf_init_event(), the kernel\nassumes that event-\u003ecpu is either -1 or the valid CPU number.\n\nChange perf_event_alloc() to validate this argument early. This\nalso means we can remove the similar check in\nfind_get_context().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: gregkh@suse.de\nCc: stable@kernel.org\nLKML-Reference: \u003c20110118161032.GC693@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22a4ec729017ba613337a28f306f94ba5023fe2e",
      "tree": "a0e6ad7131088b4e1cf1072f76f9b34ead7e9065",
      "parents": [
        "c5ed5145591774bd9a2960ba4ca45a02fc70aad1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 18 17:10:08 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 19:34:23 2011 +0100"
      },
      "message": "perf: Find_get_context: fix the per-cpu-counter check\n\nIf task \u003d\u003d NULL, find_get_context() should always check that cpu\nis correct.\n\nAfaics, the bug was introduced by 38a81da2 \"perf events: Clean\nup pid passing\", but even before that commit \"\u0026\u0026 cpu !\u003d -1\" was\nnot exactly right, -ESRCH from find_task_by_vpid() is not\naccurate.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: gregkh@suse.de\nCc: stable@kernel.org\nLKML-Reference: \u003c20110118161008.GB693@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5ed5145591774bd9a2960ba4ca45a02fc70aad1",
      "tree": "f7e53164a33e1a0a41a4b3a7b508835361e39689",
      "parents": [
        "ad7f4e3f7b966ac09c8f98dbc5024813a1685775"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 17 13:45:37 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:10:35 2011 +0100"
      },
      "message": "perf: Fix contexted inheritance\n\nLinus reported that the RCU lockdep annotation bits triggered for this\nrcu_dereference() because we\u0027re not holding rcu_read_lock().\n\nGoing over the code I cannot convince myself its correct:\n\n - holding a ref on the parent_ctx, doesn\u0027t avoid it being uncloned\n   concurrently (as the comment says), so we can race with a free.\n\n - holding parent_ctx-\u003emutex doesn\u0027t avoid the above free from taking\n   place either, it would at best avoid parent_ctx from being freed.\n\nI.e. the warning is correct. To fix the bug, serialize against the\nunclone_ctx() call by extending the reach of the parent_ctx-\u003elock.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7d8294415f0ce4254827d4a2a5ee88b00be52a8",
      "tree": "9f8024d6566bc391fcb2aced8427db81ca4e9078",
      "parents": [
        "fce2097983d914ea8c2338efc6f6e9bb737f6ae4"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 05 05:41:17 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:44 2011 +0100"
      },
      "message": "sched: Fix signed unsigned comparison in check_preempt_tick()\n\nSigned unsigned comparison may lead to superfluous resched if leftmost\nis right of the current task, wasting a few cycles, and inadvertently\n_lengthening_ the current task\u0027s slice.\n\nReported-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294202477.9384.5.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fce2097983d914ea8c2338efc6f6e9bb737f6ae4",
      "tree": "4d1bbf8f330914f471e631662309255ab5f11bb6",
      "parents": [
        "f44937718ce3b8360f72f6c68c9481712517a867"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 14 15:57:39 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:43 2011 +0100"
      },
      "message": "sched: Replace rq-\u003ebkl_count with rq-\u003erq_sched_info.bkl_count\n\nNow rq-\u003erq_sched_info.bkl_count is not used for rq, scroll\nrq-\u003ebkl_count into it. Thus we can save some space for rq.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294991859-13246-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f44937718ce3b8360f72f6c68c9481712517a867",
      "tree": "72b07f4daa686e10f90b666f5b61b66b30bbed2d",
      "parents": [
        "8ecedd7a06d27a31dbb36fab88e2ba6e6edd43ca"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Jan 13 04:54:50 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:42 2011 +0100"
      },
      "message": "sched, autogroup: Fix CONFIG_RT_GROUP_SCHED sched_setscheduler() failure\n\nIf CONFIG_RT_GROUP_SCHED is set, __sched_setscheduler() fails due to autogroup\nnot allocating rt_runtime.  Free unused/unusable rt_se and rt_rq, redirect RT\ntasks to the root task group, and tell __sched_setscheduler() that it\u0027s ok.\n\nReported-and-tested-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294890890.8089.39.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8ecedd7a06d27a31dbb36fab88e2ba6e6edd43ca",
      "tree": "f4fea491abd21408f8c607fb91baf709122a54de",
      "parents": [
        "efe25c2c7b3a5d17b0c70987a758d8fe7af8e3d1"
      ],
      "author": {
        "name": "Bharata B Rao",
        "email": "bharata@linux.vnet.ibm.com",
        "time": "Tue Jan 11 15:42:57 2011 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:40 2011 +0100"
      },
      "message": "sched: Display autogroup names in /proc/sched_debug\n\nAdd autogroup name to cfs_rq and tasks information to /proc/sched_debug.\n\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110111101257.GF4772@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efe25c2c7b3a5d17b0c70987a758d8fe7af8e3d1",
      "tree": "d2b5f98c6734f289c51985d5af67967cd8f4ef66",
      "parents": [
        "977dda7c9b540f48b228174346d8b31542c1e99f"
      ],
      "author": {
        "name": "Bharata B Rao",
        "email": "bharata@linux.vnet.ibm.com",
        "time": "Tue Jan 11 15:41:54 2011 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:39 2011 +0100"
      },
      "message": "sched: Reinstate group names in /proc/sched_debug\n\nDisplaying of group names in /proc/sched_debug was dropped in autogroup\npatches. Add group names while displaying cfs_rq and tasks information.\n\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110111101153.GE4772@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "977dda7c9b540f48b228174346d8b31542c1e99f",
      "tree": "77d40bcc72c1590dfcaeadb60e92a270bd204c52",
      "parents": [
        "c9b5f501ef1580faa30c40c644b7691870462201"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Fri Jan 14 17:57:50 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:38 2011 +0100"
      },
      "message": "sched: Update effective_load() to use global share weights\n\nPreviously effective_load would approximate the global load weight present on\na group taking advantage of:\n\nentity_weight \u003d tg-\u003eshares ( lw / global_lw ), where entity_weight was provided\nby tg_shares_up.\n\nThis worked (approximately) for an \u0027empty\u0027 (at tg level) cpu since we would\nplace boost load representative of what a newly woken task would receive.\n\nHowever, now that load is instantaneously updated this assumption is no longer\ntrue and the load calculation is rather incorrect in this case.\n\nFix this (and improve the general case) by re-writing effective_load to take\nadvantage of the new shares distribution code.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110115015817.069769529@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9ee7f60d6f37ae0184812b4c59b3869f875768b",
      "tree": "6c30a7e94b90cfa3a43cda45f4bdb2f254f3ba10",
      "parents": [
        "16c1020362083b320868c0deef492249089c3cd3",
        "1161ec944916069ceec21c487e30247d9ff22857",
        "76d1f7bfcd5872056902c5a88b5fcd5d4d00a7a9",
        "afa14e7c553ebe45844d76208f66017a43abd0e2",
        "7c46d8da09df22361d1d43465c4f1b06cecaf25f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027x86-fixes-for-linus\u0027, \u0027timers-fixes-for-linus\u0027 and \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: avoid pointless blocked-task warnings\n  rcu: demote SRCU_SYNCHRONIZE_DELAY from kernel-parameter status\n  rtmutex: Fix comment about why new_owner can be NULL in wake_futex_pi()\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, olpc: Add missing Kconfig dependencies\n  x86, mrst: Set correct APB timer IRQ affinity for secondary cpu\n  x86: tsc: Fix calibration refinement conditionals to avoid divide by zero\n  x86, ia64, acpi: Clean up x86-ism in drivers/acpi/numa.c\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timekeeping: Make local variables static\n  time: Rename misnamed minsec argument of clocks_calc_mult_shift()\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove syscall_exit_fields\n  tracing: Only process module tracepoints once\n  perf record: Add \"nodelay\" mode, disabled by default\n  perf sched: Fix list of events, dropping unsupported \u0027:r\u0027 modifier\n  Revert \"perf tools: Emit clearer message for sys_perf_event_open ENOENT return\"\n  perf top: Fix annotate segv\n  perf evsel: Fix order of event list deletion\n"
    },
    {
      "commit": "7f85803a26f304e698c673838aab06cc6d4d6e59",
      "tree": "8d8ea214a5ba1acbaf81493cedeed1f45f582744",
      "parents": [
        "c94fbe1d9e1e9b1a1f82eb0b53b1cf53bcf9712b"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Jan 14 17:49:02 2011 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 14 18:06:35 2011 -0500"
      },
      "message": "tracing: Remove syscall_exit_fields\n\nThere is no need for syscall_exit_fields as the syscall\nexit event class can already host the fields in its structure,\nlike most other trace events do by default. Use that\ndefault behavior instead.\n\nFollowing this scheme, we don\u0027t need anymore to override the\nget_fields() callback of the syscall exit event class either.\n\nHence both syscall_exit_fields and syscall_get_exit_fields() can\nbe removed.\n\nAlso changed some indentation to keep the following under 80\ncharacters:\n\n\".fields\t\t\u003d LIST_HEAD_INIT(event_class_syscall_exit.fields),\"\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4D301C0E.8090408@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "acda4721ae876dedab3fef04bbd8020bfa67ff0a",
      "tree": "ec48d554fe48b3915912e2ae62bc962ade0553bd",
      "parents": [
        "822e5215f9eef86c1dd56d5696bf55a212b0e3f0",
        "32385c7cf60a78375b63afc4f02001df84dfd1a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin:\n  kernel: fix hlist_bl again\n  cgroups: Fix a lockdep warning at cgroup removal\n  fs: namei fix -\u003eput_link on wrong inode in do_filp_open\n"
    },
    {
      "commit": "c72a04e34735ec3f19f4788b7f95017310b5e1eb",
      "tree": "9a6958a8f291c4bd4ac80548565d3a41f8bec84a",
      "parents": [
        "323b7fe8f8f6d5ac6214382cf30e8b3a80b265c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri Jan 14 05:31:45 2011 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 08:07:48 2011 -0800"
      },
      "message": "cgroup_fs: fix cgroup use of simple_lookup()\n\ncgroup can\u0027t use simple_lookup(), since that\u0027d override its desired -\u003ed_op.\n\nTested-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1161ec944916069ceec21c487e30247d9ff22857",
      "tree": "741385cbfde51286f502790cdfb77b1af2953944",
      "parents": [
        "f123c98e7f168e949b283690693695f988332c3d",
        "b24efdfdf679cf9b05947c531971905fc727dd40"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 14 15:30:16 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 14 15:30:16 2011 +0100"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/urgent\n"
    },
    {
      "commit": "b24efdfdf679cf9b05947c531971905fc727dd40",
      "tree": "06d8532819315ad0aa84d8ff64a1d35901b018fb",
      "parents": [
        "c072a388d59a1d48e36864d0e66f42d71745be1c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Jan 12 14:18:11 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 14 04:58:08 2011 -0800"
      },
      "message": "rcu: avoid pointless blocked-task warnings\n\nIf the RCU callback-processing kthread has nothing to do, it parks in\na wait_event().  If RCU remains idle for more than two minutes, the\nkernel complains about this.  This commit changes from wait_event()\nto wait_event_interruptible() to prevent the kernel from complaining\njust because RCU is idle.\n\nReported-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Thomas Weber \u003cweber@corscience.de\u003e\nTested-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "c072a388d59a1d48e36864d0e66f42d71745be1c",
      "tree": "a0537c767c834d1846430ab3bb4eb83c0d0923d7",
      "parents": [
        "394f4528c523d88daabd50f883a8d6b164075555"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 07 02:33:47 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 14 04:56:49 2011 -0800"
      },
      "message": "rcu: demote SRCU_SYNCHRONIZE_DELAY from kernel-parameter status\n\nBecause the adaptive synchronize_srcu_expedited() approach has\nworked very well in testing, remove the kernel parameter and\nreplace it by a C-preprocessor macro.  If someone finds problems\nwith this approach, a more complex and aggressively adaptive\napproach might be required.\n\nLonger term, SRCU will be merged with the other RCU implementations,\nat which point synchronize_srcu_expedited() will be event driven,\njust as synchronize_sched_expedited() currently is.  At that point,\nthere will be no need for this adaptive approach.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3ec762ad8be364c2fadfe0d6b2cc6d4d3b5e1b54",
      "tree": "abd1529daad510dbf44a6ebcaa1f680b073eaca6",
      "parents": [
        "7b9337aaf98f9941d0927a75217d3ff31afec609"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Jan 14 11:34:34 2011 +0800"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 14 08:46:29 2011 +0000"
      },
      "message": "cgroups: Fix a lockdep warning at cgroup removal\n\nCommit 2fd6b7f5 (\"fs: dcache scale subdirs\") forgot to annotate a dentry\nlock, which caused a lockdep warning.\n\nReported-by: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "52cfd503ad7176d23a5dd7af3981744feb60622f",
      "tree": "0a8aeaaf4acbc86ac682f18632b8070c1c6b7ba1",
      "parents": [
        "dc8e7e3ec60bd5ef7868aa88755e9d4c948dc5cc",
        "4263d9a3ae4d15785897d0543bb59316c84ee605"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (59 commits)\n  ACPI / PM: Fix build problems for !CONFIG_ACPI related to NVS rework\n  ACPI: fix resource check message\n  ACPI / Battery: Update information on info notification and resume\n  ACPI: Drop device flag wake_capable\n  ACPI: Always check if _PRW is present before trying to evaluate it\n  ACPI / PM: Check status of power resources under mutexes\n  ACPI / PM: Rename acpi_power_off_device()\n  ACPI / PM: Drop acpi_power_nocheck\n  ACPI / PM: Drop acpi_bus_get_power()\n  Platform / x86: Make fujitsu_laptop use acpi_bus_update_power()\n  ACPI / Fan: Rework the handling of power resources\n  ACPI / PM: Register power resource devices as soon as they are needed\n  ACPI / PM: Register acpi_power_driver early\n  ACPI / PM: Add function for updating device power state consistently\n  ACPI / PM: Add function for device power state initialization\n  ACPI / PM: Introduce __acpi_bus_get_power()\n  ACPI / PM: Introduce function for refcounting device power resources\n  ACPI / PM: Add functions for manipulating lists of power resources\n  ACPI / PM: Prevent acpi_power_get_inferred_state() from making changes\n  ACPICA: Update version to 20101209\n  ...\n"
    },
    {
      "commit": "ba76149f47d8c939efa0acc07a191237af900471",
      "tree": "162990f51dd24984f114cba14fc7169a3b54f0f1",
      "parents": [
        "79134171df238171daa4c024a42b77b401ccb00b"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:43 2011 -0800"
      },
      "message": "thp: khugepaged\n\nAdd khugepaged to relocate fragmented pages into hugepages if new\nhugepages become available.  (this is indipendent of the defrag logic that\nwill have to make new hugepages available)\n\nThe fundamental reason why khugepaged is unavoidable, is that some memory\ncan be fragmented and not everything can be relocated.  So when a virtual\nmachine quits and releases gigabytes of hugepages, we want to use those\nfreely available hugepages to create huge-pmd in the other virtual\nmachines that may be running on fragmented memory, to maximize the CPU\nefficiency at all times.  The scan is slow, it takes nearly zero cpu time,\nexcept when it copies data (in which case it means we definitely want to\npay for that cpu time) so it seems a good tradeoff.\n\nIn addition to the hugepages being released by other process releasing\nmemory, we have the strong suspicion that the performance impact of\npotentially defragmenting hugepages during or before each page fault could\nlead to more performance inconsistency than allocating small pages at\nfirst and having them collapsed into large pages later...  if they prove\nthemselfs to be long lived mappings (khugepaged scan is slow so short\nlived mappings have low probability to run into khugepaged if compared to\nlong lived mappings).\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7a00c45f29c0155007aa150bf231a70fa470365",
      "tree": "3225a79905dede614ed44e98776cdc6285bbd28a",
      "parents": [
        "4e6af67e970a2ac287739a4c526c857b5bda27ec"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:41 2011 -0800"
      },
      "message": "thp: add pmd_huge_pte to mm_struct\n\nThis increase the size of the mm struct a bit but it is needed to\npreallocate one pte for each hugepage so that split_huge_page will not\nrequire a fail path.  Guarantee of success is a fundamental property of\nsplit_huge_page to avoid decrasing swapping reliability and to avoid\nadding -ENOMEM fail paths that would otherwise force the hugepage-unaware\nVM code to learn rolling back in the middle of its pte mangling operations\n(if something we need it to learn handling pmd_trans_huge natively rather\nbeing capable of rollback).  When split_huge_page runs a pte is needed to\nsucceed the split, to map the newly splitted regular pages with a regular\npte.  This way all existing VM code remains backwards compatible by just\nadding a split_huge_page* one liner.  The memory waste of those\npreallocated ptes is negligible and so it is worth it.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5b338f2b0b1ff73ae20c66ab831201549eaec01",
      "tree": "a89787ea6d932d66651c4621ed70f855e596d1ff",
      "parents": [
        "a95a82e96c48270980dd248ccd5546f1b49e6f8a"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:46:34 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:39 2011 -0800"
      },
      "message": "thp: update futex compound knowledge\n\nFutex code is smarter than most other gup_fast O_DIRECT code and knows\nabout the compound internals.  However now doing a put_page(head_page)\nwill not release the pin on the tail page taken by gup-fast, leading to\nall sort of refcounting bugchecks.  Getting a stable head_page is a little\ntricky.\n\npage_head \u003d page is there because if this is not a tail page it\u0027s also the\npage_head.  Only in case this is a tail page, compound_head is called,\notherwise it\u0027s guaranteed unnecessary.  And if it\u0027s a tail page\ncompound_head has to run atomically inside irq disabled section\n__get_user_pages_fast before returning.  Otherwise -\u003efirst_page won\u0027t be a\nstable pointer.\n\nDisableing irq before __get_user_page_fast and releasing irq after running\ncompound_head is needed because if __get_user_page_fast returns \u003d\u003d 1, it\nmeans the huge pmd is established and cannot go away from under us.\npmdp_splitting_flush_notify in __split_huge_page_splitting will have to\nwait for local_irq_enable before the IPI delivery can return.  This means\n__split_huge_page_refcount can\u0027t be running from under us, and in turn\nwhen we run compound_head(page) we\u0027re not reading a dangling pointer from\ntailpage-\u003efirst_page.  Then after we get to stable head page, we are\nalways safe to call compound_lock and after taking the compound lock on\nhead page we can finally re-check if the page returned by gup-fast is\nstill a tail page.  in which case we\u0027re set and we didn\u0027t need to split\nthe hugepage in order to take a futex on it.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dabb16f639820267b3850d804571c70bd93d4e07",
      "tree": "7da59e6133cd2f820389574ac9206c56e046f5d4",
      "parents": [
        "d0a21265dfb5fa8ae54e90d0fb6d1c215b10a28a"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Thu Jan 13 15:46:05 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:35 2011 -0800"
      },
      "message": "oom: allow a non-CAP_SYS_RESOURCE proces to oom_score_adj down\n\nWe\u0027d like to be able to oom_score_adj a process up/down as it\nenters/leaves the foreground.  Currently, it is not possible to oom_adj\ndown without CAP_SYS_RESOURCE.  This patch allows a task to decrease its\noom_score_adj back to the value that a CAP_SYS_RESOURCE thread set it to\nor its inherited value at fork.  Assuming the thread that has forked it\nhas oom_score_adj of 0, each process could decrease it back from 0 upon\nactivation unless a CAP_SYS_RESOURCE thread elevated it to something\nhigher.\n\nAlternative considered:\n\n* a setuid binary\n* a daemon with CAP_SYS_RESOURCE\n\nSince you don\u0027t wan\u0027t all processes to be able to reduce their oom_adj, a\nsetuid or daemon implementation would be complex.  The alternatives also\nhave much higher overhead.\n\nThis patch updated from original patch based on feedback from David\nRientjes.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.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": "43bb40c9e3aa51a3b038c9df2c9afb4d4685614d",
      "tree": "3b7d37ef585d4a94d7d56f62f02418b0b0d056c1",
      "parents": [
        "5dfbd1d734ef5415bc47b034df7433ba21e40e7b"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Jan 13 15:45:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:31 2011 -0800"
      },
      "message": "sched: remove long deprecated CLONE_STOPPED flag\n\nThis warning was added in commit bdff746a3915 (\"clone: prepare to recycle\nCLONE_STOPPED\") three years ago.  2.6.26 came and went.  As far as I know,\nno-one is actually using CLONE_STOPPED.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tejun Heo \u003ctj@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": "6c9ae009b298753a3baf71298d676a68b5a10c8f",
      "tree": "95a7e4ca54fe8e96c95cedd4e8d6450659015212",
      "parents": [
        "558bbb2fc75fd9676e07e347c021865e326c56db"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jan 13 15:45:38 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:31 2011 -0800"
      },
      "message": "irq: use per_cpu kstat_irqs\n\nUse modern per_cpu API to increment {soft|hard}irq counters, and use\nper_cpu allocation for (struct irq_desc)-\u003ekstats_irq instead of an array.\n\nThis gives better SMP/NUMA locality and saves few instructions per irq.\n\nWith small nr_cpuids values (8 for example), kstats_irq was a small array\n(less than L1_CACHE_BYTES), potentially source of false sharing.\n\nIn the !CONFIG_SPARSE_IRQ case, remove the huge, NUMA/cache unfriendly\nkstat_irqs_all[NR_IRQS][NR_CPUS] array.\n\nNote: we still populate kstats_irq for all possible irqs in\nearly_irq_init().  We probably could use on-demand allocations.  (Code\nincluded in alloc_descs()).  Problem is not all IRQS are used with a prior\nalloc_descs() call.\n\nkstat_irqs_this_cpu() is not used anymore, remove it.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "275220f0fcff1adf28a717076e00f575edf05fda",
      "tree": "d249bccc80c64443dab211639050c4fb14332648",
      "parents": [
        "fe3c560b8a22cb28e54fe8950abef38e88d75831",
        "81c5e2ae33c4b19e53966b427e33646bf6811830"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:45:01 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:45:01 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.38/core\u0027 of git://git.kernel.dk/linux-2.6-block: (43 commits)\n  block: ensure that completion error gets properly traced\n  blktrace: add missing probe argument to block_bio_complete\n  block cfq: don\u0027t use atomic_t for cfq_group\n  block cfq: don\u0027t use atomic_t for cfq_queue\n  block: trace event block fix unassigned field\n  block: add internal hd part table references\n  block: fix accounting bug on cross partition merges\n  kref: add kref_test_and_get\n  bio-integrity: mark kintegrityd_wq highpri and CPU intensive\n  block: make kblockd_workqueue smarter\n  Revert \"sd: implement sd_check_events()\"\n  block: Clean up exit_io_context() source code.\n  Fix compile warnings due to missing removal of a \u0027ret\u0027 variable\n  fs/block: type signature of major_to_index(int) to major_to_index(unsigned)\n  block: convert !IS_ERR(p) \u0026\u0026 p to !IS_ERR_NOR_NULL(p)\n  cfq-iosched: don\u0027t check cfqg in choose_service_tree()\n  fs/splice: Pull buf-\u003eops-\u003econfirm() from splice_from_pipe actors\n  cdrom: export cdrom_check_events()\n  sd: implement sd_check_events()\n  sr: implement sr_check_events()\n  ...\n"
    },
    {
      "commit": "b2034d474b7e1e8578bd5c2977024b51693269d9",
      "tree": "e43969bf7c2ba89884c2580f56978826f1014520",
      "parents": [
        "27d189c02ba25851973c8582e419c0bded9f7e5b",
        "924241575a85249b9d410e38f5b2fcad9035e45c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:27:28 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:27:28 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (41 commits)\n  fs: add documentation on fallocate hole punching\n  Gfs2: fail if we try to use hole punch\n  Btrfs: fail if we try to use hole punch\n  Ext4: fail if we try to use hole punch\n  Ocfs2: handle hole punching via fallocate properly\n  XFS: handle hole punching via fallocate properly\n  fs: add hole punching to fallocate\n  vfs: pass struct file to do_truncate on O_TRUNC opens (try #2)\n  fix signedness mess in rw_verify_area() on 64bit architectures\n  fs: fix kernel-doc for dcache::prepend_path\n  fs: fix kernel-doc for dcache::d_validate\n  sanitize ecryptfs -\u003emount()\n  switch afs\n  move internal-only parts of ncpfs headers to fs/ncpfs\n  switch ncpfs\n  switch 9p\n  pass default dentry_operations to mount_pseudo()\n  switch hostfs\n  switch affs\n  switch configfs\n  ...\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "e2c18e49a0d4f822ffc29fb4958943beb1ff08b7",
      "tree": "227dbb544277f7908fa1666ce21a15e6b2282ccb",
      "parents": [
        "025b40abe715d638e60516a657d354e8560c1a85"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "lasaine@lvk.cs.msu.su",
        "time": "Wed Jan 12 17:00:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:21 2011 -0800"
      },
      "message": "pps: capture MONOTONIC_RAW timestamps as well\n\nMONOTONIC_RAW clock timestamps are ideally suited for frequency\ncalculation and also fit well into the original NTP hardpps design.  Now\nphase and frequency can be adjusted separately: the former based on\nREALTIME clock and the latter based on MONOTONIC_RAW clock.\n\nA new function getnstime_raw_and_real is added to timekeeping subsystem to\ncapture both timestamps at the same time and atomically.\n\nSigned-off-by: Alexander Gordeev \u003clasaine@lvk.cs.msu.su\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@enneenne.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "025b40abe715d638e60516a657d354e8560c1a85",
      "tree": "9320d3993c65c4eb56d3ab30337d590eb8c892fd",
      "parents": [
        "12f9b1f9c11700893a7b453705d95b260d78f268"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "lasaine@lvk.cs.msu.su",
        "time": "Wed Jan 12 17:00:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:20 2011 -0800"
      },
      "message": "ntp: add hardpps implementation\n\nThis commit adds hardpps() implementation based upon the original one from\nthe NTPv4 reference kernel code from David Mills.  However, it is highly\noptimized towards very fast syncronization and maximum stickness to PPS\nsignal.  The typical error is less then a microsecond.\n\nTo make it sync faster I had to throw away exponential phase filter so\nthat the full phase offset is corrected immediately.  Then I also had to\nthrow away median phase filter because it gives a bigger error itself if\nused without exponential filter.\n\nMaybe we will find an appropriate filtering scheme in the future but it\u0027s\nnot necessary if the signal quality is ok.\n\nSigned-off-by: Alexander Gordeev \u003clasaine@lvk.cs.msu.su\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@enneenne.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ab020cf07e457a8b425bf5af17e704f90f86d8b",
      "tree": "8119f741492575b12968f325cb225ec16f437fc7",
      "parents": [
        "0329326e85aaa30fb8d427828c718d565c287385"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Wed Jan 12 17:00:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:19 2011 -0800"
      },
      "message": "taskstats: use better ifdef for alignment\n\nCommit 4be2c95d (\"taskstats: pad taskstats netlink response for aligment\nissues on ia64\") added a null field to align the taskstats structure but\nthe discussion centered around ia64.  The issue exists on other platforms\nwith inefficient unaligned access and adding them piecemeal would be an\nunmaintainable mess.\n\nThis patch uses Dave Miller\u0027s suggestion of using a combination of\nCONFIG_64BIT \u0026\u0026 !CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS to determine\nwhether alignment is needed.\n\nNote that this will cause breakage on those platforms with applications\nlike iotop which had hard-coded offsets into the packet to access the\ntaskstats structure.\n\nThe message seen on systems without the alignment fixes looks like: kernel\nunaligned access to 0xe000023879dca9bc, ip\u003d0xa000000100133d10\n\nThe addresses may vary but resolve to locations inside __delayacct_add_tsk.\n\niotop makes what I\u0027d call unreasonable assumptions about the contents of a\nnetlink genetlink packet containing generic attributes.  They\u0027re typed and\nhave headers that specify value lengths, so the client can (should)\nidentify and skip the ones the client doesn\u0027t understand.\n\nThe kernel, as of version 2.6.36, presented a packet like so:\n+--------------------------------+\n| genlmsghdr - 4 bytes           |\n+--------------------------------+\n| NLA header - 4 bytes           | /* Aggregate header */\n+-+------------------------------+\n| | NLA header - 4 bytes         | /* PID header */\n| +------------------------------+\n| | pid/tgid   - 4 bytes         |\n| +------------------------------+\n| | NLA header - 4 bytes         | /* stats header */\n| + -----------------------------+ \u003c- oops. aligned on 4 byte boundary\n| | struct taskstats - 328 bytes |\n+-+------------------------------+\n\nThe iotop code expects that the kernel will behave as it did then,\nassuming that the packet format is set in stone.  The format is set in\nstone, but the packet offsets are not.  There\u0027s nothing in the packet\nformat that guarantees that the packet will be sent in exactly the same\nway.  The attribute contents are set (or versioned) and the aggregate\ncontents are set but they can be anywhere in the packet.\n\nThe issue here isn\u0027t that an unaligned structure gets passed to userspace,\nit\u0027s that the NLA infrastructure has something of a weakness: The 4 byte\nattribute header may force the payload to be unaligned.  The taskstats\nstructure is created at an unaligned location and then 64-bit values are\noperated on inside the kernel, so the unaligned access warnings gets\nspewed everywhere.\n\nIt\u0027s possible to use the unaligned access API to operate on the structure\nin the kernel but it seems like a wasted effort to work around userspace\ncode that isn\u0027t following the packet format.  Any new additions would also\nneed the be worked around.  It\u0027s a maintenance nightmare.\n\nThe conclusion of the earlier discussion seemed to be \"ok fine, if we have\nto break it, don\u0027t break it on arches that don\u0027t have the problem.\" Dave\npointed out that the unaligned access problem doesn\u0027t only exist on ia64,\nbut also on other 64-bit arches that don\u0027t have efficient unaligned access\nand it should be fixed there as well.  The committed version of the patch\nand this addition keep with the conclusion of that discussion not to break\nit unnecessarily, which the pid padding and the packet padding fixes did\ndo.  x86_64 and powerpc don\u0027t suffer this problem so they shouldn\u0027t suffer\nthe solution.  Other 64-bit architectures do and will, though.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nReported-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Florian Mickler \u003cflorian@mickler.org\u003e\nCc: Guillaume Chazarain \u003cguichaz@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": "6164281ab7a4d3bd42588d6b25984e960a2e032f",
      "tree": "ea4bf309efed7ec922431c6e5b5d659919eaf2ae",
      "parents": [
        "e020e742e5dbd8c44d31706995dc13ddc732e274"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Wed Jan 12 17:00:46 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:18 2011 -0800"
      },
      "message": "user_ns: improve the user_ns on-the-slab packaging\n\nCurrently on 64-bit arch the user_namespace is 2096 and when being\nkmalloc-ed it resides on a 4k slab wasting 2003 bytes.\n\nIf we allocate a separate cache for it and reduce the hash size from 128\nto 64 chains the packaging becomes *much* better - the struct is 1072\nbytes and the hole between is 98 bytes.\n\n[akpm@linux-foundation.org: s/__initcall/module_init/]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e020e742e5dbd8c44d31706995dc13ddc732e274",
      "tree": "7a92c6bee050f27dda16dcc1eb3e7c9cf23fca07",
      "parents": [
        "556105000334cb440636ef61b862d22b03c24f70"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Wed Jan 12 17:00:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:18 2011 -0800"
      },
      "message": "sysctl: remove obsolete comments\n\nctl_unnumbered.txt have been removed in Documentation directory so just\nalso remove this invalid comments\n\n[akpm@linux-foundation.org: fix Documentation/sysctl/00-INDEX, per Dave]\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@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": "556105000334cb440636ef61b862d22b03c24f70",
      "tree": "7b5b8d859c4e6950a67e3785c77612b6f1773a00",
      "parents": [
        "12a4dc43911785f51a596f771ae0701b18d436f1"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Wed Jan 12 17:00:45 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:18 2011 -0800"
      },
      "message": "sysctl: fix #ifdef guard comment\n\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@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": "34e49d4f635d6a800c4089c40fd254e12e451449",
      "tree": "097715098524f7cf997f5646af75f839b3744fa0",
      "parents": [
        "1bdcd78e2445f1ef7097a3ae7ef12e8f9c4fb05f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Jan 12 17:00:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:16 2011 -0800"
      },
      "message": "fs/proc/base.c, kernel/latencytop.c: convert sprintf_symbol() to %ps\n\nUse temporary lr for struct latency_record for improved readability and\nfewer columns used.  Removed trailing space from output.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jiri Kosina \u003ctrivial@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": "fb842b00c5eab66ec361b31550aa8a922745ce9e",
      "tree": "cef7e6a0bd01849fcfc911f36293304f9ba7b3c2",
      "parents": [
        "f0f2c2b5b40b5e621a47a6a274117cce77841f1e"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jan 12 16:59:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:09 2011 -0800"
      },
      "message": "printk: use RCU to prevent potential lock contention in kmsg_dump\n\ndump_list_lock is used to protect dump_list in kmsg_dumper implementation,\nkmsg_dump() uses it to traverse dump_list too.  But if there is contention\non the lock, kmsg_dump() will fail, and the valuable kernel message may be\nlost.\n\nThis patch solves this issue with RCU.  Because kmsg_dump() only read the\nlist, no lock is needed in kmsg_dump().  So that kmsg_dump() will never\nfail because of lock contention.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\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": "455cd5ab305c90ffc422dd2e0fb634730942b257",
      "tree": "c20e6c3f8e58967991ce9002abe03d31897b171c",
      "parents": [
        "351f8f8e6499ae4fff40f5e3a8fe16d9e1903646"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Wed Jan 12 16:59:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:08 2011 -0800"
      },
      "message": "kptr_restrict for hiding kernel pointers from unprivileged users\n\nAdd the %pK printk format specifier and the /proc/sys/kernel/kptr_restrict\nsysctl.\n\nThe %pK format specifier is designed to hide exposed kernel pointers,\nspecifically via /proc interfaces.  Exposing these pointers provides an\neasy target for kernel write vulnerabilities, since they reveal the\nlocations of writable structures containing easily triggerable function\npointers.  The behavior of %pK depends on the kptr_restrict sysctl.\n\nIf kptr_restrict is set to 0, no deviation from the standard %p behavior\noccurs.  If kptr_restrict is set to 1, the default, if the current user\n(intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG\n(currently in the LSM tree), kernel pointers using %pK are printed as 0\u0027s.\n If kptr_restrict is set to 2, kernel pointers using %pK are printed as\n0\u0027s regardless of privileges.  Replacing with 0\u0027s was chosen over the\ndefault \"(null)\", which cannot be parsed by userland %p, which expects\n\"(nil)\".\n\n[akpm@linux-foundation.org: check for IRQ context when !kptr_restrict, save an indent level, s/WARN/WARN_ONCE/]\n[akpm@linux-foundation.org: coding-style fixup]\n[randy.dunlap@oracle.com: fix kernel/sysctl.c warning]\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Thomas Graf \u003ctgraf@infradead.org\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "351f8f8e6499ae4fff40f5e3a8fe16d9e1903646",
      "tree": "9393c8d3a6a1eaa9dba50932eb6de3017a8afe86",
      "parents": [
        "b8cb464e4a8abc60ad5a43e0375fec8a3c728167"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Wed Jan 12 16:59:39 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:08 2011 -0800"
      },
      "message": "kernel: clean up USE_GENERIC_SMP_HELPERS\n\nFor arch which needs USE_GENERIC_SMP_HELPERS, it has to select\nUSE_GENERIC_SMP_HELPERS, rather than leaving a choice to user, since they\ndon\u0027t provide their own implementions.\n\nAlso, move on_each_cpu() to kernel/smp.c, it is strange to put it in\nkernel/softirq.c.\n\nFor arch which doesn\u0027t use USE_GENERIC_SMP_HELPERS, e.g.  blackfin, only\non_each_cpu() is compiled.\n\nSigned-off-by: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04c6862c055fb687c90d9652f32c11a063df15cf",
      "tree": "b381c4c2005118f05ce8d2f3d363b73807c0eddf",
      "parents": [
        "fc2d557c74dc58294b9acc7231a2113ae59af97c"
      ],
      "author": {
        "name": "Seiji Aguchi",
        "email": "seiji.aguchi@hds.com",
        "time": "Wed Jan 12 16:59:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:07 2011 -0800"
      },
      "message": "kmsg_dump: add kmsg_dump() calls to the reboot, halt, poweroff and emergency_restart paths\n\nWe need to know the reason why system rebooted in support service.\nHowever, we can\u0027t inform our customers of the reason because final\nmessages are lost on current Linux kernel.\n\nThis patch improves the situation above because the final messages are\nsaved by adding kmsg_dump() to reboot, halt, poweroff and\nemergency_restart path.\n\nSigned-off-by: Seiji Aguchi \u003cseiji.aguchi@hds.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Marco Stornelli \u003cmarco.stornelli@gmail.com\u003e\nReviewed-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0df6a63f8735a7c8a877878bc215d4312e41ef81",
      "tree": "93eb15c4408d86e16a6a96409670d16cf223e106",
      "parents": [
        "af53d29ac13a97304d44343dc3b26154ca595268"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 21 13:29:29 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 12 20:02:47 2011 -0500"
      },
      "message": "switch cgroup\n\nswitching it to s_d_op allows to kill the cgroup_lookup() kludge.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "afa14e7c553ebe45844d76208f66017a43abd0e2",
      "tree": "2f1d13e996ba3db9be9d34b793edb432f6368bdd",
      "parents": [
        "5fdade95f26372154459347dfb9f60721d22cfc7"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Jan 11 17:59:38 2011 -0600"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 12 12:23:13 2011 +0100"
      },
      "message": "timekeeping: Make local variables static\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c0D753D10438DA54287A00B027084269764CE0E54B7@AUSP01VMBX24.collaborationhost.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "5fdade95f26372154459347dfb9f60721d22cfc7",
      "tree": "17575b462302904b9b2c0a912d245f0fa3572aa8",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@fluxnic.net",
        "time": "Tue Jan 11 12:18:12 2011 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 12 12:23:12 2011 +0100"
      },
      "message": "time: Rename misnamed minsec argument of clocks_calc_mult_shift()\n\nThe minsec argument to clocks_calc_mult_shift() is misnamed. It is used \nto clamp the magnitude of the mult factor so that a multiplication with \nany value in the given range won\u0027t overflow a 64 bit result.  Let\u0027s \nrename it to match the actual usage.\n\nSigned-off-by: Nicolas Pitre \u003cnicolas.pitre@linaro.org\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1101111207140.17086@xanadu.home\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "03b6e6e58d9dd5f3068288653810db3c15fde929",
      "tree": "b6edb300df2e230230f1f7428ffa54f27b0a040d",
      "parents": [
        "9e0c20bceb611917a7546172ac617d07e5af0cfa",
        "81e88fdc432a1552401d6e91a984dcccce72b8dc"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jan 12 05:02:22 2011 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jan 12 05:02:22 2011 -0500"
      },
      "message": "Merge branch \u0027apei\u0027 into release\n"
    },
    {
      "commit": "81e88fdc432a1552401d6e91a984dcccce72b8dc",
      "tree": "41ef511cda7ddf6b96f8d923ffceff74651a5790",
      "parents": [
        "32c361f574f85fa47600d84900598e2efc99082e"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Wed Jan 12 14:44:55 2011 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Jan 12 03:06:19 2011 -0500"
      },
      "message": "ACPI, APEI, Generic Hardware Error Source POLL/IRQ/NMI notification type support\n\nGeneric Hardware Error Source provides a way to report platform\nhardware errors (such as that from chipset). It works in so called\n\"Firmware First\" mode, that is, hardware errors are reported to\nfirmware firstly, then reported to Linux by firmware. This way, some\nnon-standard hardware error registers or non-standard hardware link\ncan be checked by firmware to produce more valuable hardware error\ninformation for Linux.\n\nThis patch adds POLL/IRQ/NMI notification types support.\n\nBecause the memory area used to transfer hardware error information\nfrom BIOS to Linux can be determined only in NMI, IRQ or timer\nhandler, but general ioremap can not be used in atomic context, so a\nspecial version of atomic ioremap is implemented for that.\n\nKnown issue:\n\n- Error information can not be printed for recoverable errors notified\n  via NMI, because printk is not NMI-safe. Will fix this via delay\n  printing to IRQ context via irq_work or make printk NMI-safe.\n\nv2:\n\n- adjust printk format per comments.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "42776163e13a56ea3096edff7a5df95408e80eb4",
      "tree": "92f17bb5dadc7261b2d9238244cd8d4cb6c1bfd7",
      "parents": [
        "edb2877f4a62647e36e20839a786f94d688a06ed",
        "3d03e2ea74103a50c23d6ab1906cf73399c0dafb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 11:02:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 11 11:02:13 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits)\n  perf session: Fix infinite loop in __perf_session__process_events\n  perf evsel: Support perf_evsel__open(cpus \u003e 1 \u0026\u0026 threads \u003e 1)\n  perf sched: Use PTHREAD_STACK_MIN to avoid pthread_attr_setstacksize() fail\n  perf tools: Emit clearer message for sys_perf_event_open ENOENT return\n  perf stat: better error message for unsupported events\n  perf sched: Fix allocation result check\n  perf, x86: P4 PMU - Fix unflagged overflows handling\n  dynamic debug: Fix build issue with older gcc\n  tracing: Fix TRACE_EVENT power tracepoint creation\n  tracing: Fix preempt count leak\n  tracepoint: Add __rcu annotation\n  tracing: remove duplicate null-pointer check in skb tracepoint\n  tracing/trivial: Add missing comma in TRACE_EVENT comment\n  tracing: Include module.h in define_trace.h\n  x86: Save rbp in pt_regs on irq entry\n  x86, dumpstack: Fix unused variable warning\n  x86, NMI: Clean-up default_do_nmi()\n  x86, NMI: Allow NMI reason io port (0x61) to be processed on any CPU\n  x86, NMI: Remove DIE_NMI_IPI\n  x86, NMI: Add priorities to handlers\n  ...\n"
    },
    {
      "commit": "42c025f3de9042d9c9abd9a6f6205d1a0f4bcadf",
      "tree": "67c618a227059548e2be915560aa113f590e6d5e",
      "parents": [
        "e159489baa717dbae70f9903770a6a4990865887"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 11 15:58:49 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 11 16:03:14 2011 +0100"
      },
      "message": "workqueue: note the nested NOT_RUNNING test in worker_clr_flags() isn\u0027t a noop\n\nThe nested NOT_RUNNING test in worker_clr_flags() is slightly\nmisleading in that if NOT_RUNNING were a single flag the nested test\nwould be always %true and thus noop.  Add a comment noting that the\ntest isn\u0027t a noop.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Hillf Danton \u003cdhillf@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e159489baa717dbae70f9903770a6a4990865887",
      "tree": "6e2ae803ff6ebed558ebbe03bf3ae5bda1dd6ebc",
      "parents": [
        "0c21e3aaf6ae85bee804a325aa29c325209180fd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Jan 09 23:32:15 2011 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jan 11 15:33:01 2011 +0100"
      },
      "message": "workqueue: relax lockdep annotation on flush_work()\n\nCurrently, the lockdep annotation in flush_work() requires exclusive\naccess on the workqueue the target work is queued on and triggers\nwarning if a work is trying to flush another work on the same\nworkqueue; however, this is no longer true as workqueues can now\nexecute multiple works concurrently.\n\nThis patch adds lock_map_acquire_read() and make process_one_work()\nhold read access to the workqueue while executing a work and\nstart_flush_work() check for write access if concurrnecy level is one\nor the workqueue has a rescuer (as only one execution resource - the\nrescuer - is guaranteed to be available under memory pressure), and\nread access if higher.\n\nThis better represents what\u0027s going on and removes spurious lockdep\nwarnings which are triggered by fake dependency chain created through\nflush_work().\n\n* Peter pointed out that flushing another work from a WQ_MEM_RECLAIM\n  wq breaks forward progress guarantee under memory pressure.\n  Condition check accordingly updated.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nTested-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f123c98e7f168e949b283690693695f988332c3d",
      "tree": "18e3421ae3e23625686564af36ca844805cf812d",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 06 15:08:29 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 11 15:17:24 2011 +0100"
      },
      "message": "rtmutex: Fix comment about why new_owner can be NULL in wake_futex_pi()\n\nThe comment about why rt_mutex_next_owner() can return NULL in\nwake_futex_pi() is not the normal case.\n\nTracing the cause of why this occurs is more likely that waiter\nsimply timedout. But because it originally caused contention with\nthe futex, the owner will go into the kernel when it unlocks\nthe lock. Then it will hit this code path and\nrt_mutex_next_owner() will return NULL.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0e736fc0d33861335e2a132e4f688f7fd380c61",
      "tree": "d9febe9ca1ef1e24efc5e6e1e34e412316d246bd",
      "parents": [
        "a08948812b30653eb2c536ae613b635a989feb6f",
        "aeda4ac3efc29e4d55989abd0a73530453aa69ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 11:18:59 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 11:18:59 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (30 commits)\n  MAINTAINERS: Add tomoyo-dev-en ML.\n  SELinux: define permissions for DCB netlink messages\n  encrypted-keys: style and other cleanup\n  encrypted-keys: verify datablob size before converting to binary\n  trusted-keys: kzalloc and other cleanup\n  trusted-keys: additional TSS return code and other error handling\n  syslog: check cap_syslog when dmesg_restrict\n  Smack: Transmute labels on specified directories\n  selinux: cache sidtab_context_to_sid results\n  SELinux: do not compute transition labels on mountpoint labeled filesystems\n  This patch adds a new security attribute to Smack called SMACK64EXEC. It defines label that is used while task is running.\n  SELinux: merge policydb_index_classes and policydb_index_others\n  selinux: convert part of the sym_val_to_name array to use flex_array\n  selinux: convert type_val_to_struct to flex_array\n  flex_array: fix flex_array_put_ptr macro to be valid C\n  SELinux: do not set automatic i_ino in selinuxfs\n  selinux: rework security_netlbl_secattr_to_sid\n  SELinux: standardize return code handling in selinuxfs.c\n  SELinux: standardize return code handling in selinuxfs.c\n  SELinux: standardize return code handling in policydb.c\n  ...\n"
    },
    {
      "commit": "0c05384a5a1af2352b8c244cf32f480ba6cbf024",
      "tree": "5090f9d2d07d0bccae3144bb0cdbdf15e8555013",
      "parents": [
        "1542dec1c9109fdcd1c53460f064096f24fc49d2",
        "bc91c9f313309915f6ec767f56f78dcd0305b20f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:27:52 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:27:52 2011 -0800"
      },
      "message": "Merge branch \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6\n\n* \u0027kbuild\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:\n  mkuboot.sh: Fail if mkimage is missing\n  gen_init_cpio: checkpatch fixes\n  gen_init_cpio: Avoid race between call to stat() and call to open()\n  modpost: Fix address calculation in reloc_location()\n  Make fixdep error handling more explicit\n  checksyscalls: Fix stand-alone usage\n  modpost: Put .zdebug* section on white list\n  kbuild: fix interaction of CONFIG_IKCONFIG and KCONFIG_CONFIG\n  kbuild: export linux/{a.out,kvm,kvm_para}.h on headers_install_all\n  kbuild: introduce HDR_ARCH_LIST for headers_install_all\n  headers_install: check exit status of unifdef\n  gen_init_cpio: remove leading `/\u0027 from file names\n  scripts/genksyms: fix header usage\n  fixdep: use hash table instead of a single array\n"
    },
    {
      "commit": "c8940eca75e6d1ea57f6c491a30bd1023c64c9ad",
      "tree": "d68944ab9fa8ba3c77b18edc2bd836c7e355b23e",
      "parents": [
        "78c92a9fd4b6abbbc1fe1ec335c697cb4e63f252",
        "3ae22e8c8ac39daf88ae32f047fb23825be7c646"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:14:53 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:14:53 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  spi / PM: Support dev_pm_ops\n  PM: Prototype the pm_generic_ operations\n  PM / Runtime: Generic resume shouldn\u0027t set RPM_ACTIVE unconditionally\n  PM: Use dev_name() in core device suspend and resume routines\n  PM: Permit registration of parentless devices during system suspend\n  PM: Replace the device power.status field with a bit field\n  PM: Remove redundant checks from core device resume routines\n  PM: Use a different list of devices for each stage of device suspend\n  PM: Avoid compiler warning in pm_noirq_op()\n  PM: Use pm_wakeup_pending() in __device_suspend()\n  PM / Wakeup: Replace pm_check_wakeup_events() with pm_wakeup_pending()\n  PM: Prevent dpm_prepare() from returning errors unnecessarily\n  PM: Fix references to basic-pm-debugging.txt in drivers-testing.txt\n  PM / Runtime: Add synchronous runtime interface for interrupt handlers (v3)\n  PM / Hibernate: When failed, in_suspend should be reset\n  PM / Hibernate: hibernation_ops-\u003eleave should be checked too\n  Freezer: Fix a race during freezing of TASK_STOPPED tasks\n  PM: Use proper ccflag flag in kernel/power/Makefile\n  PM / Runtime: Fix comments to match runtime callback code\n"
    },
    {
      "commit": "797a455d2c682476c3797dbfecf5bf84c1e3b9d3",
      "tree": "3e5c4af8661e67841610820c40163093c739bb86",
      "parents": [
        "23036f1a340beec19cc451ba9719526c4ffb3a57"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Jan 10 09:06:44 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Mon Jan 10 09:06:44 2011 +0100"
      },
      "message": "block: ensure that completion error gets properly traced\n\nWe normally just use the BIO_UPTODATE flag to signal 0/-EIO. If\nwe have more information available, we should pass that along to\nthe trace output.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d2e7ad19229f982fc1eb731827d82ceac90abfb3",
      "tree": "98a3741b4d4b27a48b3c7ea9babe331e539416a8",
      "parents": [
        "d03a5d888fb688c832d470b749acc5ed38e0bc1d",
        "0c21e3aaf6ae85bee804a325aa29c325209180fd"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 10 09:46:24 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 10 09:46:24 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/smack/smack_lsm.c\n\nVerified and added fix by Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nOk\u0027d by Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "4385428a477559b26736cc3c80d8b68f31126c71",
      "tree": "8eb0cbc78e79c368687fa13a1e0674ae537f830f",
      "parents": [
        "047a3772feaae8e43d81d790f3d3f80dae8ae676",
        "2d75af2f2a7a6103a6d539a492fe81deacabde44"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 09 10:42:21 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 09 10:42:21 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "870915e047a2da695be118d32dd5a900f0c3e933",
      "tree": "5d816db36d55d7b78b58dbb1d60a127d528ebb06",
      "parents": [
        "1dbd1951f39e13da579ffe879cce19586d0462de"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@efficios.com",
        "time": "Thu Oct 28 11:31:17 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 07 23:26:29 2011 -0500"
      },
      "message": "tracing: Fix TRACE_EVENT power tracepoint creation\n\nDEFINE_TRACE should also exist when CONFIG_EVENT_TRACING\u003dn. Otherwise, setting\nonly TRACEPOINTS\u003dy is broken.\n\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nLKML-Reference: \u003c20101028153117.GA4051@Krystal\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1dbd1951f39e13da579ffe879cce19586d0462de",
      "tree": "faf1ea3208d0e612968a2892917c036a32ff9bda",
      "parents": [
        "bd1c8b22b7b81c6f6c4f5c19cb2387da3d02fb0f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Dec 09 15:47:56 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 07 23:20:02 2011 -0500"
      },
      "message": "tracing: Fix preempt count leak\n\nWhile running my ftrace stress test, this showed up:\n\nBUG: sleeping function called from invalid context at mm/mmap.c:233\n...\nnote: cat[3293] exited with preempt_count 1\n\nThe bug was introduced by commit 91e86e560d0b3ce4c5fc64fd2bbb99f856a30a4e\n(\"tracing: Fix recursive user stack trace\")\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4D0089AC.1020802@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "72eb6a791459c87a0340318840bb3bd9252b627b",
      "tree": "3bfb8ad99f9c7e511f37f72d57b56a2cea06d753",
      "parents": [
        "23d69b09b78c4876e134f104a3814c30747c53f1",
        "55ee4ef30241a62b700f79517e6d5ef2ddbefa67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (30 commits)\n  gameport: use this_cpu_read instead of lookup\n  x86: udelay: Use this_cpu_read to avoid address calculation\n  x86: Use this_cpu_inc_return for nmi counter\n  x86: Replace uses of current_cpu_data with this_cpu ops\n  x86: Use this_cpu_ops to optimize code\n  vmstat: User per cpu atomics to avoid interrupt disable / enable\n  irq_work: Use per cpu atomics instead of regular atomics\n  cpuops: Use cmpxchg for xchg to avoid lock semantics\n  x86: this_cpu_cmpxchg and this_cpu_xchg operations\n  percpu: Generic this_cpu_cmpxchg() and this_cpu_xchg support\n  percpu,x86: relocate this_cpu_add_return() and friends\n  connector: Use this_cpu operations\n  xen: Use this_cpu_inc_return\n  taskstats: Use this_cpu_ops\n  random: Use this_cpu_inc_return\n  fs: Use this_cpu_inc_return in buffer.c\n  highmem: Use this_cpu_xx_return() operations\n  vmstat: Use this_cpu_inc_return for vm statistics\n  x86: Support for this_cpu_add, sub, dec, inc_return\n  percpu: Generic support for this_cpu_add, sub, dec, inc_return\n  ...\n\nFixed up conflicts: in arch/x86/kernel/{apic/nmi.c, apic/x2apic_uv_x.c, process.c}\nas per Tejun.\n"
    },
    {
      "commit": "23d69b09b78c4876e134f104a3814c30747c53f1",
      "tree": "40744de4f4126c21027ce537264524095e0e7979",
      "parents": [
        "e744070fd4ff9d3114277e52d77afa21579adce2",
        "569ff2de2e1c8ac67c8df3a7367d46d0d9460a35"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 16:58:04 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits)\n  usb: don\u0027t use flush_scheduled_work()\n  speedtch: don\u0027t abuse struct delayed_work\n  media/video: don\u0027t use flush_scheduled_work()\n  media/video: explicitly flush request_module work\n  ioc4: use static work_struct for ioc4_load_modules()\n  init: don\u0027t call flush_scheduled_work() from do_initcalls()\n  s390: don\u0027t use flush_scheduled_work()\n  rtc: don\u0027t use flush_scheduled_work()\n  mmc: update workqueue usages\n  mfd: update workqueue usages\n  dvb: don\u0027t use flush_scheduled_work()\n  leds-wm8350: don\u0027t use flush_scheduled_work()\n  mISDN: don\u0027t use flush_scheduled_work()\n  macintosh/ams: don\u0027t use flush_scheduled_work()\n  vmwgfx: don\u0027t use flush_scheduled_work()\n  tpm: don\u0027t use flush_scheduled_work()\n  sonypi: don\u0027t use flush_scheduled_work()\n  hvsi: don\u0027t use flush_scheduled_work()\n  xen: don\u0027t use flush_scheduled_work()\n  gdrom: don\u0027t use flush_scheduled_work()\n  ...\n\nFixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c\nas per Tejun.\n"
    },
    {
      "commit": "e744070fd4ff9d3114277e52d77afa21579adce2",
      "tree": "5f397c684c61a50bd47014abfe685fd6c3d09d8c",
      "parents": [
        "d004e4d3322340b6433caaef4a47ab8c933afb70",
        "c9b5f501ef1580faa30c40c644b7691870462201"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:55:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:55:48 2011 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Constify function scope static struct sched_param usage\n  sched: Fix strncmp operation\n  sched: Move sched_autogroup_exit() to free_signal_struct()\n  sched: Fix struct autogroup memory leak\n  sched: Mark autogroup_init() __init\n  sched: Consolidate the name of root_task_group and init_task_group\n"
    },
    {
      "commit": "56b85f32d530d09d6805488ad00775d4e0e3baab",
      "tree": "e7fbe69e338ef775d3b2dd822aa915d259b4bc94",
      "parents": [
        "3e5b08cbbf78bedd316904ab0cf3b27119433ee5",
        "568389c257fa7d74ce36c2f78bad31965fded4cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 14:39:20 2011 -0800"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (36 commits)\n  serial: apbuart: Fixup apbuart_console_init()\n  TTY: Add tty ioctl to figure device node of the system console.\n  tty: add \u0027active\u0027 sysfs attribute to tty0 and console device\n  drivers: serial: apbuart: Handle OF failures gracefully\n  Serial: Avoid unbalanced IRQ wake disable during resume\n  tty: fix typos/errors in tty_driver.h comments\n  pch_uart : fix warnings for 64bit compile\n  8250: fix uninitialized FIFOs\n  ip2: fix compiler warning on ip2main_pci_tbl\n  specialix: fix compiler warning on specialix_pci_tbl\n  rocket: fix compiler warning on rocket_pci_ids\n  8250: add a UPIO_DWAPB32 for 32 bit accesses\n  8250: use container_of() instead of casting\n  serial: omap-serial: Add support for kernel debugger\n  serial: fix pch_uart kconfig \u0026 build\n  drivers: char: hvc: add arm JTAG DCC console support\n  RS485 documentation: add 16C950 UART description\n  serial: ifx6x60: fix memory leak\n  serial: ifx6x60: free IRQ on error\n  Serial: EG20T: add PCH_UART driver\n  ...\n\nFixed up conflicts in drivers/serial/apbuart.c with evil merge that\nmakes the code look fairly sane (unlike either side).\n"
    },
    {
      "commit": "b4a45f5fe8078bfc10837dbd5b98735058bc4698",
      "tree": "df6f13a27610a3ec7eb4a661448cd779a8f84c79",
      "parents": [
        "01539ba2a706ab7d35fc0667dff919ade7f87d63",
        "b3e19d924b6eaf2ca7d22cba99a517c5171007b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 08:56:33 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin: (57 commits)\n  fs: scale mntget/mntput\n  fs: rename vfsmount counter helpers\n  fs: implement faster dentry memcmp\n  fs: prefetch inode data in dcache lookup\n  fs: improve scalability of pseudo filesystems\n  fs: dcache per-inode inode alias locking\n  fs: dcache per-bucket dcache hash locking\n  bit_spinlock: add required includes\n  kernel: add bl_list\n  xfs: provide simple rcu-walk ACL implementation\n  btrfs: provide simple rcu-walk ACL implementation\n  ext2,3,4: provide simple rcu-walk ACL implementation\n  fs: provide simple rcu-walk generic_check_acl implementation\n  fs: provide rcu-walk aware permission i_ops\n  fs: rcu-walk aware d_revalidate method\n  fs: cache optimise dentry and inode for rcu-walk\n  fs: dcache reduce branches in lookup path\n  fs: dcache remove d_mounted\n  fs: fs_struct use seqlock\n  fs: rcu-walk for path lookup\n  ...\n"
    },
    {
      "commit": "c9b5f501ef1580faa30c40c644b7691870462201",
      "tree": "d22df12b72bc90b130254078ee71b1b7e7e3e521",
      "parents": [
        "524429c31b486c05449666b94613f59f729c0a84"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 07 13:41:40 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:55:45 2011 +0100"
      },
      "message": "sched: Constify function scope static struct sched_param usage\n\nFunction-scope statics are discouraged because they are\neasily overlooked and can cause subtle bugs/races due to\ntheir global (non-SMP safe) nature.\n\nLinus noticed that we did this for sched_param - at minimum\nmake the const.\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: Message-ID: \u003cAANLkTinotRxScOHEb0HgFgSpGPkq_6jKTv5CfvnQM\u003dee@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "524429c31b486c05449666b94613f59f729c0a84",
      "tree": "00d0a06e864c0054cc6764f1afa6887e1281bcb6",
      "parents": [
        "1c5354de90c900b369e2ebd36c3a065ede29eb93"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Thu Jan 06 20:58:12 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:55:10 2011 +0100"
      },
      "message": "sched: Fix strncmp operation\n\nOne of the operands, buf, is incorrect, since it is stripped and the\ncorrect address for subsequent string comparing could change if\nleading white spaces, if any, are removed from buf.\n\nIt is fixed by replacing buf with cmp.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cAANLkTinOPuYsVovrZpbuCCmG5deEyc8WgA_A1RJx_YK7@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c5354de90c900b369e2ebd36c3a065ede29eb93",
      "tree": "3144205e179f8c4503db06e8da95b604d1640b68",
      "parents": [
        "e9aa1dd19fe49b5aed3ca94aab87576e534d2a39"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 05 11:16:04 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:39 2011 +0100"
      },
      "message": "sched: Move sched_autogroup_exit() to free_signal_struct()\n\nPer Oleg\u0027s suggestion, undo fork failure free/put_signal_struct change,\nand move sched_autogroup_exit() to free_signal_struct() instead.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294222564.8369.6.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9aa1dd19fe49b5aed3ca94aab87576e534d2a39",
      "tree": "04652389e0bd04e37a327002c21b8215c972eda8",
      "parents": [
        "0ca0873555c0abe17b28c25b19f82857c0ddd2bc"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 05 11:11:25 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:37 2011 +0100"
      },
      "message": "sched: Fix struct autogroup memory leak\n\nSeems I lost a change somewhere, leaking memory.\n\nsched: fix struct autogroup memory leak\n\nAdd missing change to actually use autogroup_free().\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294222285.8369.2.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0ca0873555c0abe17b28c25b19f82857c0ddd2bc",
      "tree": "e777dbbcf9ea2e72f253c2816d7ec2e768e09178",
      "parents": [
        "07e06b011db2b3300f6c975ebf293fc4c8c59942"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 07 12:43:45 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:36 2011 +0100"
      },
      "message": "sched: Mark autogroup_init() __init\n\nautogroup_init() is only called at boot time.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294375425-31065-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07e06b011db2b3300f6c975ebf293fc4c8c59942",
      "tree": "f6f0fdd7c1707aa9badf16d1ceb4de1e16adb9e9",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 07 15:17:36 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:34 2011 +0100"
      },
      "message": "sched: Consolidate the name of root_task_group and init_task_group\n\nroot_task_group is the leftover of USER_SCHED, now it\u0027s always\nsame to init_task_group.\nBut as Mike suggested, root_task_group is maybe the suitable name\nto keep for a tree.\nSo in this patch:\n  init_task_group      --\u003e root_task_group\n  init_task_group_load --\u003e root_task_group_load\n  INIT_TASK_GROUP_LOAD --\u003e ROOT_TASK_GROUP_LOAD\n\nSuggested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110107071736.GA32635@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4158755d3136f4cb05c1a8a260e9c06f93baeb48",
      "tree": "4ca2b7b020582a4b353af84d5684a91d4bcf995d",
      "parents": [
        "5632ab12e9e1fcd7e94058567e181d8f35e83798"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jan 03 18:20:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:08:51 2011 +0100"
      },
      "message": "perf_events: Add perf_event_time()\n\nAdds perf_event_time() to try and centralize access to event\ntiming and in particular ctx-\u003etime. Prepares for cgroup support.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4d22059c.122ae30a.5e0e.ffff8b8b@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5632ab12e9e1fcd7e94058567e181d8f35e83798",
      "tree": "70b077bd489e889bb049ded097119ea382a254f3",
      "parents": [
        "0b3fcf178deefd7b64154c2c0760a2c63df0b74f"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jan 03 18:20:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:08:51 2011 +0100"
      },
      "message": "perf_events: Generalize use of event_filter_match()\n\nReplace all occurrences of:\n\tevent-\u003ecpu !\u003d -1 \u0026\u0026 event-\u003ecpu \u003d\u003d smp_processor_id()\nby a call to:\n\tevent_filter_match(event)\n\nThis makes the code more consistent and will make the cgroup\npatch smaller.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4d220593.2308e30a.48c5.ffff8ae9@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0b3fcf178deefd7b64154c2c0760a2c63df0b74f",
      "tree": "b84509c9ac5935ac41f6fc9c444bc406cd2c54d8",
      "parents": [
        "23a2f3ab46596d9fd0b0e592d2101bea90970594"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jan 03 18:20:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:08:50 2011 +0100"
      },
      "message": "perf_events: Move code around to prepare for cgroup\n\nIn particular this patch move perf_event_exit_task() before\ncgroup_exit() to allow for cgroup support. The cgroup_exit()\nfunction detaches the cgroups attached to a task.\n\nOther movements include hoisting some definitions and inlines\nat the top of perf_event.c\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4d22058b.cdace30a.4657.ffff95b1@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "23036f1a340beec19cc451ba9719526c4ffb3a57",
      "tree": "958778a5a4491205df2e757c874b049375bcf273",
      "parents": [
        "329a67815b596d23daf0caa588ae0800e925320f"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@efficios.com",
        "time": "Fri Jan 07 08:53:58 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Jan 07 08:53:58 2011 +0100"
      },
      "message": "blktrace: add missing probe argument to block_bio_complete\n\nblktrace.c block bio complete callback needs to gain a new argument to reflect\nthe newly added \"error\" tracepoint argument. This is needed to match the new\nblock_bio_complete TRACE_EVENT as of\ncommit de983a7bfcb7c020901ca6e2314cf55a4207ab5a.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCC: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCC: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "dc0474be3e27463d4d4a2793f82366eed906f223",
      "tree": "41f75e638442cb343bacdcfbabb17ffc3bd5b4ce",
      "parents": [
        "357f8e658bba8a085c4a5d4331e30894be8096b8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:43 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:24 2011 +1100"
      },
      "message": "fs: dcache rationalise dget variants\n\ndget_locked was a shortcut to avoid the lazy lru manipulation when we already\nheld dcache_lock (lru manipulation was relatively cheap at that point).\nHowever, how that the lru lock is an innermost one, we never hold it at any\ncaller, so the lock cost can now be avoided. We already have well working lazy\ndcache LRU, so it should be fine to defer LRU manipulations to scan time.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b5c84bf6f6fa3a7dfdcb556023a62953574b60ee",
      "tree": "7a2c299a180713e21d5cb653cb933121adf53c31",
      "parents": [
        "949854d02455080d20cd3e1db28a3a18daf7599d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:38 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:23 2011 +1100"
      },
      "message": "fs: dcache remove dcache_lock\n\ndcache_lock no longer protects anything. remove it.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "2fd6b7f50797f2e993eea59e0a0b8c6399c811dc",
      "tree": "ce33b94b34844c09103836cf4cfa4364b742f217",
      "parents": [
        "da5029563a0a026c64821b09e8e7b4fd81d3fe1b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:34 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:21 2011 +1100"
      },
      "message": "fs: dcache scale subdirs\n\nProtect d_subdirs and d_child with d_lock, except in filesystems that aren\u0027t\nusing dcache_lock for these anyway (eg. using i_mutex).\n\nNote: if we change the locking rule in future so that -\u003ed_child protection is\nprovided only with -\u003ed_parent-\u003ed_lock, it may allow us to reduce some locking.\nBut it would be an exception to an otherwise regular locking scheme, so we\u0027d\nhave to see some good results. Probably not worthwhile.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b7ab39f631f505edc2bbdb86620d5493f995c9da",
      "tree": "62be97ebc7fc69ceb601f23312d335ebb8038ee7",
      "parents": [
        "2304450783dfde7b0b94ae234edd0dbffa865073"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:32 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:21 2011 +1100"
      },
      "message": "fs: dcache scale dentry refcount\n\nMake d_count non-atomic and protect it with d_lock. This allows us to ensure a\n0 refcount dentry remains 0 without dcache_lock. It is also fairly natural when\nwe start protecting many other dentry members with d_lock.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fe15ce446beb3a33583af81ffe6c9d01a75314ed",
      "tree": "bc8af66b6dd2d0f21a2a3f48a19975ae2cdbae4e",
      "parents": [
        "5eef7fa905c814826f518aca2d414ca77508ce30"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:23 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:18 2011 +1100"
      },
      "message": "fs: change d_delete semantics\n\nChange d_delete from a dentry deletion notification to a dentry caching\nadvise, more like -\u003edrop_inode. Require it to be constant and idempotent,\nand not take d_lock. This is how all existing filesystems use the callback\nanyway.\n\nThis makes fine grained dentry locking of dput and dentry lru scanning\nmuch simpler.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "5adcee1d8d32d7f305f6f5aaefdbf8f35adca177",
      "tree": "9292ebc9bb6a21b364a97a44d1b6857a565159c5",
      "parents": [
        "3e880fb5e4bb6a012035e3edd0586ee2817c2e24"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:20 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:17 2011 +1100"
      },
      "message": "cgroup fs: avoid switching -\u003ed_op on live dentry\n\nSwitching d_op on a live dentry is racy in general, so avoid it. In this case\nit is a negative dentry, which is safer, but there are still concurrent ops\nwhich may be called on d_op in that case (eg. d_revalidate). So in general\na filesystem may not do this. Fix cgroupfs so as not to do this.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "976513dbfc1547c7b1822566923058655f0c32fd",
      "tree": "561e658e65a0136691cc9faebbe1ddf17a3429d3",
      "parents": [
        "26fcaf60fe3861409eb4c455c5c0d0f00f599b08"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 07 01:43:44 2011 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 07 00:36:55 2011 -0500"
      },
      "message": "PM / ACPI: Move NVS saving and restoring code to drivers/acpi\n\nThe saving of the ACPI NVS area during hibernation and suspend and\nrestoring it during the subsequent resume is entirely specific to\nACPI, so move it to drivers/acpi and drop the CONFIG_SUSPEND_NVS\nconfiguration option which is redundant.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "26fcaf60fe3861409eb4c455c5c0d0f00f599b08",
      "tree": "43b0b91df3a1c8d136b63ce499001a05c9a02c93",
      "parents": [
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Fri Jan 07 01:42:31 2011 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 07 00:26:45 2011 -0500"
      },
      "message": "PM: Fix oops in suspend/hibernate code related to failing ioremap()\n\nWhen ioremap() fails (which might happen for some reason), we nicely\noops in suspend_nvs_save() due to NULL dereference by memcpy() in there.\nFail gracefully instead.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    }
  ],
  "next": "3c0cb7c31c206aaedb967e44b98442bbeb17a6c4"
}
