)]}'
{
  "log": [
    {
      "commit": "7683c57c489bd17795945f4ae1c1d73e7c7b38e3",
      "tree": "38866c5e3320e74150757b186f226475bd0b83c9",
      "parents": [
        "48948a3e237ff47823d414704aeb8604a4c61ad0"
      ],
      "author": {
        "name": "Daniel Guilak",
        "email": "guilak@linux.vnet.ibm.com",
        "time": "Tue Jul 08 15:02:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 08 18:10:34 2008 -0700"
      },
      "message": "kernel/printk.c: Made printk_recursion_bug_msg static.\n\nSigned-off-by: Daniel Guilak \u003cdaniel@danielguilak.com\u003e\nAcked-by: Josh Triplett \u003cjosh@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84df87b7ebdcbbc0f59df9526f4e63fda70647d3",
      "tree": "e91ab6df3d2f6403e315bfedd9e02736d0e6f4a4",
      "parents": [
        "537388bb6563bfde7c0307b95ecc1f7a1ae39b02",
        "3b7253238801a7b97b3929d8db2fa7a0721fb17b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 05 13:09:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 05 13:09:31 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: print a module list on being stuck\n"
    },
    {
      "commit": "3b7253238801a7b97b3929d8db2fa7a0721fb17b",
      "tree": "6238744e76fbcaddd7cc2107845fbc112462640d",
      "parents": [
        "8558f8f81680a43d383abd1b5f23d3501fedfa65"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jun 16 15:51:08 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 05 08:51:24 2008 +0200"
      },
      "message": "softlockup: print a module list on being stuck\n\nMost places in the kernel that go BUG: print a module list\n(which is very useful for doing statistics and finding patterns),\nhowever the softlockup detector does not do this yet.\n\nThis patch adds the one line change to fix this gap.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "086f7316f0d400806d76323beefae996bb3849b1",
      "tree": "679405a89b7f8c7a75d3896e43c837b5a5115d7b",
      "parents": [
        "abbaeff38c00cb7f6817ec1cef406b27081ebedd"
      ],
      "author": {
        "name": "Andrew G. Morgan",
        "email": "morgan@kernel.org",
        "time": "Fri Jul 04 09:59:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:08 2008 -0700"
      },
      "message": "security: filesystem capabilities: fix fragile setuid fixup code\n\nThis commit includes a bugfix for the fragile setuid fixup code in the\ncase that filesystem capabilities are supported (in access()).  The effect\nof this fix is gated on filesystem capability support because changing\nsecurebits is only supported when filesystem capabilities support is\nconfigured.)\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: David Howells \u003cdhowells@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": "cde53535991fbb5c34a1566f25955297c1487b8d",
      "tree": "4f87e67b52c8761cfc421a619379263733b91159",
      "parents": [
        "a926c063738f31c8c8b5c2b883812a40e7868072"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jul 04 09:59:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:04 2008 -0700"
      },
      "message": "Christoph has moved\n\nRemove all clameter@sgi.com addresses from the kernel tree since they will\nbecome invalid on June 27th.  Change my maintainer email address for the\nslab allocators to cl@linux-foundation.org (which will be the new email\naddress for the future).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee3ece830f6db9837f7ac67008f532a8c1e755f4",
      "tree": "86512e4fe0a03970003260671a3c28045f57f5e8",
      "parents": [
        "6beef7eb0c16b5216814148b04838cfa963d2cb4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 03 14:31:26 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 03 11:36:48 2008 -0700"
      },
      "message": "hrtimer: prevent migration for raising softirq\n\nDue to a possible deadlock, the waking of the softirq was pushed outside\nof the hrtimer base locks. See commit 0c96c5979a522c3323c30a078a70120e29b5bdbc\n\nUnfortunately this allows the task to migrate after setting up the softirq\nand raising it. Since softirqs run a queue that is per-cpu we may raise the\nsoftirq on the wrong CPU and this will keep the queued softirq task from\nrunning.\n\nTo solve this issue, this patch disables preemption around the releasing\nof the hrtimer lock and raising of the softirq.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2a4a7ce3a995b83f59792ec9981d20ac550ccb0",
      "tree": "c0da7c9bd4b9ef5ea01e81723722447f950a30ed",
      "parents": [
        "f7572da502916e6abac06d698c0b6a7119cea0c1",
        "619b0488038224391e64fa03854651ca0f5efe56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 19:12:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 19:12:53 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix divide error when trying to configure rt_period to zero\n"
    },
    {
      "commit": "c000131c711f68cb68712e6553ddce5fa6ad5c5c",
      "tree": "bfb29b294e7e01d74f7f9a4ef040d27b0b936ced",
      "parents": [
        "041924ec2f40efa6a3163144a5481a000804199d",
        "8558f8f81680a43d383abd1b5f23d3501fedfa65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 18:59:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 18:59:45 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: fix hotplug vs rcu race\n"
    },
    {
      "commit": "8558f8f81680a43d383abd1b5f23d3501fedfa65",
      "tree": "209da90800fbcd6cb8a9c568c08fee30f3a1fb17",
      "parents": [
        "d7ee56059b335e27c3c6db34f7efe5a705d65b1c"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Fri Jun 27 10:17:38 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 01 09:27:17 2008 +0200"
      },
      "message": "rcu: fix hotplug vs rcu race\n\nDhaval Giani reported this warning during cpu hotplug stress-tests:\n\n| On running kernel compiles in parallel with cpu hotplug:\n|\n| WARNING: at arch/x86/kernel/smp.c:118\n| native_smp_send_reschedule+0x21/0x36()\n| Modules linked in:\n| Pid: 27483, comm: cc1 Not tainted 2.6.26-rc7 #1\n| [...]\n|  [\u003cc0110355\u003e] native_smp_send_reschedule+0x21/0x36\n|  [\u003cc014fe8f\u003e] force_quiescent_state+0x47/0x57\n|  [\u003cc014fef0\u003e] call_rcu+0x51/0x6d\n|  [\u003cc01713b3\u003e] __fput+0x130/0x158\n|  [\u003cc0171231\u003e] fput+0x17/0x19\n|  [\u003cc016fd99\u003e] filp_close+0x4d/0x57\n|  [\u003cc016fdff\u003e] sys_close+0x5c/0x97\n\nIMHO the warning is a spurious one.\n\ncpu_online_map is updated by the _cpu_down() using stop_machine_run().\nSince force_quiescent_state is invoked from irqs disabled section,\nstop_machine_run() won\u0027t be executing while a cpu is executing\nforce_quiescent_state(). Hence the cpu_online_map is stable while we\u0027re\nin the irq disabled section.\n\nHowever, a cpu might have been offlined _just_ before we disabled irqs\nwhile entering force_quiescent_state(). And rcu subsystem might not yet\nhave handled the CPU_DEAD notification, leading to the offlined cpu\u0027s\nbit being set in the rcp-\u003ecpumask.\n\nHence cpumask \u003d (rcp-\u003ecpumask \u0026 cpu_online_map) to prevent sending\nsmp_reschedule() to an offlined CPU.\n\nHere\u0027s the timeline:\n\nCPU_A\t\t\t\t\t\t CPU_B\n--------------------------------------------------------------\ncpu_down():\t\t\t\t\t.\n.\t\t\t\t\t   \t.\n.\t\t\t\t\t\t.\nstop_machine(): /* disables preemption,\t\t.\n\t\t * and irqs */\t\t\t.\n.\t\t\t\t\t\t.\n.\t\t\t\t\t\t.\ntake_cpu_down();\t\t\t\t.\n.\t\t\t\t\t\t.\n.\t\t\t\t\t\t.\n.\t\t\t\t\t\t.\ncpu_disable(); /*this removes cpu \t\t.\n\t\t*from cpu_online_map \t\t.\n\t\t*/\t\t\t\t.\n.\t\t\t\t\t\t.\n.\t\t\t\t\t\t.\nrestart_machine(); /* enables irqs */\t\t.\n------WINDOW DURING WHICH rcp-\u003ecpumask is stale ---------------\n.\t\t\t\t\t\tcall_rcu();\n.\t\t\t\t\t\t/* disables irqs here */\n.\t\t\t\t\t\t.force_quiescent_state();\n.CPU_DEAD:\t\t\t\t\t.for_each_cpu(rcp-\u003ecpumask)\n.\t\t\t\t\t\t.   smp_send_reschedule();\n.\t\t\t\t\t\t.\n.\t\t\t\t\t\t.   WARN_ON() for offlined CPU!\n.\n.\n.\nrcu_cpu_notify:\n.\n-------- WINDOW ENDS ------------------------------------------\nrcu_offline_cpu() /* Which calls cpu_quiet()\n\t\t   * which removes\n\t\t   * cpu from rcp-\u003ecpumask.\n\t\t   */\n\nIf a new batch was started just before calling stop_machine_run(), the\n\"tobe-offlined\" cpu is still present in rcp-cpumask.\n\nDuring a cpu-offline, from take_cpu_down(), we queue an rt-prio idle\ntask as the next task to be picked by the scheduler. We also call\ncpu_disable() which will disable any further interrupts and remove the\ncpu\u0027s bit from the cpu_online_map.\n\nOnce the stop_machine_run() successfully calls take_cpu_down(), it calls\nschedule(). That\u0027s the last time a schedule is called on the offlined\ncpu, and hence the last time when rdp-\u003epassed_quiesc will be set to 1\nthrough rcu_qsctr_inc().\n\nBut the cpu_quiet() will be on this cpu will be called only when the\nnext RCU_SOFTIRQ occurs on this CPU. So at this time, the offlined CPU\nis still set in rcp-\u003ecpumask.\n\nNow coming back to the idle_task which truely offlines the CPU, it does\ncheck for a pending RCU and raises the softirq, since it will find\nrdp-\u003epassed_quiesc to be 0 in this case. However, since the cpu is\noffline I am not sure if the softirq will trigger on the CPU.\n\nEven if it doesn\u0027t the rcu_offline_cpu() will find that rcp-\u003ecompleted\nis not the same as rcp-\u003ecur, which means that our cpu could be holding\nup the grace period progression. Hence we call cpu_quiet() and move\nahead.\n\nBut because of the window explained in the timeline, we could still have\na call_rcu() before the RCU subsystem executes it\u0027s CPU_DEAD\nnotification, and we send smp_send_reschedule() to offlined cpu while\ntrying to force the quiescent states. The appended patch adds comments\nand prevents checking for offlined cpu everytime.\n\ncpu_online_map is updated by the _cpu_down() using stop_machine_run().\nSince force_quiescent_state is invoked from irqs disabled section,\nstop_machine_run() won\u0027t be executing while a cpu is executing\nforce_quiescent_state(). Hence the cpu_online_map is stable while we\u0027re\nin the irq disabled section.\n\nReported-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Rusty Russel \u003crusty@rustcorp.com.au\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "619b0488038224391e64fa03854651ca0f5efe56",
      "tree": "c74800f53e089c46a0f20df185bcfbe25a698344",
      "parents": [
        "79c537998d143b127c8c662a403c3356cb885f1c"
      ],
      "author": {
        "name": "Raistlin",
        "email": "raistlin@linux.it",
        "time": "Thu Jun 26 18:54:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 01 08:23:24 2008 +0200"
      },
      "message": "sched: fix divide error when trying to configure rt_period to zero\n\nHere it is another little Oops we found while configuring invalid values\nvia cgroups:\n\necho 0 \u003e /dev/cgroups/0/cpu.rt_period_us\nor\necho 4294967296 \u003e /dev/cgroups/0/cpu.rt_period_us\n\n[  205.509825] divide error: 0000 [#1]\n[  205.510151] Modules linked in:\n[  205.510151]\n[  205.510151] Pid: 2339, comm: bash Not tainted (2.6.26-rc8 #33)\n[  205.510151] EIP: 0060:[\u003cc030c6ef\u003e] EFLAGS: 00000293 CPU: 0\n[  205.510151] EIP is at div64_u64+0x5f/0x70\n[  205.510151] EAX: 0000389f EBX: 00000000 ECX: 00000000 EDX: 00000000\n[  205.510151] ESI: d9800000 EDI: 00000000 EBP: c6cede60 ESP: c6cede50\n[  205.510151]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\n[  205.510151] Process bash (pid: 2339, ti\u003dc6cec000 task\u003dc79be370 task.ti\u003dc6cec000)\n[  205.510151] Stack: d9800000 0000389f c05971a0 d9800000 c6cedeb4 c0214dbd 00000000 00000000\n[  205.510151]        c6cede88 c0242bd8 c05377c0 c7a41b40 00000000 00000000 00000000 c05971a0\n[  205.510151]        c780ed20 c7508494 c7a41b40 00000000 00000002 c6cedebc c05971a0 ffffffea\n[  205.510151] Call Trace:\n[  205.510151]  [\u003cc0214dbd\u003e] ? __rt_schedulable+0x1cd/0x240\n[  205.510151]  [\u003cc0242bd8\u003e] ? cgroup_file_open+0x18/0xe0\n[  205.510151]  [\u003cc0214fe4\u003e] ? tg_set_bandwidth+0xa4/0xf0\n[  205.510151]  [\u003cc0215066\u003e] ? sched_group_set_rt_period+0x36/0x50\n[  205.510151]  [\u003cc021508e\u003e] ? cpu_rt_period_write_uint+0xe/0x10\n[  205.510151]  [\u003cc0242dc5\u003e] ? cgroup_file_write+0x125/0x160\n[  205.510151]  [\u003cc0232c15\u003e] ? hrtimer_interrupt+0x155/0x190\n[  205.510151]  [\u003cc02f047f\u003e] ? security_file_permission+0xf/0x20\n[  205.510151]  [\u003cc0277ad8\u003e] ? rw_verify_area+0x48/0xc0\n[  205.510151]  [\u003cc0283744\u003e] ? dupfd+0x104/0x130\n[  205.510151]  [\u003cc027838c\u003e] ? vfs_write+0x9c/0x160\n[  205.510151]  [\u003cc0242ca0\u003e] ? cgroup_file_write+0x0/0x160\n[  205.510151]  [\u003cc027850d\u003e] ? sys_write+0x3d/0x70\n[  205.510151]  [\u003cc0203019\u003e] ? sysenter_past_esp+0x6a/0x91\n[  205.510151]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  205.510151] Code: 0f 45 de 31 f6 0f ad d0 d3 ea f6 c1 20 0f 45 c2 0f 45 d6 89 45 f0 89 55 f4 8b 55 f4 31 c9 8b 45 f0 39 d3 89 c6 77 08 89 d0 31 d2 \u003cf7\u003e f3 89 c1 83 c4 08 89 f0 f7 f3 89 ca 5b 5e 5d c3 55 89 e5 56\n[  205.510151] EIP: [\u003cc030c6ef\u003e] div64_u64+0x5f/0x70 SS:ESP 0068:c6cede50\n\nThe attached patch solves the issue for me.\n\nI\u0027m checking as soon as possible for the period not being zero since, if\nit is, going ahead is useless. This way we also save a mutex_lock() and\na read_lock() wrt doing it inside tg_set_bandwidth() or\n__rt_schedulable().\n\nSigned-off-by: Dario Faggioli \u003craistlin@linux.it\u003e\nSigned-off-by: Michael Trimarchi \u003ctrimarchimichael@yahoo.it\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e6100f23375c0c71ce595d04551fa6553b611918",
      "tree": "194b0cdcd21d91f118dc75680d78f66b883d39fe",
      "parents": [
        "bbad5d4750ab3b44a196f9bdd982972e41b7e520",
        "79c537998d143b127c8c662a403c3356cb885f1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 30 08:57:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 30 08:57:19 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix cpu hotplug\n"
    },
    {
      "commit": "a4480ac4f966384f9d2db98bffec223e4eaf6150",
      "tree": "25760cb0412316ef41cc73fa6c0ac6c4a577025f",
      "parents": [
        "4f46accee45d74a408e417c04c0ed1543a7c51e9",
        "d8de72473effd674a3c1fe9621821f406f5587c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:15:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:15:10 2008 -0700"
      },
      "message": "Merge branch \u0027audit.b52\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b52\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [PATCH] remove useless argument type in audit_filter_user()\n  [PATCH] audit: fix kernel-doc parameter notation\n  [PATCH] kernel/audit.c: nlh-\u003enlmsg_type is gotten more than once\n"
    },
    {
      "commit": "79c537998d143b127c8c662a403c3356cb885f1c",
      "tree": "ed358cd2f78741b17f87cd74517250f434a34e19",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Sun Jun 29 00:16:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jun 29 08:50:21 2008 +0200"
      },
      "message": "sched: fix cpu hotplug\n\nthe CPU hotplug problems (crashes under high-volume unplug+replug\ntests) seem to be related to migrate_dead_tasks().\n\nFirstly I added traces to see all tasks being migrated with\nmigrate_live_tasks() and migrate_dead_tasks(). On my setup the problem\npops up (the one with \"se \u003d\u003d NULL\" in the loop of\npick_next_task_fair()) shortly after the traces indicate that some has\nbeen migrated with migrate_dead_tasks()). btw., I can reproduce it\nmuch faster now with just a plain cpu down/up loop.\n\n[disclaimer] Well, unless I\u0027m really missing something important in\nthis late hour [/desclaimer] pick_next_task() is not something\nappropriate for migrate_dead_tasks() :-)\n\nthe following change seems to eliminate the problem on my setup\n(although, I kept it running only for a few minutes to get a few\nmessages indicating migrate_dead_tasks() does move tasks and the\nsystem is still ok)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d8de72473effd674a3c1fe9621821f406f5587c9",
      "tree": "4b96ac9b82cc156f9ee01da00450f1a97222353f",
      "parents": [
        "9f0aecdd1cd6aacee9aa8f08031f4f2e09e454dc"
      ],
      "author": {
        "name": "Peng Haitao",
        "email": "penght@cn.fujitsu.com",
        "time": "Tue May 20 09:13:02 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 24 23:36:35 2008 -0400"
      },
      "message": "[PATCH] remove useless argument type in audit_filter_user()\n\nThe second argument \"type\" is not used in audit_filter_user(), so I think that type can be removed. If I\u0027m wrong, please tell me.\n\nSigned-off-by: Peng Haitao \u003cpenght@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9f0aecdd1cd6aacee9aa8f08031f4f2e09e454dc",
      "tree": "57f18e7c5df7b685af1baf33ff9dadb2c6f94842",
      "parents": [
        "13d5ef97f0675d789f559cfebc1df9d5e2b1879c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon May 19 15:09:21 2008 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 24 23:36:28 2008 -0400"
      },
      "message": "[PATCH] audit: fix kernel-doc parameter notation\n\nFix auditfilter kernel-doc misssing parameter description:\n\nWarning(lin2626-rc3//kernel/auditfilter.c:1551): No description found for parameter \u0027sessionid\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "13d5ef97f0675d789f559cfebc1df9d5e2b1879c",
      "tree": "12202e8011e27501b47b0c008f20fd2fe875c29b",
      "parents": [
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Peng Haitao",
        "email": "penght@cn.fujitsu.com",
        "time": "Fri May 16 10:15:04 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 24 23:36:21 2008 -0400"
      },
      "message": "[PATCH] kernel/audit.c: nlh-\u003enlmsg_type is gotten more than once\n\nThe first argument \"nlh-\u003enlmsg_type\" of audit_receive_filter() should be modified to \"msg_type\" in audit_receive_msg().\n\nSigned-off-by: Peng Haitao \u003cpenght@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aabdc3b8c3b3d081f1532454e344208338478e29",
      "tree": "5ff3d5c873fa12ec3797690598e8daa2c3225071",
      "parents": [
        "a606b5e24b7e2937604f4c85023d8d9c5ab0a28b"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "message": "kgdb: sparse fix\n\n- Fix warning reported by sparse\nkernel/kgdb.c:1502:6: warning: symbol \u0027kgdb_console_write\u0027 was not declared.\n\tShould it be static?\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "27f4837cbfd87126e733d098824544b6841a4eb8",
      "tree": "c97efa3ce9883d6f52f8e8b351019ec42f6fea20",
      "parents": [
        "0e053738b50836e9d1e94b2295ef2942eb471078",
        "1b7558e457ed0de61023cfc913d2c342c7c3d9f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:49:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:49:22 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futexes: fix fault handling in futex_lock_pi\n"
    },
    {
      "commit": "1b7558e457ed0de61023cfc913d2c342c7c3d9f2",
      "tree": "fcd456b1633bfd3e68ba2f6631831fbc5336108d",
      "parents": [
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 23 11:21:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 13:31:15 2008 +0200"
      },
      "message": "futexes: fix fault handling in futex_lock_pi\n\nThis patch addresses a very sporadic pi-futex related failure in\nhighly threaded java apps on large SMP systems.\n\nDavid Holmes reported that the pi_state consistency check in\nlookup_pi_state triggered with his test application. This means that\nthe kernel internal pi_state and the user space futex variable are out\nof sync. First we assumed that this is a user space data corruption,\nbut deeper investigation revieled that the problem happend because the\npi-futex code is not handling a fault in the futex_lock_pi path when\nthe user space variable needs to be fixed up.\n\nThe fault happens when a fork mapped the anon memory which contains\nthe futex readonly for COW or the page got swapped out exactly between\nthe unlock of the futex and the return of either the new futex owner\nor the task which was the expected owner but failed to acquire the\nkernel internal rtmutex. The current futex_lock_pi() code drops out\nwith an inconsistent in case it faults and returns -EFAULT to user\nspace. User space has no way to fixup that state.\n\nWhen we wrote this code we thought that we could not drop the hash\nbucket lock at this point to handle the fault.\n\nAfter analysing the code again it turned out to be wrong because there\nare only two tasks involved which might modify the pi_state and the\nuser space variable:\n\n - the task which acquired the rtmutex\n - the pending owner of the pi_state which did not get the rtmutex\n\nBoth tasks drop into the fixup_pi_state() function before returning to\nuser space. The first task which acquired the hash bucket lock faults\nin the fixup of the user space variable, drops the spinlock and calls\nfutex_handle_fault() to fault in the page. Now the second task could\nacquire the hash bucket lock and tries to fixup the user space\nvariable as well. It either faults as well or it succeeds because the\nfirst task already faulted the page in.\n\nOne caveat is to avoid a double fixup. After returning from the fault\nhandling we reacquire the hash bucket lock and check whether the\npi_state owner has been modified already.\n\nReported-by: David Holmes \u003cdavid.holmes@sun.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: David Holmes \u003cdavid.holmes@sun.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n kernel/futex.c |   93 ++++++++++++++++++++++++++++++++++++++++++++-------------\n 1 file changed, 73 insertions(+), 20 deletions(-)\n"
    },
    {
      "commit": "198bb971e256e4167e45e7df643c13ea66f67e3a",
      "tree": "85b8b2bf6cc78bf0e53a2187ed5796f076922334",
      "parents": [
        "ea71a546706dfdad72462624394e1e472c6bf34f",
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:00:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:00:26 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/urgent\n"
    },
    {
      "commit": "1f1e2ce8a55bac60ff165d353c6b882e750c9092",
      "tree": "b11aaa5baa04ea5ea0ecc549fa1c95430919cd82",
      "parents": [
        "e570dc2a503f8334b700e8483082c675394f53fd",
        "9c106c119ebedf624fbd682fd2a4d52e3c8c1a67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:13 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n  rcupreempt: remove export of rcu_batches_completed_bh\n  cpuset: limit the input of cpuset.sched_relax_domain_level\n"
    },
    {
      "commit": "ea71a546706dfdad72462624394e1e472c6bf34f",
      "tree": "eb6f257c73510deee995f330947de4624e9b404b",
      "parents": [
        "bb10ed0994927d433f6dbdf274fdb26cfcf516b7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jun 20 18:32:20 2008 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 17:15:49 2008 +0200"
      },
      "message": "sched: refactor wait_for_completion_timeout()\n\nSimplify the code and fix the boundary condition of\nwait_for_completion_timeout(,0).\n\nWe can kill the first __remove_wait_queue() as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "bb10ed0994927d433f6dbdf274fdb26cfcf516b7",
      "tree": "832f26f1c45e1ddd67beb655a9474d167b9e4cd1",
      "parents": [
        "8a8cde163ea724baf74e7752a31a69d3121a240e"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Thu Jun 19 15:04:07 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 13:19:32 2008 +0200"
      },
      "message": "sched: fix wait_for_completion_timeout() spurious failure under heavy load\n\nIt seems that the current implementaton of wait_for_completion_timeout()\nhas a small problem under very high load for the common pattern:\n\n\tif (!wait_for_completion_timeout(\u0026done, timeout))\n\t\t/* handle failure */\n\nbecause the implementation very roughly does (lots of code deleted to\nshow the basic flow):\n\n\tstatic inline long __sched\n\tdo_wait_for_common(struct completion *x, long timeout, int state)\n\t{\n\t\tif (x-\u003edone)\n\t\t\treturn timeout;\n\n\t\tdo {\n\t\t\ttimeout \u003d schedule_timeout(timeout);\n\n\t\t\tif (!timeout)\n\t\t\t\treturn timeout;\n\n\t\t} while (!x-\u003edone);\n\n\t\treturn timeout;\n\t}\n\nso if the system is very busy and x-\u003edone is not set when\ndo_wait_for_common() is entered, it is possible that the first call to\nschedule_timeout() returns 0 because the task doing wait_for_completion\ndoesn\u0027t get rescheduled for a long time, even if it is woken up early\nenough.\n\nIn this case, wait_for_completion_timeout() returns 0 without even\nchecking x-\u003edone again, and the code above falls into its failure case\npurely for scheduler reasons, even if the hardware event or whatever was\nbeing waited for happened early enough.\n\nIt would make sense to add an extra test to do_wait_for() in the timeout\ncase and return 1 if x-\u003edone is actually set.\n\nA quick audit (not exhaustive) of wait_for_completion_timeout() callers\nseems to indicate that no one actually cares about the return value in\nthe success case -- they just test for 0 (timed out) versus non-zero\n(wait succeeded).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8a8cde163ea724baf74e7752a31a69d3121a240e",
      "tree": "5cdeed8a13ac27bf0bf03f522ab184c543a5030f",
      "parents": [
        "d4abc238c9f4df8b3216f3e883f5d0a07b7ac75a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 19 14:22:28 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 11:00:19 2008 +0200"
      },
      "message": "sched: rt: dont stop the period timer when there are tasks wanting to run\n\nSo if the group ever gets throttled, it will never wake up again.\n\nReported-by: \"Daniel K.\" \u003cdk@uw.no\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Daniel K. \u003cdk@uw.no\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4abc238c9f4df8b3216f3e883f5d0a07b7ac75a",
      "tree": "38b571d9a787a62ee88de8f1a2d1c39b3a9d83b8",
      "parents": [
        "d819c49da624e3ee09b2844603d58265039eecdd"
      ],
      "author": {
        "name": "Bharath Ravi",
        "email": "bharathravi1@gmail.com",
        "time": "Mon Jun 16 15:11:01 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 14:15:28 2008 +0200"
      },
      "message": "sched, delay accounting: fix incorrect delay time when constantly waiting on runqueue\n\nThis patch corrects the incorrect value of per process run-queue wait\ntime reported by delay statistics. The anomaly was due to the following\nreason. When a process leaves the CPU and immediately starts waiting for\nCPU on the runqueue (which means it remains in the TASK_RUNNABLE state),\nthe time of re-entry into the run-queue is never recorded. Due to this,\nthe waiting time on the runqueue from this point of re-entry upto the\nnext time it hits the CPU is not accounted for. This is solved by\nrecording the time of re-entry of a process leaving the CPU in the\nsched_info_depart() function IF the process will go back to waiting on\nthe run-queue. This IF condition is verified by checking whether the\nprocess is still in the TASK_RUNNABLE state.\n\nThe patch was tested on 2.6.26-rc6 using two simple CPU hog programs.\nThe values noted prior to the fix did not account for the time spent on\nthe runqueue waiting. After the fix, the correct values were reported\nback to user space.\n\nSigned-off-by: Bharath Ravi \u003cbharathravi1@gmail.com\u003e\nSigned-off-by: Madhava K R  \u003cmadhavakr@gmail.com\u003e\nCc: dhaval@linux.vnet.ibm.com\nCc: vatsa@in.ibm.com\nCc: balbir@in.ibm.com\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c106c119ebedf624fbd682fd2a4d52e3c8c1a67",
      "tree": "cc757dd11c8575110fdd4971fb76303fe500764b",
      "parents": [
        "afd38009cc3acd36d41f349a669ad5825d695b1f"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue May 27 12:23:29 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 09:45:38 2008 +0200"
      },
      "message": "softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n\nThe touch_nmi_watchdog() routine on x86 ultimately calls\ntouch_softlockup_watchdog().  The problem is that to touch the\nsoftlockup watchdog, the cpu_clock code has to be called which could\ninvolve multiple cpu locks and can lead to a hard hang if one of the\nlocks is held by a processor that is not going to return anytime soon\n(such as could be the case with kgdb or perhaps even with some other\nkind of exception).\n\nThis patch causes the public version of the\ntouch_softlockup_watchdog() to defer the cpu clock access to a later\npoint.\n\nThe test case for this problem is to use the following kernel config\noptions:\n\nCONFIG_KGDB_TESTS\u003dy\nCONFIG_KGDB_TESTS_ON_BOOT\u003dy\nCONFIG_KGDB_TESTS_BOOT_STRING\u003d\"V1F100I100000\"\n\nIt should be noted that kgdb test suite and these options were not\navailable until 2.6.26-rc2, so it was necessary to patch the kgdb\ntest suite during the bisection.\n\nI would consider this patch a regression fix because the problem first\nappeared in commit 27ec4407790d075c325e1f4da0a19c56953cce23 when some\nlogic was added to try to periodically sync the clocks.  It was\npossible to work around this particular problem by simply not\nperforming the sync anytime the system was in a critical context.\nThis was ok until commit 3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd,\nwhich added config option CONFIG_HAVE_UNSTABLE_SCHED_CLOCK and some\nmulti-cpu locks to sync the clocks.  It became clear that accessing\nthis code from an nmi was the source of the lockups.  Avoiding the\naccess to the low level clock code from an code inside the NMI\nprocessing also fixed the problem with the 27ec44... commit.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "afd38009cc3acd36d41f349a669ad5825d695b1f",
      "tree": "01068aa7fedbd9bc6f158e9dd470ac1336f9a027",
      "parents": [
        "30e0e178193d4221abc9926b07a4c7661c7cc4a9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 22 14:18:17 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 09:45:37 2008 +0200"
      },
      "message": "rcupreempt: remove export of rcu_batches_completed_bh\n\nIn rcupreempt, rcu_batches_completed_bh is defined as a static inline in\nthe header file. This does not need to be exported, and not only that,\nthis breaks my PPC build.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: paulus@samba.org\nCc: linuxppc-dev@ozlabs.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "30e0e178193d4221abc9926b07a4c7661c7cc4a9",
      "tree": "f6ad7d54e810a97345ad82b55832a2dbfb3ca6e2",
      "parents": [
        "9bedbcb207ed9a571b239231d99c8fd4a34ae24d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue May 13 10:27:17 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 09:45:36 2008 +0200"
      },
      "message": "cpuset: limit the input of cpuset.sched_relax_domain_level\n\nWe allow the inputs to be [-1 ... SD_LV_MAX), and return -EINVAL\nfor inputs outside this range.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f18f982abf183e91f435990d337164c7a43d1e6d",
      "tree": "d80f6b09825db1c5103d7b8518189613c9b57fbe",
      "parents": [
        "15a8641eadb492ef7c5489faa25256967bdfd303"
      ],
      "author": {
        "name": "Max Krasnyansky",
        "email": "maxk@qualcomm.com",
        "time": "Thu May 29 11:17:01 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 09:14:51 2008 +0200"
      },
      "message": "sched: CPU hotplug events must not destroy scheduler domains created by the cpusets\n\nFirst issue is not related to the cpusets. We\u0027re simply leaking doms_cur.\nIt\u0027s allocated in arch_init_sched_domains() which is called for every\nhotplug event. So we just keep reallocation doms_cur without freeing it.\nI introduced free_sched_domains() function that cleans things up.\n\nSecond issue is that sched domains created by the cpusets are\ncompletely destroyed by the CPU hotplug events. For all CPU hotplug\nevents scheduler attaches all CPUs to the NULL domain and then puts\nthem all into the single domain thereby destroying domains created\nby the cpusets (partition_sched_domains).\nThe solution is simple, when cpusets are enabled scheduler should not\ncreate default domain and instead let cpusets do that. Which is\nexactly what the patch does.\n\nSigned-off-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: pj@sgi.com\nCc: menage@google.com\nCc: rostedt@goodmis.org\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "15a8641eadb492ef7c5489faa25256967bdfd303",
      "tree": "ec838b2002c9565b4c1b6631f9fe2fd93d7fe6c9",
      "parents": [
        "ad2a3f13b7258a5daaaeb8cff9f835aac468b71d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 19 09:06:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 09:06:59 2008 +0200"
      },
      "message": "sched: rt-group: fix RR buglet\n\nIn tick_task_rt() we first call update_curr_rt() which can dequeue a runqueue\ndue to it running out of runtime, and then we try to requeue it, of it also\nhaving exhausted its RR quota. Obviously requeueing something that is no longer\non the runqueue will not have the expected result.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Daniel K. \u003cdk@uw.no\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad2a3f13b7258a5daaaeb8cff9f835aac468b71d",
      "tree": "ac9ea87be655aba0a372b6b4a25215547da0e291",
      "parents": [
        "7ea56616ba6b3d67a4892728182e38ae162ea3e7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 19 09:06:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 09:06:57 2008 +0200"
      },
      "message": "sched: rt-group: heirarchy aware throttle\n\nThe bandwidth throttle code dequeues a group when it runs out of quota, and\nre-queues it once the period rolls over and the quota gets refreshed.\n\nSadly it failed to take the hierarchy into consideration. Share more of the\nenqueue/dequeue code with regular task opterations.\n\nAlso, some operations like sched_setscheduler() can dequeue/enqueue tasks that\nare in throttled runqueues, we should not inadvertly re-enqueue empty runqueues\nso check for that.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Daniel K. \u003cdk@uw.no\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7ea56616ba6b3d67a4892728182e38ae162ea3e7",
      "tree": "eec572cd1901ec4081959942f9a56a2efedc4eed",
      "parents": [
        "49307fd6f72bdd68cc2bd23e7da0bcfecf8087c9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 19 09:06:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 09:06:56 2008 +0200"
      },
      "message": "sched: rt-group: fix hierarchy\n\nDon\u0027t re-set the entity\u0027s runqueue to the wrong rq after we\u0027ve set it\nto the right one.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Daniel K. \u003cdk@uw.no\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "49307fd6f72bdd68cc2bd23e7da0bcfecf8087c9",
      "tree": "60a96a369fcf4ecca5e6eedc3403fd52bda5715b",
      "parents": [
        "95e904c7da715aa2dbfb595da66b63de37a0bb04"
      ],
      "author": {
        "name": "Dario Faggioli",
        "email": "raistlin@linux.it",
        "time": "Wed Jun 18 09:18:38 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 09:06:54 2008 +0200"
      },
      "message": "sched: NULL pointer dereference while setting sched_rt_period_us\n\nWhen CONFIG_RT_GROUP_SCHED and CONFIG_CGROUP_SCHED are enabled, with:\n\n echo 10000 \u003e /proc/sys/kernel/sched_rt_period_us\n\nWe get this:\n\n BUG: unable to handle kernel NULL pointer dereference at 0000008c\n [  947.682233] IP: [\u003cc0216b72\u003e] __rt_schedulable+0x12/0x160\n [  947.683123] *pde \u003d 00000000\u003d20\n [  947.683782] Oops: 0000 [#1]\n [  947.684307] Modules linked in:\n [  947.684308]\n [  947.684308] Pid: 2359, comm: bash Not tainted (2.6.26-rc6 #8)\n [  947.684308] EIP: 0060:[\u003cc0216b72\u003e] EFLAGS: 00000246 CPU: 0\n [  947.684308] EIP is at __rt_schedulable+0x12/0x160\n [  947.684308] EAX: 00000000 EBX: 00000000 ECX: 00000000 EDX: 00000001\n [  947.684308] ESI: c0521db4 EDI: 00000001 EBP: c6cc9f00 ESP: c6cc9ed0\n [  947.684308]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\n [  947.684308] Process bash (pid: 2359, tiÆcc8000 taskÇa54f00\u003d20 task.tiÆcc8000)\n [  947.684308] Stack: c0222790 00000000 080f8c08 c0521db4 c6cc9f00 00000001 00000000 00000000\n [  947.684308]        c6cc9f9c 00000000 c0521db4 00000001 c6cc9f28 c0216d40 00000000 00000000\n [  947.684308]        c6cc9f9c 000f4240 000e7ef0 ffffffff c0521db4 c79dfb60 c6cc9f58 c02af2cc\n [  947.684308] Call Trace:\n [  947.684308]  [\u003cc0222790\u003e] ? do_proc_dointvec_conv+0x0/0x50\n [  947.684308]  [\u003cc0216d40\u003e] ? sched_rt_handler+0x80/0x110\n [  947.684308]  [\u003cc02af2cc\u003e] ? proc_sys_call_handler+0x9c/0xb0\n [  947.684308]  [\u003cc02af2fa\u003e] ? proc_sys_write+0x1a/0x20\n [  947.684308]  [\u003cc0273c36\u003e] ? vfs_write+0x96/0x160\n [  947.684308]  [\u003cc02af2e0\u003e] ? proc_sys_write+0x0/0x20\n [  947.684308]  [\u003cc027423d\u003e] ? sys_write+0x3d/0x70\n [  947.684308]  [\u003cc0202ef5\u003e] ? sysenter_past_esp+0x6a/0x91\n [  947.684308]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n [  947.684308] Code: 24 04 e8 62 b1 0e 00 89 c7 89 f8 8b 5d f4 8b 75\n f8 8b 7d fc 89 ec 5d c3 90 55 89 e5 57 56 53 83 ec 24 89 45 ec 89 55 e4\n 89 4d e8 \u003c8b\u003e b8 8c 00 00 00 85 ff 0f 84 c9 00 00 00 8b 57 24 39 55 e8\n 8b\n [  947.684308] EIP: [\u003cc0216b72\u003e] __rt_schedulable+0x12/0x160 SS:ESP  0068:c6cc9ed0\n\nWe think the following patch solves the issue.\n\nSigned-off-by: Dario Faggioli \u003craistlin@linux.it\u003e\nSigned-off-by: Michael Trimarchi \u003ctrimarchimichael@yahoo.it\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "95e904c7da715aa2dbfb595da66b63de37a0bb04",
      "tree": "0f6838888cffc410740b2737082101a7a7117bbb",
      "parents": [
        "066519068ad2fbe98c7f45552b1f592903a9c8c8"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Sun May 11 05:55:33 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 17 10:36:58 2008 +0200"
      },
      "message": "sched: fix defined-but-unused warning\n\nFix this warning, which appears with !CONFIG_SMP:\nkernel/sched.c:1216: warning: `init_hrtick\u0027 defined but not used\n\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67dddaad5d8b8c5ee5b96a7e2f6cb0faad703865",
      "tree": "373e5ba749f93e0f1617182f37aca08df5e8b243",
      "parents": [
        "24aac480e76c6f5d1391ac05c5e9c0eb9b0cd302"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Thu Jun 12 15:21:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 18:05:40 2008 -0700"
      },
      "message": "kprobes: fix error checking of batch registration\n\nFix error checking routine to catch an error which occurs in first\n__register_*probe().\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b3cba8e60c67c968d108ac55c77e32c1928dec3",
      "tree": "79ce35debeb7e203558d884efd03c7cf160cceaa",
      "parents": [
        "14a73f54798f39854e521fb596da7d50b7566bbd",
        "7a232e0350940d2664f4de5cc3f0f443bae5062d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 12:55:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 12:55:18 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: 64-bit: fix arithmetics overflow\n  sched: fair group: fix overflow(was: fix divide by zero)\n  sched: fix TASK_WAKEKILL vs SIGKILL race\n"
    },
    {
      "commit": "7a232e0350940d2664f4de5cc3f0f443bae5062d",
      "tree": "bb91a53faab7bf6e92df127f8bdb2225cf808925",
      "parents": [
        "2e084786f6fe052274f1dfa7c675fe4a02cacd6e"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Jun 12 16:43:07 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 12 14:29:54 2008 +0200"
      },
      "message": "sched: 64-bit: fix arithmetics overflow\n\n(overflow means weight \u003e\u003d 2^32 here, because inv_weigh \u003d 2^32/weight)\n\nA weight of a cfs_rq is the sum of weights of which entities\nare queued on this cfs_rq, so it will overflow when there are\ntoo many entities.\n\nAlthough, overflow occurs very rarely, but it break fairness when\nit occurs. 64-bits systems have more memory than 32-bit systems\nand 64-bit systems can create more process usually, so overflow may\noccur more frequently.\n\nThis patch guarantees fairness when overflow happens on 64-bit systems.\nThanks to the optimization of compiler, it changes nothing on 32-bit.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e084786f6fe052274f1dfa7c675fe4a02cacd6e",
      "tree": "66190825236b1f3f59e88aaa83d2683bd121143d",
      "parents": [
        "16882c1e962b4be5122fc05aaf2afc10fd9e2d15"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Jun 12 16:42:58 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 12 14:23:55 2008 +0200"
      },
      "message": "sched: fair group: fix overflow(was: fix divide by zero)\n\nI found a bug which can be reproduced by this way:(linux-2.6.26-rc5, x86-64)\n(use 2^32, 2^33, ...., 2^63 as shares value)\n\n# mkdir /dev/cpuctl\n# mount -t cgroup -o cpu cpuctl /dev/cpuctl\n# cd /dev/cpuctl\n# mkdir sub\n# echo 0x8000000000000000 \u003e sub/cpu.shares\n# echo $$ \u003e sub/tasks\noops here! divide by zero.\n\nThis is because do_div() expects the 2th parameter to be 32 bits,\nbut unsigned long is 64 bits in x86_64.\n\nPeter Zijstra pointed it out that the sane thing to do is limit the\nshares value to something smaller instead of using an even more\nexpensive divide.\n\nAlso, I found another bug about \"the shares value is too large\":\n\npid1 and pid2 are set affinity to cpu#0\npid1 is attached to cg1 and pid2 is attached to cg2\n\nif cg1/cpu.shares \u003d 1024 cg2/cpu.shares \u003d 2000000000\nthen pid2 got 100% usage of cpu, and pid1 0%\n\nif cg1/cpu.shares \u003d 1024 cg2/cpu.shares \u003d 20000000000\nthen pid2 got 0% usage of cpu, and pid1 100%\n\nAnd a weight of a cfs_rq is the sum of weights of which entities\nare queued on this cfs_rq, so the shares value should be limited\nto a smaller value.\n\nI think that (1UL \u003c\u003c 18) is a good limited value:\n\n1) it\u0027s not too large, we can create a lot of group before overflow\n2) it\u0027s several times the weight value for nice\u003d-19 (not too small)\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "16882c1e962b4be5122fc05aaf2afc10fd9e2d15",
      "tree": "c39cae4ae4874998d7e3486cd57d57613b05a89c",
      "parents": [
        "39b945a37bac2b692773a470890c8ba301485b15"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Jun 08 21:20:41 2008 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 10 11:37:25 2008 +0200"
      },
      "message": "sched: fix TASK_WAKEKILL vs SIGKILL race\n\nschedule() has the special \"TASK_INTERRUPTIBLE \u0026\u0026 signal_pending()\" case,\nthis allows us to do\n\n\tcurrent-\u003estate \u003d TASK_INTERRUPTIBLE;\n\tschedule();\n\nwithout fear to sleep with pending signal.\n\nHowever, the code like\n\n\tcurrent-\u003estate \u003d TASK_KILLABLE;\n\tschedule();\n\nis not right, schedule() doesn\u0027t take TASK_WAKEKILL into account. This means\nthat mutex_lock_killable(), wait_for_completion_killable(), down_killable(),\nschedule_timeout_killable() can miss SIGKILL (and btw the second SIGKILL has\nno effect).\n\nIntroduce the new helper, signal_pending_state(), and change schedule() to\nuse it. Hopefully it will have more users, that is why the task\u0027s state is\npassed separately.\n\nNote this \"__TASK_STOPPED | __TASK_TRACED\" check in signal_pending_state().\nThis is needed to preserve the current behaviour (ptrace_notify). I hope\nthis check will be removed soon, but this (afaics good) change needs the\nseparate discussion.\n\nThe fast path is \"(state \u0026 (INTERRUPTIBLE | WAKEKILL)) + signal_pending(p)\",\nbasically the same that schedule() does now. However, this patch of course\nbloats schedule().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "156a9ea43acb609ac89d48dbb9f0d05ee903a12e",
      "tree": "0b470e783c6f5012421a9a59aa8864c5fcc96407",
      "parents": [
        "c8d10bffdbea5f82a8e491467a23fb2cc7da921b",
        "ca05a99a54db1db5bca72eccb5866d2a86f8517f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:31:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:31:55 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6:\n  capabilities: remain source compatible with 32-bit raw legacy capability support.\n  LSM: remove stale web site from MAINTAINERS\n"
    },
    {
      "commit": "37340746a66e5e7feed5945f28cb75d90a8fd9f6",
      "tree": "b056132aad9eab38886b7359797302cbeeabc3fa",
      "parents": [
        "aae8679b0ebcaa92f99c1c3cb0cd651594a43915"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Jun 05 22:46:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:11 2008 -0700"
      },
      "message": "cpusets: fix bug when adding nonexistent cpu or mem\n\nAdding a nonexistent cpu to a cpuset will be omitted quietly.  It should\nreturn -EINVAL.\n\nExample: (real_nr_cpus \u003c\u003d 4 \u003c NR_CPUS or cpu#4 was just offline)\n\n# cat cpus\n0-1\n# /bin/echo 4 \u003e cpus\n# /bin/echo $?\n0\n# cat cpus\n\n#\n\nThe same occurs when add a nonexistent mem.\nThis patch will fix this bug.\nAnd when *buf \u003d\u003d \"\", the check is unneeded.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b5b60b821e0e97531df9b0ba295283ab5a8859a",
      "tree": "e94b3e4945f4b5bb592989445ebbda790a047b96",
      "parents": [
        "d430a227d272fa514bade388bf511dba4ec2962a",
        "b33cb815b565a94c654a0fe8e62e36f5b4053888"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 04 08:08:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 04 08:08:27 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdbts: Use HW breakpoints with CONFIG_DEBUG_RODATA\n  kgdb: use common ascii helpers and put_unaligned_be32 helper\n"
    },
    {
      "commit": "ca05a99a54db1db5bca72eccb5866d2a86f8517f",
      "tree": "b39fba6604da4b4f77103d2769bb783118b9b508",
      "parents": [
        "cc94bc37d5e02aaf8a6409a28e3c62bbd479b9a8"
      ],
      "author": {
        "name": "Andrew G. Morgan",
        "email": "morgan@kernel.org",
        "time": "Tue May 27 22:05:17 2008 -0700"
      },
      "committer": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Sat May 31 16:36:16 2008 -0700"
      },
      "message": "capabilities: remain source compatible with 32-bit raw legacy capability support.\n\nSource code out there hard-codes a notion of what the\n_LINUX_CAPABILITY_VERSION #define means in terms of the semantics of the\nraw capability system calls capget() and capset().  Its unfortunate, but\ntrue.\n\nSince the confusing header file has been in a released kernel, there is\nsoftware that is erroneously using 64-bit capabilities with the semantics\nof 32-bit compatibilities.  These recently compiled programs may suffer\ncorruption of their memory when sys_getcap() overwrites more memory than\nthey are coded to expect, and the raising of added capabilities when using\nsys_capset().\n\nAs such, this patch does a number of things to clean up the situation\nfor all. It\n\n  1. forces the _LINUX_CAPABILITY_VERSION define to always retain its\n     legacy value.\n\n  2. adopts a new #define strategy for the kernel\u0027s internal\n     implementation of the preferred magic.\n\n  3. deprecates v2 capability magic in favor of a new (v3) magic\n     number. The functionality of v3 is entirely equivalent to v2,\n     the only difference being that the v2 magic causes the kernel\n     to log a \"deprecated\" warning so the admin can find applications\n     that may be using v2 inappropriately.\n\n[User space code continues to be encouraged to use the libcap API which\nprotects the application from details like this.  libcap-2.10 is the first\nto support v3 capabilities.]\n\nFixes issue reported in https://bugzilla.redhat.com/show_bug.cgi?id\u003d447518.\nThanks to Bojan Smojver for the report.\n\n[akpm@linux-foundation.org: s/depreciate/deprecate/g]\n[akpm@linux-foundation.org: be robust about put_user size]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Bojan Smojver \u003cbojan@rexursive.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\n"
    },
    {
      "commit": "a7f75d3bed2871655d9806c62a5d6f46552b9a4a",
      "tree": "db44829cc8600184fb9edede658016349a5f071e",
      "parents": [
        "3897b82c3586e774260d6bca56cc1efca79cd335",
        "6715930654e06c4d2e66e718ea159079f71838f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 29 09:26:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 29 09:26:17 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: re-tune NUMA topologies\n  sched: stop wake_affine from causing serious imbalance\n  sched: fix sched_clock_cpu()\n  revert (\"sched: fair-group: SMP-nice for group scheduling\")\n  sched: cleanup\n  show_schedstat(): fix memleak\n  sched: unite unlikely pairs in rt_policy() and schedule_debug()\n  revert (\"sched: fair: weight calculations\")\n"
    },
    {
      "commit": "6715930654e06c4d2e66e718ea159079f71838f4",
      "tree": "6a0a19fb62f3e99cb5f6bf6c34ae541f7c30fb42",
      "parents": [
        "ea3f01f8afd3bc5daff915cc4ea5cc5ea9e7d427",
        "e490517a039a99d692cb3a5561941b0a5f576172"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 16:05:05 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 16:05:05 2008 +0200"
      },
      "message": "Merge commit \u0027linus/master\u0027 into sched-fixes-for-linus\n"
    },
    {
      "commit": "b3137bc8e77962a8e3b4dfdc1bcfd38e437bd278",
      "tree": "5131501b5575f933074cc89545ff997d277d1d57",
      "parents": [
        "a381759d6ad5c5dea5a981918e0b4493e9b66ac7"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu May 29 11:11:41 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:29:20 2008 +0200"
      },
      "message": "sched: stop wake_affine from causing serious imbalance\n\nPrevent short-running wakers of short-running threads from overloading a single\ncpu via wakeup affinity, and wire up disconnected debug option.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a381759d6ad5c5dea5a981918e0b4493e9b66ac7",
      "tree": "059df197fe2974c655fc098e3aaf6968a3cc2a3c",
      "parents": [
        "6363ca57c76b7b83639ca8c83fc285fa26a7880e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 29 10:07:15 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:29:19 2008 +0200"
      },
      "message": "sched: fix sched_clock_cpu()\n\nMake sched_clock_cpu() return 0 before it has been initialized and avoid\ncorrupting its state due to doing so.\n\nThis fixes the weird printk timestamp jump reported.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "6363ca57c76b7b83639ca8c83fc285fa26a7880e",
      "tree": "b8630b4af286409efdd648920a546fae24d4db88",
      "parents": [
        "4285f594f84d1f0641fc962d00e6638dec4a19c4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:28:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:28:57 2008 +0200"
      },
      "message": "revert (\"sched: fair-group: SMP-nice for group scheduling\")\n\nYanmin Zhang reported:\n\nComparing with 2.6.25, volanoMark has big regression with kernel 2.6.26-rc1.\nIt\u0027s about 50% on my 8-core stoakley, 16-core tigerton, and Itanium Montecito.\n\nWith bisect, I located the following patch:\n\n| 18d95a2832c1392a2d63227a7a6d433cb9f2037e is first bad commit\n| commit 18d95a2832c1392a2d63227a7a6d433cb9f2037e\n| Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n| Date:   Sat Apr 19 19:45:00 2008 +0200\n|\n|     sched: fair-group: SMP-nice for group scheduling\n\nRevert it so that we get v2.6.25 behavior.\n\nBisected-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4285f594f84d1f0641fc962d00e6638dec4a19c4",
      "tree": "cb00af70f896e89bda957ddbf5123fe551d96698",
      "parents": [
        "c6fba5451a84143f34056a465e72ba187fcc651c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 16 17:47:14 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:25:15 2008 +0200"
      },
      "message": "sched: cleanup\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6fba5451a84143f34056a465e72ba187fcc651c",
      "tree": "b552b99533703a0e63b809f6fa77f81255c384bc",
      "parents": [
        "3f33a7ce9567ded582af1ab71f9802165fe12f09"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed May 14 16:22:59 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:25:15 2008 +0200"
      },
      "message": "show_schedstat(): fix memleak\n\nThe Coverity checker spotted a memleak introduced by commit\n39106dcf85285e78f3b290022122c76f851379b8 (cpumask: use new cpus_scnprintf\nfunction).\n\nIt seems the kfree() got lost between v2 and v3 of this patch...\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f33a7ce9567ded582af1ab71f9802165fe12f09",
      "tree": "04304757dc84bc36400f306677d3452635cf9f74",
      "parents": [
        "f9305d4a0968201b2818dbed0dc8cb0d4ee7aeb3"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue May 13 23:44:11 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:25:14 2008 +0200"
      },
      "message": "sched: unite unlikely pairs in rt_policy() and schedule_debug()\n\nRemoves obfuscation and may improve assembly.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9305d4a0968201b2818dbed0dc8cb0d4ee7aeb3",
      "tree": "e171e568f04bd25c7c2ff99b5ef673b917b6eae6",
      "parents": [
        "f26a3988917913b3d11b2bd741601a2c64ab9204"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:23:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:24:01 2008 +0200"
      },
      "message": "revert (\"sched: fair: weight calculations\")\n\nYanmin Zhang reported:\n\nComparing with kernel 2.6.25, sysbench+mysql(oltp, readonly) has many\nregressions with 2.6.26-rc1:\n\n 1) 8-core stoakley: 28%;\n 2) 16-core tigerton: 20%;\n 3) Itanium Montvale: 50%.\n\nBisect located this patch:\n\n| 8f1bc385cfbab474db6c27b5af1e439614f3025c is first bad commit\n| commit 8f1bc385cfbab474db6c27b5af1e439614f3025c\n| Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n| Date:   Sat Apr 19 19:45:00 2008 +0200\n|\n|     sched: fair: weight calculations\n\nRevert it to the 2.6.25 state.\n\nBisected-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "827e609b4581282b98bdf7666f6e93ff1bd1a63e",
      "tree": "52b998e4204e77eb7a0d662f7ff04460d074164c",
      "parents": [
        "0a2ce2ffc358da96792d514c1024b72c52be9cc1"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed May 28 12:49:56 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed May 28 12:49:56 2008 -0500"
      },
      "message": "kgdb: use common ascii helpers and put_unaligned_be32 helper\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "a82c53a0e3f57f02782330372b7adad67b417645",
      "tree": "3a4e65ab1a2420f8fc5d0091a6992d6f7e430ad8",
      "parents": [
        "1ec7d99c16e69a9ed8ffeaa6c1846025b84bebad"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "zanussi@comcast.net",
        "time": "Fri May 09 13:28:36 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed May 28 14:49:27 2008 +0200"
      },
      "message": "splice: fix sendfile() issue with relay\n\nSplice isn\u0027t always incrementing the ppos correctly, which broke\nrelay splice.\n\nSigned-off-by: Tom Zanussi \u003czanussi@comcast.net\u003e\nTested-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cbaffba12ce08beb3e80bfda148ee0fa14aac188",
      "tree": "b35f29814b46593d864e8c8921e9eccac5a5a173",
      "parents": [
        "c8e85b4f4b9ee23bf0e79bdeb3da274a0f9c663f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon May 26 20:55:42 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 26 10:37:07 2008 -0700"
      },
      "message": "posix timers: discard SI_TIMER signals on exec\n\nBased on Roland\u0027s patch. This approach was suggested by Austin Clements\nfrom the very beginning, and then by Linus.\n\nAs Austin pointed out, the execing task can be killed by SI_TIMER signal\nbecause exec flushes the signal handlers, but doesn\u0027t discard the pending\nsignals generated by posix timers. Perhaps not a bug, but people find this\nsurprising. See http://bugzilla.kernel.org/show_bug.cgi?id\u003d10460\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Austin Clements \u003camdragon+kernelbugzilla@mit.edu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c8e85b4f4b9ee23bf0e79bdeb3da274a0f9c663f",
      "tree": "5eadfdc177f24261379f36798c3366df9be4a00a",
      "parents": [
        "84a881657d391121cd88c37f0a312dec3528fa44"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon May 26 20:55:42 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 26 10:37:06 2008 -0700"
      },
      "message": "posix timers: sigqueue_free: don\u0027t free sigqueue if it is queued\n\nCurrently sigqueue_free() removes sigqueue from list, but doesn\u0027t cancel the\npending signal. This is not consistent, the task should either receive the\n\"full\" signal along with siginfo_t, or it shouldn\u0027t receive the signal at all.\n\nChange sigqueue_free() to clear SIGQUEUE_PREALLOC but leave sigqueue on list\nif it is queued.\n\nThis is a user-visible change. If the signal is blocked, it stays queued\nafter sys_timer_delete() until unblocked with the \"stale\" si_code/si_value,\nand of course it is still counted wrt RLIMIT_SIGPENDING which also limits\nthe number of posix timers.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Austin Clements \u003camdragon+kernelbugzilla@mit.edu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c02b575780d0d785815a1e7b79a98edddee895a",
      "tree": "d77562541d5bdf30c19219f0af0db59162359963",
      "parents": [
        "12d15f0d51d47cec39d1d7250e81573c5cbd8b5d"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Fri May 23 13:05:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 24 09:56:14 2008 -0700"
      },
      "message": "cgroups: remove node_ prefix_from ns subsystem\n\nThis is a slight change in the namespace cgroup subsystem api.\n\nThe change is that previously when cgroup_clone() was called (currently\nonly from the unshare path in ns_proxy cgroup, you\u0027d get a new group named\n\"node_$pid\" whereas now you\u0027ll get a group named after just your pid.)\n\nThe only users who would notice it are those who are using the ns_proxy\ncgroup subsystem to auto-create cgroups when namespaces are unshared -\nsomething of an experimental feature, which I think really needs more\ncomplete container/namespace support in order to be useful.  I suspect the\nonly users are Cedric and Serge, or maybe a few others on\ncontainers@lists.linux-foundation.org.  And in fact it would only be\nnoticed by the users who make the assumption about how the name is\ngenerated, rather than getting it from the /proc/\u003cpid\u003e/cgroups file for\nthe process in question.\n\nWhether the change is actually needed or not I\u0027m fairly agnostic on, but I\nguess it is more elegant to just use the pid as the new group name rather\nthan adding a fairly arbitrary \"node_\" prefix on the front.\n\n[menage@google.com: provided changelog]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \"Paul Menage\" \u003cmenage@google.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nCc: \u003cstable@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": "7b26655f6208fdefa9ab0adc016116324f8d4ba8",
      "tree": "07f081c52da72a9730861c74ebea86ea48d402e2",
      "parents": [
        "f99c90094bffbe1cf38ef66f198a808c14a02d56"
      ],
      "author": {
        "name": "Shi Weihua",
        "email": "shiwh@cn.fujitsu.com",
        "time": "Fri May 23 13:04:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 24 09:56:13 2008 -0700"
      },
      "message": "sys_prctl(): fix return of uninitialized value\n\nIf none of the switch cases match, the PR_SET_PDEATHSIG and\nPR_SET_DUMPABLE cases of the switch statement will never write to local\nvariable `error\u0027.\n\nSigned-off-by: Shi Weihua \u003cshiwh@cn.fujitsu.com\u003e\nCc: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: \"Serge E. Hallyn\" \u003cserue@us.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": "da7978b0348d497688541e2d2f5739aa2a2c334f",
      "tree": "f4f55bf4293ff203f598e7a57959da1c5a7ad295",
      "parents": [
        "dfc7064500061677720fa26352963c772d3ebe6b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri May 23 13:04:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 24 09:56:10 2008 -0700"
      },
      "message": "signals: fix sigqueue_free() vs __exit_signal() race\n\n__exit_signal() does flush_sigqueue(tsk-\u003epending) outside of -\u003esiglock.\nThis can race with another thread doing sigqueue_free(), we can free the\nsame SIGQUEUE_PREALLOC sigqueue twice or corrupt the pending-\u003elist.\n\nNote that even sys_exit_group() can trigger this race, not only\nsys_timer_delete().\n\nMove the callsite of flush_sigqueue(tsk-\u003epending) under -\u003esiglock.\n\nThis patch doesn\u0027t touch flush_sigqueue(-\u003eshared_pending) below, it is\ncalled when there are no other threads which can play with signals, and\nsigqueue_free() can\u0027t be used outside of our thread group.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@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": "3401a61e16a5b852d4e353c8850c857105a67a9c",
      "tree": "5e05731a790c48512c7fe41c5fc83b0fee6081e3",
      "parents": [
        "4d2e7d0d77e4e1e8a21cc990c607985fdba20e66"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu May 08 15:20:38 2008 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 23 13:09:34 2008 +1000"
      },
      "message": "stop_machine: make stop_machine_run more virtualization friendly\n\nOn kvm I have seen some rare hangs in stop_machine when I used more guest\ncpus than hosts cpus. e.g. 32 guest cpus on 1 host cpu triggered the\nhang quite often. I could also reproduce the problem on a 4 way z/VM host with\na 64 way guest.\n\nIt turned out that the guest was consuming all available cpus mostly for\nspinning on scheduler locks like rq-\u003elock. This is expected as the threads are\ncalling yield all the time.\nThe problem is now, that the host scheduling decisings together with the guest\nscheduling decisions and spinlocks not being fair managed to create an\ninteresting scenario similar to a live lock. (Sometimes the hang resolved\nitself after some minutes)\n\nChanging stop_machine to yield the cpu to the hypervisor when yielding inside\nthe guest fixed the problem for me. While I am not completely happy with this\npatch, I think it causes no harm and it really improves the situation for me.\n\nI used cpu_relax for yielding to the hypervisor, does that work on all\narchitectures?\n\np.s.: If you want to reproduce the problem, cpu hotplug and kprobes use\nstop_machine_run and both triggered the problem after some retries.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "34e4e2fef4c7a2f7699b3d25e48d871d3ac4c3e7",
      "tree": "0d013ca321765f38f57c53a012b7a8cad30ea3f2",
      "parents": [
        "c4ea6fcf5a192dbba54666f308bdace1c278e0c1"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue May 20 13:59:48 2008 +0400"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 23 13:09:33 2008 +1000"
      },
      "message": "modules: proper cleanup of kobject without CONFIG_SYSFS\n\nkobject: \u0027\u003cNULL\u003e\u0027 (ffffffffa0104050): is not initialized, yet kobject_put() is being called.\n------------[ cut here ]------------\nWARNING: at /home/den/src/linux-netns26/lib/kobject.c:583 kobject_put+0x53/0x55()\nModules linked in: ipv6 nfsd lockd nfs_acl auth_rpcgss sunrpc exportfs ide_cd_mod cdrom button [last unloaded: pktgen]\ncomm: rmmod Tainted: G        W 2.6.26-rc3 #585\nCall Trace:\n  [\u003cffffffff802359ab\u003e] warn_on_slowpath+0x58/0x7a\n  [\u003cffffffff80236aca\u003e] ? printk+0x67/0x69\n  [\u003cffffffff80236aca\u003e] ? printk+0x67/0x69\n  [\u003cffffffff80324289\u003e] kobject_put+0x53/0x55\n  [\u003cffffffff8025e2ee\u003e] free_module+0x87/0xfa\n  [\u003cffffffff8025fee5\u003e] sys_delete_module+0x178/0x1e1\n  [\u003cffffffff804b1e70\u003e] ? lockdep_sys_exit_thunk+0x35/0x67\n  [\u003cffffffff804b1dff\u003e] ? trace_hardirqs_on_thunk+0x35/0x3a\n  [\u003cffffffff8020c0bb\u003e] system_call_after_swapgs+0x7b/0x80\n---[ end trace 8f5aafa7f6406cf8 ]---\n\nmod-\u003emkobj.kobj is not initialized without CONFIG_SYSFS. Do not call\nkobject_put in this case.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c4ea6fcf5a192dbba54666f308bdace1c278e0c1",
      "tree": "93055c860a9ddfff8e2d056e3ad19730a81b8cb9",
      "parents": [
        "78b58e549a3098a8c1408d0214bd25e5d5e7a3a3"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Wed May 14 16:27:29 2008 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 23 13:09:32 2008 +1000"
      },
      "message": "module loading ELF handling: use SELFMAG instead of numeric constant\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "16ae527bfa03c6c82328098eafae972807ed32d4",
      "tree": "cad921d7eeff11c9063a36204118ac8a66029c8f",
      "parents": [
        "e23a5f66877d32f21a2ac15a200ad4a2b4c8b0ee",
        "6793a051fb9311f0f1ab7eafc5a9e69b8a1bd8d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 19 16:38:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 19 16:38:10 2008 -0700"
      },
      "message": "Merge branch \u0027audit.b51\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b51\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [PATCH] list_for_each_rcu must die: audit\n  [patch 1/1] audit_send_reply(): fix error-path memory leak\n  [PATCH] open sessionid permissions\n"
    },
    {
      "commit": "6793a051fb9311f0f1ab7eafc5a9e69b8a1bd8d4",
      "tree": "e0732f3bf37440015e86ccfd6a0cb5ca79703c5e",
      "parents": [
        "fcaf1eb8685a00a99259e138e403841e984385b0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed May 14 17:10:12 2008 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 17 03:30:23 2008 -0400"
      },
      "message": "[PATCH] list_for_each_rcu must die: audit\n\nAll uses of list_for_each_rcu() can be profitably replaced by the\neasier-to-use list_for_each_entry_rcu().  This patch makes this change\nfor the Audit system, in preparation for removing the list_for_each_rcu()\nAPI entirely.  This time with well-formed SOB.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fcaf1eb8685a00a99259e138e403841e984385b0",
      "tree": "01663c2345f200014f028b7cee2d3270e3100601",
      "parents": [
        "6ee650467d5bf972d10441e99688e9b48171f99c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed May 14 16:11:48 2008 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 17 03:30:22 2008 -0400"
      },
      "message": "[patch 1/1] audit_send_reply(): fix error-path memory leak\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d10663\n\nReporter: Daniel Marjamki \u003cdanielm77@spray.se\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eceea0b3df05ed262ae32e0c6340cc7a3626632d",
      "tree": "73e5e33acace9187d5729a9a8c8ff53c3d720d52",
      "parents": [
        "adbecb128cd2cc5d14b0ebef6d020ced0efd0ec6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 10 10:08:32 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 16 17:22:52 2008 -0400"
      },
      "message": "[PATCH] avoid multiplication overflows and signedness issues for max_fds\n\nLimit sysctl_nr_open - we don\u0027t want -\u003emax_fds to exceed MAX_INT and\nwe don\u0027t want size calculation for -\u003efd[] to overflow.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "02afc6267f6d55d47aba9fcafdbd1b7230d2294a",
      "tree": "f8cd675baf512fa6f6d561a5bccc0447bec2ff8b",
      "parents": [
        "f52111b1546943545e67573c4dde1c7613ca33d3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 08 19:42:56 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 16 17:22:26 2008 -0400"
      },
      "message": "[PATCH] dup_fd() fixes, part 1\n\nMove the sucker to fs/file.c in preparation to the rest\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3fc957721d18c93662f7d4dab455b80f53dd2641",
      "tree": "9bdbabf3cb3678edcd0e0e4beb5deaa5c1b17bcd",
      "parents": [
        "122a881c776b7c155bf3f379928cc27aab435288"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed May 14 16:05:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:14 2008 -0700"
      },
      "message": "lib: create common ascii hex array\n\nAdd a common hex array in hexdump.c so everyone can use it.\n\nAdd a common hi/lo helper to avoid the shifting masking that is\ndone to get the upper and lower nibbles of a byte value.\n\nPull the pack_hex_byte helper from kgdb as it is opencoded many\nplaces in the tree that will be consolidated.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.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": "0c70814c311581a6c86198db4f982aa683c68fb8",
      "tree": "3df20cc52e4cf0515b7d7f6658d9f6991baa560c",
      "parents": [
        "b7cffc1f29c1bc729bc50c863c87f93f9b70994b"
      ],
      "author": {
        "name": "Mirco Tischler",
        "email": "mt-ml@gmx.de",
        "time": "Wed May 14 16:05:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 14 19:11:14 2008 -0700"
      },
      "message": "cgroups: fix compile warning\n\nReturn type of cpu_rt_runtime_write() should be int instead of ssize_t.\n\nSigned-off-by: Mirco Tischler \u003cmt-ml@gmx.de\u003e\nAcked-by: Paul Menage \u003cmenage@google.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": "c3921ab71507b108d51a0f1ee960f80cd668a93d",
      "tree": "b1408b898a8b50f15ad4a0cf1f29e17cc0138485",
      "parents": [
        "9662369786b9d07fd46d65b0f9e3938a3e01a5d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 11 16:04:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 11 16:04:48 2008 -0700"
      },
      "message": "Add new \u0027cond_resched_bkl()\u0027 helper function\n\nIt acts exactly like a regular \u0027cond_resched()\u0027, but will not get\noptimized away when CONFIG_PREEMPT is set.\n\nNormal kernel code is already preemptable in the presense of\nCONFIG_PREEMPT, so cond_resched() is optimized away (see commit\n02b67cc3ba36bdba351d6c3a00593f4ec550d9d3 \"sched: do not do\ncond_resched() when CONFIG_PREEMPT\").\n\nBut when wanting to conditionally reschedule while holding a lock, you\nneed to use \"cond_sched_lock(lock)\", and the new function is the BKL\nequivalent of that.\n\nAlso make fs/locks.c use it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e3e076c5a78519a9f64cd384e8f18bc21882ce0",
      "tree": "f032258fde3aa4771e86bf4552fe4530c221dec3",
      "parents": [
        "00b41ec2611dc98f87f30753ee00a53db648d662"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 20:58:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 20:58:02 2008 -0700"
      },
      "message": "BKL: revert back to the old spinlock implementation\n\nThe generic semaphore rewrite had a huge performance regression on AIM7\n(and potentially other BKL-heavy benchmarks) because the generic\nsemaphores had been rewritten to be simple to understand and fair.  The\nlatter, in particular, turns a semaphore-based BKL implementation into a\nmess of scheduling.\n\nThe attempt to fix the performance regression failed miserably (see the\nprevious commit 00b41ec2611dc98f87f30753ee00a53db648d662 \u0027Revert\n\"semaphore: fix\"\u0027), and so for now the simple and sane approach is to\ninstead just go back to the old spinlock-based BKL implementation that\nnever had any issues like this.\n\nThis patch also has the advantage of being reported to fix the\nregression completely according to Yanmin Zhang, unlike the semaphore\nhack which still left a couple percentage point regression.\n\nAs a spinlock, the BKL obviously has the potential to be a latency\nissue, but it\u0027s not really any different from any other spinlock in that\nrespect.  We do want to get rid of the BKL asap, but that has been the\nplan for several years.\n\nThese days, the biggest users are in the tty layer (open/release in\nparticular) and Alan holds out some hope:\n\n  \"tty release is probably a few months away from getting cured - I\u0027m\n   afraid it will almost certainly be the very last user of the BKL in\n   tty to get fixed as it depends on everything else being sanely locked.\"\n\nso while we\u0027re not there yet, we do have a plan of action.\n\nTested-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Alexander Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00b41ec2611dc98f87f30753ee00a53db648d662",
      "tree": "431f5019ce8dfd0f9c2b0e3816128dc4a34a49ff",
      "parents": [
        "39f004ba27fcd2431030a3bb3c949fa3f93fa4ca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 20:43:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 10 20:43:22 2008 -0700"
      },
      "message": "Revert \"semaphore: fix\"\n\nThis reverts commit bf726eab3711cf192405d21688a4b21e07b6188a, as it has\nbeen reported to cause a regression with processes stuck in __down(),\napparently because some missing wakeup.\n\nQuoth Sven Wegener:\n \"I\u0027m currently investigating a regression that has showed up with my\n  last git pull yesterday.  Bisecting the commits showed bf726e\n  \"semaphore: fix\" to be the culprit, reverting it fixed the issue.\n\n  Symptoms: During heavy filesystem usage (e.g.  a kernel compile) I get\n  several compiler processes in uninterruptible sleep, blocking all i/o\n  on the filesystem.  System is an Intel Core 2 Quad running a 64bit\n  kernel and userspace.  Filesystem is xfs on top of lvm.  See below for\n  the output of sysrq-w.\"\n\nSee\n\n\thttp://lkml.org/lkml/2008/5/10/45\n\nfor full report.\n\nIn the meantime, we can just fix the BKL performance regression by\nreverting back to the good old BKL spinlock implementation instead,\nsince any sleeping lock will generally perform badly, especially if it\ntries to be fair.\n\nReported-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91e37a793b5a9436a2d12b2f0a8f52db3a133e1d",
      "tree": "6ddf17ad786fa2a42ef79aa4f7873c79c1e17a89",
      "parents": [
        "a5dd69707424a35d2d2cc094e870f595ad61e916"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 09 16:25:28 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 09 07:45:18 2008 -0700"
      },
      "message": "module: don\u0027t ignore vermagic string if module doesn\u0027t have modversions\n\nLinus found a logic bug: we ignore the version number in a module\u0027s\nvermagic string if we have CONFIG_MODVERSIONS set, but modversions\nalso lets through a module with no __versions section for modprobe\n--force (with tainting, but still).\n\nWe should only ignore the start of the vermagic string if the module\nactually *has* crcs to check.  Rather than (say) having an\nentertaining hissy fit and creating a config option to work around the\nbuggy code.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5dd69707424a35d2d2cc094e870f595ad61e916",
      "tree": "dd9dffe6748358bac9a8699f7d8ad9e205886a67",
      "parents": [
        "6c2545eefffc452e52302c96c955d9aa26353aa9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri May 09 16:24:21 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 09 07:45:18 2008 -0700"
      },
      "message": "module: be more picky about allowing missing module versions\n\nWe allow missing __versions sections, because modprobe --force strips\nit.  It makes less sense to allow sections where there\u0027s no version\nfor a specific symbol the module uses, so disallow that.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4f51b4662074c6ee26c972126a317c05f65be06",
      "tree": "ea6b25a3b45d11d649f85626a9879ce7723554da",
      "parents": [
        "f589274533eb94e0217acc1db6240ce6e621bb56",
        "46151122e0a2e80e5a6b2889f595e371fe2b600d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 11:31:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 11:31:07 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-fixes:\n  sched: fix weight calculations\n  semaphore: fix\n"
    },
    {
      "commit": "7a34912d90c17a90d9fad12c4c51833b4e70707b",
      "tree": "a3811697f5eba3c5d12216ac76f681420046b219",
      "parents": [
        "0f1bce41fed02e45f31c2409f29e69e1fedebcdc",
        "75065ff619e42fe35178eda863cbcddd57776794"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:48:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:48:36 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Revert \"relay: fix splice problem\"\n  docbook: fix bio missing parameter\n  block: use unitialized_var() in bio_alloc_bioset()\n  block: avoid duplicate calls to get_part() in disk stat code\n  cfq-iosched: make io priorities inherit CPU scheduling class as well as nice\n  block: optimize generic_unplug_device()\n  block: get rid of likely/unlikely predictions in merge logic\n  vfs: splice remove_suid() cleanup\n  cfq-iosched: fix RCU race in the cfq io_context destructor handling\n  block: adjust tagging function queue bit locking\n  block: sysfs store function needs to grab queue_lock and use queue_flag_*()\n"
    },
    {
      "commit": "5be7a4792a31df6f2cd44bfba8da467ea20a0642",
      "tree": "87ec7f4f59f52a729ab21aa6d6bf3d3e6cad9474",
      "parents": [
        "4ea33e2dc2dab10960877e1649ee527c033f42c0"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue May 06 20:42:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:46:56 2008 -0700"
      },
      "message": "Fix cpuset sched_relax_domain_level control file\n\nDue to a merge conflict, the sched_relax_domain_level control file was marked\nas being handled by cpuset_read/write_u64, but the code to handle it was\nactually in cpuset_common_file_read/write.\n\nSince the value being written/read is in fact a signed integer, it should be\ntreated as such; this patch adds cpuset_read/write_s64 functions, and uses\nthem to handle the sched_relax_domain_level file.\n\nWith this patch, the sched_relax_domain_level can be read and written, and the\ncorrect contents seen/updated.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-by: Li Zefan \u003clizf@cn.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": "46151122e0a2e80e5a6b2889f595e371fe2b600d",
      "tree": "61ab1993c1a94765327aeba3b36924b88b81e68f",
      "parents": [
        "bf726eab3711cf192405d21688a4b21e07b6188a"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu May 08 17:00:42 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 08 17:00:42 2008 +0200"
      },
      "message": "sched: fix weight calculations\n\nThe conversion between virtual and real time is as follows:\n\n  dvt \u003d rw/w * dt \u003c\u003d\u003e dt \u003d w/rw * dvt\n\nSince we want the fair sleeper granularity to be in real time, we actually\nneed to do:\n\n  dvt \u003d - rw/w * l\n\nThis bug could be related to the regression reported by Yanmin Zhang:\n\n| Comparing with kernel 2.6.25, sysbench+mysql(oltp, readonly) has lots\n| of regressions with 2.6.26-rc1:\n|\n| 1) 8-core stoakley: 28%;\n| 2) 16-core tigerton: 20%;\n| 3) Itanium Montvale: 50%.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf726eab3711cf192405d21688a4b21e07b6188a",
      "tree": "5450be096ade3a66edee8858fd492ff55e20e4f8",
      "parents": [
        "3de2403e6659d71b36ec820dc9b942762ddfe6eb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 08 11:53:48 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 08 17:00:42 2008 +0200"
      },
      "message": "semaphore: fix\n\nYanmin Zhang reported:\n\n| Comparing with kernel 2.6.25, ﻿AIM7 (use tmpfs) has ﻿more th\n| regression under 2.6.26-rc1 on my 8-core stoakley, 16-core tigerton,\n| and Itanium Montecito. Bisect located the patch below:\n|\n| 64ac24e738823161693bf791f87adc802cf529ff is first bad commit\n| commit 64ac24e738823161693bf791f87adc802cf529ff\n| Author: Matthew Wilcox \u003cmatthew@wil.cx\u003e\n| Date:   Fri Mar 7 21:55:58 2008 -0500\n|\n|     Generic semaphore implementation\n|\n| After I manually reverted the patch against 2.6.26-rc1 while fixing\n| lots of conflicts/errors, aim7 regression became less than 2%.\n\ni reproduced the AIM7 workload and can confirm Yanmin\u0027s findings that\n-.26-rc1 regresses over .25 - by over 67% here.\n\nLooking at the workload i found and fixed what i believe to be the real\nbug causing the AIM7 regression: it was inefficient wakeup / scheduling\n/ locking behavior of the new generic semaphore code, causing suboptimal\nperformance.\n\nThe problem comes from the following code. The new semaphore code does\nthis on down():\n\n        spin_lock_irqsave(\u0026sem-\u003elock, flags);\n        if (likely(sem-\u003ecount \u003e 0))\n                sem-\u003ecount--;\n        else\n                __down(sem);\n        spin_unlock_irqrestore(\u0026sem-\u003elock, flags);\n\nand this on up():\n\n        spin_lock_irqsave(\u0026sem-\u003elock, flags);\n        if (likely(list_empty(\u0026sem-\u003ewait_list)))\n                sem-\u003ecount++;\n        else\n                __up(sem);\n        spin_unlock_irqrestore(\u0026sem-\u003elock, flags);\n\nwhere __up() does:\n\n        list_del(\u0026waiter-\u003elist);\n        waiter-\u003eup \u003d 1;\n        wake_up_process(waiter-\u003etask);\n\nand where __down() does this in essence:\n\n        list_add_tail(\u0026waiter.list, \u0026sem-\u003ewait_list);\n        waiter.task \u003d task;\n        waiter.up \u003d 0;\n        for (;;) {\n                [...]\n                spin_unlock_irq(\u0026sem-\u003elock);\n                timeout \u003d schedule_timeout(timeout);\n                spin_lock_irq(\u0026sem-\u003elock);\n                if (waiter.up)\n                        return 0;\n        }\n\nthe fastpath looks good and obvious, but note the following property of\nthe contended path: if there\u0027s a task on the -\u003ewait_list, the up() of\nthe current owner will \"pass over\" ownership to that waiting task, in a\nwake-one manner, via the waiter-\u003eup flag and by removing the waiter from\nthe wait list.\n\nThat is all and fine in principle, but as implemented in\nkernel/semaphore.c it also creates a nasty, hidden source of contention!\n\nThe contention comes from the following property of the new semaphore\ncode: the new owner owns the semaphore exclusively, even if it is not\nrunning yet.\n\nSo if the old owner, even if just a few instructions later, does a\ndown() [lock_kernel()] again, it will be blocked and will have to wait\non the new owner to eventually be scheduled (possibly on another CPU)!\nOr if another task gets to lock_kernel() sooner than the \"new owner\"\nscheduled, it will be blocked unnecessarily and for a very long time\nwhen there are 2000 tasks running.\n\nI.e. the implementation of the new semaphores code does wake-one and\nlock ownership in a very restrictive way - it does not allow\nopportunistic re-locking of the lock at all and keeps the scheduler from\npicking task order intelligently.\n\nThis kind of scheduling, with 2000 AIM7 processes running, creates awful\ncross-scheduling between those 2000 tasks, causes reduced parallelism, a\nthrottled runqueue length and a lot of idle time. With increasing number\nof CPUs it causes an exponentially worse behavior in AIM7, as the chance\nfor a newly woken new-owner task to actually run anytime soon is less\nand less likely.\n\nNote that it takes just a tiny bit of contention for the \u0027new-semaphore\ncatastrophy\u0027 to happen: the wakeup latencies get added to whatever small\ncontention there is, and quickly snowball out of control!\n\nI believe Yanmin\u0027s findings and numbers support this analysis too.\n\nThe best fix for this problem is to use the same scheduling logic that\nthe kernel/mutex.c code uses: keep the wake-one behavior (that is OK and\nwanted because we do not want to over-schedule), but also allow\nopportunistic locking of the lock even if a wakee is already \"in\nflight\".\n\nThe patch below implements this new logic. With this patch applied the\nAIM7 regression is largely fixed on my quad testbox:\n\n  # v2.6.25 vanilla:\n  ..................\n  Tasks   Jobs/Min        JTI     Real    CPU     Jobs/sec/task\n  2000    56096.4         91      207.5   789.7   0.4675\n  2000    55894.4         94      208.2   792.7   0.4658\n\n  # v2.6.26-rc1-166-gc0a1811 vanilla:\n  ...................................\n  Tasks   Jobs/Min        JTI     Real    CPU     Jobs/sec/task\n  2000    33230.6         83      350.3   784.5   0.2769\n  2000    31778.1         86      366.3   783.6   0.2648\n\n  # v2.6.26-rc1-166-gc0a1811 + semaphore-speedup:\n  ...............................................\n  Tasks   Jobs/Min        JTI     Real    CPU     Jobs/sec/task\n  2000    55707.1         92      209.0   795.6   0.4642\n  2000    55704.4         96      209.0   796.0   0.4642\n\ni.e. a 67% speedup. We are now back to within 1% of the v2.6.25\nperformance levels and have zero idle time during the test, as expected.\n\nBtw., interactivity also improved dramatically with the fix - for\nexample console-switching became almost instantaneous during this\nworkload (which after all is running 2000 tasks at once!), without the\npatch it was stuck for a minute at times.\n\nThere\u0027s another nice side-effect of this speedup patch, the new generic\nsemaphore code got even smaller:\n\n   text    data     bss     dec     hex filename\n   1241       0       0    1241     4d9 semaphore.o.before\n   1207       0       0    1207     4b7 semaphore.o.after\n\n(because the waiter.up complication got removed.)\n\nLonger-term we should look into using the mutex code for the generic\nsemaphore code as well - but i\u0027s not easy due to legacies and it\u0027s\noutside of the scope of v2.6.26 and outside the scope of this patch as\nwell.\n\nBisected-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "75065ff619e42fe35178eda863cbcddd57776794",
      "tree": "e41d6e838cb2d2fcd62e5ea1980f720e98b57de7",
      "parents": [
        "ffee0259c9edcc4c0f06b60df51c461eeecad4c0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu May 08 14:06:19 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu May 08 14:06:19 2008 +0200"
      },
      "message": "Revert \"relay: fix splice problem\"\n\nThis reverts commit c3270e577c18b3d0e984c3371493205a4807db9d.\n"
    },
    {
      "commit": "3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd",
      "tree": "3752f9ea8e014ec40e95a1b197b0a3d18e1056a8",
      "parents": [
        "a5574cf65b5f03ce9ade3918764fe22e5e2371e3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 03 18:29:28 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: add optional support for CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n\nthis replaces the rq-\u003eclock stuff (and possibly cpu_clock()).\n\n - architectures that have an \u0027imperfect\u0027 hardware clock can set\n   CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n\n - the \u0027jiffie\u0027 window might be superfulous when we update tick_gtod\n   before the __update_sched_clock() call in sched_clock_tick()\n\n - cpu_clock() might be implemented as:\n\n     sched_clock_cpu(smp_processor_id())\n\n   if the accuracy proves good enough - how far can TSC drift in a\n   single jiffie when considering the filtering and idle hooks?\n\n[ mingo@elte.hu: various fixes and cleanups ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dfbf4a1bc319f0f9a31e39b2da1fa5c55e85af89",
      "tree": "0b9dd19406c53a93452dd345bb05f76aa712a757",
      "parents": [
        "cb4ad1ffc7c0d8ea7dc8cd8ba303d83551716d46"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 23 09:24:06 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix cpu clock\n\nDavid Miller pointed it out that nothing in cpu_clock() sets\nprev_cpu_time. This caused __sync_cpu_clock() to be called\nall the time - against the intention of this code.\n\nThe result was that in practice we hit a global spinlock every\ntime cpu_clock() is called - which - even though cpu_clock()\nis used for tracing and debugging, is suboptimal.\n\nWhile at it, also:\n\n- move the irq disabling to the outest layer,\n  this should make cpu_clock() warp-free when called with irqs\n  enabled.\n\n- use long long instead of cycles_t - for platforms where cycles_t\n  is 32-bit.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb4ad1ffc7c0d8ea7dc8cd8ba303d83551716d46",
      "tree": "79f6b1fe971a270e5e009d695d2bf998936197c8",
      "parents": [
        "712555ee4f873515612f89554ad1a3fda5fa887e"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon Apr 28 12:54:56 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fair-group: fix a Div0 error of the fair group scheduler\n\nWhen I echoed 0 into the \"cpu.shares\" file, a Div0 error occured.\n\nWe found it is caused by the following calling.\n\n   sched_group_set_shares(tg, shares)\n       set_se_shares(tg-\u003ese[i], shares/nr_cpu_ids)\n           __set_se_shares(se, shares)\n               div64_64((1ULL\u003c\u003c32), shares)\n\nWhen the echoed value was less than the number of processores, the result of the\nsentence \"shares/nr_cpu_ids\" was 0, and then the system called div64() to divide\nthe result, the Div0 error occured.\n\nIt is unnecessary that the shares value is divided by nr_cpu_ids, I think.\nBecause in the function  __update_group_shares_cpu() and init_tg_cfs_entry(),\nthe shares value isn\u0027t divided by nr_cpu_ids when setting shares of the sched\nentity.\n\nThis patch fixes this bug. And echoing ULONG_MAX value into cpu.shares also\ncauses Div0 error, so we set a macro MAX_SHARES to limit the max value of\nshares.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "712555ee4f873515612f89554ad1a3fda5fa887e",
      "tree": "88ff7222727c63959eb58a3aa729029aaf08a64f",
      "parents": [
        "690229a0912ca2fef8b542fe4d8b73acfcdc6e24"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Apr 28 11:33:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix missing locking in sched_domains code\n\nConcurrent calls to detach_destroy_domains and arch_init_sched_domains\nwere prevented by the old scheduler subsystem cpu hotplug mutex. When\nthis got converted to get_online_cpus() the locking got broken.\nUnlike before now several processes can concurrently enter the critical\nsections that were protected by the old lock.\n\nSo use the already present doms_cur_mutex to protect these sections again.\n\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "690229a0912ca2fef8b542fe4d8b73acfcdc6e24",
      "tree": "28be1db230f039589650f2b5d46de9e6f5722ef0",
      "parents": [
        "d7dcdc11cfa6a8860a29b09f985467b89224699d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 23 09:31:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: make clock sync tunable by architecture code\n\nmake time_sync_thresh tunable to architecture code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7dcdc11cfa6a8860a29b09f985467b89224699d",
      "tree": "cd7b8c1ba9b23ec84f93e58417e67644dfd7a124",
      "parents": [
        "673a90a1e05c8127886f7659d1a457169378371f"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Apr 29 12:23:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix debugging\n\nRevert debugging commit 7ba2e74ab5a0518bc953042952dd165724bc70c9.\nprint_cfs_rq_tasks() can induce live-lock if a task is dequeued\nduring list traversal.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "673a90a1e05c8127886f7659d1a457169378371f",
      "tree": "77469d2b1273d960b90520a088bd82bdf0276ee7",
      "parents": [
        "b328ca182f01c2a04b85e0ee8a410720b104fbcc"
      ],
      "author": {
        "name": "David Simner",
        "email": "djs203@srcf.ucam.org",
        "time": "Tue Apr 29 10:08:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix sched_info_switch not being called according to documentation\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d10545\n\nsched_stats.h says that __sched_info_switch is \"called when prev !\u003d\nnext\" in the comment.  sched.c should therefore do that.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b328ca182f01c2a04b85e0ee8a410720b104fbcc",
      "tree": "d04ba3472a8f57788fb7e6e614e8e6b3c5a79b55",
      "parents": [
        "104f64549c961a797ff5f7c59946a7caa335c5b0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Apr 29 10:02:46 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix hrtick_start_fair and CPU-Hotplug\n\nGautham R Shenoy reported:\n\n \u003e While running the usual CPU-Hotplug stress tests on linux-2.6.25,\n \u003e I noticed the following in the console logs.\n \u003e\n \u003e This is a wee bit difficult to reproduce. In the past 10 runs I hit this\n \u003e only once.\n \u003e\n \u003e ------------[ cut here ]------------\n \u003e\n \u003e WARNING: at kernel/sched.c:962 hrtick+0x2e/0x65()\n \u003e\n \u003e Just wondering if we are doing a good job at handling the cancellation\n \u003e of any per-cpu scheduler timers during CPU-Hotplug.\n\nThis looks like its indeed not cancelled at all and migrates the it to\nanother cpu. Fix it via a proper hotplug notifier mechanism.\n\nReported-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "104f64549c961a797ff5f7c59946a7caa335c5b0",
      "tree": "d63d707ee5b9d1dbc8e5796e142ca584736f01b9",
      "parents": [
        "8ae121ac8666b0421aa20fd80d4597ec66fa54bc"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Apr 28 12:40:01 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix SCHED_FAIR wake-idle logic error\n\nWe currently use an optimization to skip the overhead of wake-idle\nprocessing if more than one task is assigned to a run-queue.  The\nassumption is that the system must already be load-balanced or we\nwouldnt be overloaded to begin with.\n\nThe problem is that we are looking at rq-\u003enr_running, which may include\nRT tasks in addition to CFS tasks.  Since the presence of RT tasks\nreally has no bearing on the balance status of CFS tasks, this throws\nthe calculation off.\n\nThis patch changes the logic to only consider the number of CFS tasks\nwhen making the decision to optimze the wake-idle.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8ae121ac8666b0421aa20fd80d4597ec66fa54bc",
      "tree": "1db411965b1b12029d501ea10ab90fbc8aa4ec62",
      "parents": [
        "983ed7a66bcec9dc307d89dc7af47cdf209e56af"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Wed Apr 23 07:13:29 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix RT task-wakeup logic\n\nDmitry Adamushko pointed out a logic error in task_wake_up_rt() where we\nwill always evaluate to \"true\".  You can find the thread here:\n\nhttp://lkml.org/lkml/2008/4/22/296\n\nIn reality, we only want to try to push tasks away when a wake up request is\nnot going to preempt the current task.  So lets fix it.\n\nNote: We introduce test_tsk_need_resched() instead of open-coding the flag\ncheck so that the merge-conflict with -rt should help remind us that we\nmay need to support NEEDS_RESCHED_DELAYED in the future, too.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nCC: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "983ed7a66bcec9dc307d89dc7af47cdf209e56af",
      "tree": "a5fc14c7fe993b795198bbeee2919ad695735e81",
      "parents": [
        "d478c2cfaa2476f8b6876f9eb4d8fddcfa986479"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Apr 24 18:17:55 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: add statics, don\u0027t return void expressions\n\nNoticed by sparse:\nkernel/sched.c:760:20: warning: symbol \u0027sched_feat_names\u0027 was not declared. Should it be static?\nkernel/sched.c:767:5: warning: symbol \u0027sched_feat_open\u0027 was not declared. Should it be static?\nkernel/sched_fair.c:845:3: warning: returning void-valued expression\nkernel/sched.c:4386:3: warning: returning void-valued expression\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d478c2cfaa2476f8b6876f9eb4d8fddcfa986479",
      "tree": "59cb264c539147cb481e13335ff3c69750e16c67",
      "parents": [
        "733a0771df46af942b8355cd8bb15780106b4353"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sat Apr 26 11:30:34 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: add debug checks to idle functions\n\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: \"Justin Mattock\" \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2abdad0a4cd8f9413f778cc998e0ee7d60b28417",
      "tree": "c7bd3839e765c2991d3dfbfb1f5f83d58f1211e3",
      "parents": [
        "e05510d01ad1565e5e086a939261084d67ba2b10"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Apr 25 10:53:13 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: make rt_sched_class, idle_sched_class static\n\nThe C files are included directly in sched.c, so they are\neffectively static.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e05510d01ad1565e5e086a939261084d67ba2b10",
      "tree": "f6a8d27f2ad546c98079c8868d914de46a77994f",
      "parents": [
        "a992241de614dd2b7c97a9ba64e28c0e563f19bf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: optimize calc_delta_mine()\n\nJoel noticed that the !lw-\u003einv_weight contition isn\u0027t unlikely anymore so\nremove the unlikely annotation. Also, remove the two div64_u64() inv_weight\ncalculations, which makes them rely on the calc_delta_mine() path as well.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Joel Schopp \u003cjschopp@austin.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a992241de614dd2b7c97a9ba64e28c0e563f19bf",
      "tree": "a76f646188c23aad856b43ffc841a0ec08613398",
      "parents": [
        "5717922a1b8cc477f45a0f4f11fe619392ba7133"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: fix normalized sleeper\n\nNormalized sleeper uses calc_delta*() which requires that the rq load is\nalready updated, so move account_entity_enqueue() before place_entity()\n\nTested-by: Frans Pop \u003celendil@planet.nl\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5717922a1b8cc477f45a0f4f11fe619392ba7133",
      "tree": "eeec6ca67edf27831071cabb8a13665b8001d55c",
      "parents": [
        "50f7ad2500b27ce5c42be3a6936f143b158f7bc3",
        "e024cbd257efc2788b7d21b9353e966267485c87"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 05 10:17:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 05 10:17:30 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb: kconfig fix xconfig/menuconfig element\n  kgdb: fix signedness mixmatches, add statics, add declaration to header\n  kgdb: 1000 loops for the single step test in kgdbts\n  kgdb: trivial sparse fixes in kgdb test-suite\n  kgdb: minor documentation fixes\n"
    },
    {
      "commit": "82af7aca56c67061420d618cc5a30f0fd4106b80",
      "tree": "7542ae2436336f6cfafb4b9dc1e8bc66637a1cc9",
      "parents": [
        "f74d505b58d36ceeef10e459094f0eb760681165"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Fri Jan 25 10:40:46 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 05 08:18:45 2008 -0700"
      },
      "message": "Removal of FUTEX_FD\n\nSince FUTEX_FD was scheduled for removal in June 2007 lets remove it.\n\nGoogle Code search found no users for it and NGPT was abandoned in 2003\naccording to IBM.  futex.h is left untouched to make sure the id does\nnot get reassigned.  Since queue_me() has no users left it is commented\nout to avoid a warning, i didnt remove it completely since it is part of\nthe internal api (matching unqueue_me())\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (removed rest)\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "688b744d8bc84dc5cc646e97509113dc5e8818ed",
      "tree": "7eb6292506e354a3ba76c202fcd1f8b08eccaf70",
      "parents": [
        "7cfcd985d36031459cc64e3843ea36a4d801097d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Apr 24 16:57:23 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon May 05 07:13:21 2008 -0500"
      },
      "message": "kgdb: fix signedness mixmatches, add statics, add declaration to header\n\nNoticed by sparse:\narch/x86/kernel/kgdb.c:556:15: warning: symbol \u0027kgdb_arch_pc\u0027 was not declared. Should it be static?\nkernel/kgdb.c:149:8: warning: symbol \u0027kgdb_do_roundup\u0027 was not declared. Should it be static?\nkernel/kgdb.c:193:22: warning: symbol \u0027kgdb_arch_pc\u0027 was not declared. Should it be static?\nkernel/kgdb.c:712:5: warning: symbol \u0027remove_all_break\u0027 was not declared. Should it be static?\n\nRelated to kgdb_hex2long:\narch/x86/kernel/kgdb.c:371:28: warning: incorrect type in argument 2 (different signedness)\narch/x86/kernel/kgdb.c:371:28:    expected long *long_val\narch/x86/kernel/kgdb.c:371:28:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:469:27: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:469:27:    expected long *long_val\nkernel/kgdb.c:469:27:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:470:27: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:470:27:    expected long *long_val\nkernel/kgdb.c:470:27:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:894:27: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:894:27:    expected long *long_val\nkernel/kgdb.c:894:27:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:895:27: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:895:27:    expected long *long_val\nkernel/kgdb.c:895:27:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:1127:28: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:1127:28:    expected long *long_val\nkernel/kgdb.c:1127:28:    got unsigned long *\u003cnoident\u003e\nkernel/kgdb.c:1132:25: warning: incorrect type in argument 2 (different signedness)\nkernel/kgdb.c:1132:25:    expected long *long_val\nkernel/kgdb.c:1132:25:    got unsigned long *\u003cnoident\u003e\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "826e4506a0acb6487910a5ebafe839f708a00e1c",
      "tree": "20cc66b6b38c0414930d85a8a9705a3a3eff8ddf",
      "parents": [
        "afa26be86b65a7183ceac29bdf1f51d6fc6932f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 04 17:04:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 04 17:04:16 2008 -0700"
      },
      "message": "Make forced module loading optional\n\nThe kernel module loader used to be much too happy to allow loading of\nmodules for the wrong kernel version by default.  For example, if you\nhad MODVERSIONS enabled, but tried to load a module with no version\ninfo, it would happily load it and taint the kernel - whether it was\nlikely to actually work or not!\n\nGenerally, such forced module loading should be considered a really\nreally bad idea, so make it conditional on a new config option\n(MODULE_FORCE_LOAD), and make it default to off.\n\nIf somebody really wants to force module loads, that\u0027s their problem,\nbut we should not encourage it.  Especially as it happened to me by\nmistake (ie regular unversioned Fedora modules getting loaded) causing\nlots of strange behavior.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afa26be86b65a7183ceac29bdf1f51d6fc6932f0",
      "tree": "b7b24e134d34f17e62085ecb8a9583e00f1c7248",
      "parents": [
        "269f21344b23e552c21c9e2d7ca258479dcd7a0a",
        "4f95f81a48623982879f4fa80c641933444afd18"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 13:51:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 13:51:10 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  clocksource: allow read access to available/current_clocksource\n  clocksource: Fix permissions for available_clocksource\n  hrtimer: remove duplicate helper function\n"
    }
  ],
  "next": "4f95f81a48623982879f4fa80c641933444afd18"
}
