)]}'
{
  "log": [
    {
      "commit": "bef69ea0dcce574a425feb0a5aa4c63dd108b9a6",
      "tree": "b678fa44657d63cb30a29ba0b73a442537f7826c",
      "parents": [
        "00aeb429a0f2daeb21979873060b81095cafe4bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 29 20:18:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 29 20:25:20 2008 -0700"
      },
      "message": "Resource handling: add \u0027insert_resource_expand_to_fit()\u0027 function\n\nNot used anywhere yet, but this complements the existing plain\n\u0027insert_resource()\u0027 functionality with a version that can expand the\nresource we are adding in order to fix up any conflicts it has with\nexisting resources.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "316d9679f33caf7e683471647d1472bfe133d858",
      "tree": "46271cdd7405468fbc4e9abbaf65e01edd6ae0a3",
      "parents": [
        "b4609472116bb806a95e98d04767189406c74c70"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri Aug 29 20:06:23 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 29 14:46:29 2008 -0700"
      },
      "message": "Don\u0027t trigger softlockup detector on network fs blocked tasks\n\nPulling the ethernet cable on a 2.6.27-rc system with NFS mounts\ncurrently leads to an ongoing flood of soft lockup detector backtraces\nfor all tasks blocked on the NFS mounts when the hickup takes\nlonger than 120s.\n\nI don\u0027t think NFS problems should be all that noisy.\n\nLuckily there\u0027s a reasonably easy way to distingush this case.\n\nDon\u0027t report task softlockup warnings for tasks in TASK_KILLABLE\nstate, which is used by the network file systems.\n\nI believe this patch is a 2.6.27 candidate.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66833d5f3934a19d0988b7d0de58149bfd7a5884",
      "tree": "a34ce3de726fdd5d7617da51e3a06a3c7c309341",
      "parents": [
        "0234bf1d98ebd1cb8ea1630957f6d14170cc0ba0",
        "2633f0e57b1127f4060d70bf460140dc9bb19386"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 28 12:31:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 28 12:31:49 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  exit signals: use of uninitialized field notify_count\n  lockdep: fix invalid list_del_rcu in zap_class\n  lockstat: repair erronous contention statistics\n  lockstat: fix numerical output rounding error\n"
    },
    {
      "commit": "0234bf1d98ebd1cb8ea1630957f6d14170cc0ba0",
      "tree": "3eea55e96ac50278da3d2cab4ba26da16a4abe40",
      "parents": [
        "e52c8857e0ca3214aa7e2a746000ac0f3016b345",
        "cc2991cf15ae92fa30b3ea9f56a8a5a337bd33c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 28 12:31:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 28 12:31:12 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: rt-bandwidth accounting fix\n  sched: fix sched_rt_rq_enqueue() resched idle\n"
    },
    {
      "commit": "e52c8857e0ca3214aa7e2a746000ac0f3016b345",
      "tree": "9fdc6bbe990a8d8dd5fc74c2145e990ae8f2f916",
      "parents": [
        "9c2bdac40eba639c438690b1245a020e7c2530df",
        "c1b362e3b4d331a63915b268a33207311a439d60"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 28 12:30:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 28 12:30:59 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: update defconfigs\n  x86: msr: fix bogus return values from rdmsr_safe/wrmsr_safe\n  x86: cpuid: correct return value on partial operations\n  x86: msr: correct return value on partial operations\n  x86: cpuid: propagate error from smp_call_function_single()\n  x86: msr: propagate errors from smp_call_function_single()\n  smp: have smp_call_function_single() detect invalid CPUs\n"
    },
    {
      "commit": "41108eb10142e0552f2de1e4c0675b108c5f018f",
      "tree": "bb9ef817e2729915fbbe29291c827e7eef83eb54",
      "parents": [
        "b09331e530777963ed65ce2fdf074b7b077768c7"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 28 14:39:12 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 28 12:27:39 2008 -0700"
      },
      "message": "ftrace: disable tracing for hibernation\n\nIn accordance with commit f42ac38c59e0a03d6da0c24a63fb211393f484b0\n(\"ftrace: disable tracing for suspend to ram\"), disable tracing\naround the suspend code in hibernation code paths.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc2991cf15ae92fa30b3ea9f56a8a5a337bd33c7",
      "tree": "a286839539678bb2b36e7e059b50a2e575e93782",
      "parents": [
        "f3ade837808121ff8bab9c56725f4fe40ec85a56"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Aug 19 12:33:03 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 28 13:42:38 2008 +0200"
      },
      "message": "sched: rt-bandwidth accounting fix\n\nIt fixes an accounting bug where we would continue accumulating runtime\neven though the bandwidth control is disabled. This would lead to very long\nthrottle periods once bandwidth control gets turned on again.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f3ade837808121ff8bab9c56725f4fe40ec85a56",
      "tree": "eb9a8d87bff0a7d11eade583a7582e3c765e3b80",
      "parents": [
        "354879bb977e06695993435745f06a0f6d39ce2b"
      ],
      "author": {
        "name": "John Blackwood",
        "email": "john.blackwood@ccur.com",
        "time": "Tue Aug 26 15:09:43 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 28 11:13:24 2008 +0200"
      },
      "message": "sched: fix sched_rt_rq_enqueue() resched idle\n\nWhen sysctl_sched_rt_runtime is set to something other than -1 and the\nCONFIG_RT_GROUP_SCHED kernel parameter is NOT enabled, we get into a state\nwhere we see one or more CPUs idling forvever even though there are\nreal-time\ntasks in their rt runqueue that are able to run (no longer throttled).\n\nThe sequence is:\n\n- A real-time task is running when the timer sets the rt runqueue\n    to throttled, and the rt task is resched_task()ed and switched\n    out, and idle is switched in since there are no non-rt tasks to\n    run on that cpu.\n\n- Eventually the do_sched_rt_period_timer() runs and un-throttles\n    the rt runqueue, but we just exit the timer interrupt and go back\n    to executing the idle task in the idle loop forever.\n\nIf we change the sched_rt_rq_enqueue() routine to use some of the code\nfrom the CONFIG_RT_GROUP_SCHED enabled version of this same routine and\nresched_task() the currently executing task (idle in our case) if it is\na lower priority task than the higher rt task in the now un-throttled\nrunqueue, the problem is no longer observed.\n\nSigned-off-by: John Blackwood \u003cjohn.blackwood@ccur.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f42ac38c59e0a03d6da0c24a63fb211393f484b0",
      "tree": "1020864d18c6652444fe0ba2d39dd6e9e2f3c7d6",
      "parents": [
        "8560c650f340565b720fd57d1f9c99ab216d99d0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 27 09:14:40 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 27 13:54:20 2008 -0700"
      },
      "message": "ftrace: disable tracing for suspend to ram\n\nI\u0027ve been painstakingly debugging the issue with suspend to ram and\nftraced. The 2.6.28 code does not have this issue, but since the mcount\nrecording is not going to be in 27, this must be solved for the ftrace\ndaemon version.\n\nThe resume from suspend to ram would reboot because it was triple\nfaulting. Debugging further, I found that calling the mcount function\nitself was not an issue, but it would fault when it incremented\npreempt_count. preempt_count is on the tasks info structure that is on the\nlow memory address of the task\u0027s stack.  For some reason, it could not\nwrite to it. Resuming out of suspend to ram does quite a lot of funny\ntricks to get to work, so it is not surprising at all that simply doing a\npreempt_disable() would cause a fault.\n\nThanks to Rafael for suggesting to add a \"while (1);\" to find the place in\nresuming that is causing the fault. I would place the loop somewhere in\nthe code, compile and reboot and see if it would either reboot (hit the\nfault) or simply hang (hit the loop).  Doing this over and over again, I\nnarrowed it down that it was happening in enable_nonboot_cpus.\n\nAt this point, I found that it is easier to simply disable tracing around\nthe suspend code, instead of searching for the particular function that\ncan not handle doing a preempt_disable.\n\nThis patch disables the tracer as it suspends and reenables it on resume.\n\nI tested this patch on my Laptop, and it can resume fine with the patch.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2633f0e57b1127f4060d70bf460140dc9bb19386",
      "tree": "db67beb9715fee165f8c8baaee47fc023b26dceb",
      "parents": [
        "74870172824a78640ec4f03058d9bd35dfa08618"
      ],
      "author": {
        "name": "Steve VanDeBogart",
        "email": "vandebo-lkml@NerdBox.Net",
        "time": "Tue Aug 26 15:14:36 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 27 09:10:09 2008 +0200"
      },
      "message": "exit signals: use of uninitialized field notify_count\n\ntask-\u003esignal-\u003enotify_count is only initialized if\ntask-\u003esignal-\u003egroup_exit_task is not NULL.  Reorder a conditional so\nthat uninitialised memory is not used.  Found by Valgrind.\n\nSigned-off-by: Steve VanDeBogart \u003cvandebo-lkml@nerdbox.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74870172824a78640ec4f03058d9bd35dfa08618",
      "tree": "7e65428c4aa8603c7b7090628ea07af2badc1b6c",
      "parents": [
        "04148b73b89d49fe0fe201bcee395e51f7d637ce"
      ],
      "author": {
        "name": "Zhu Yi",
        "email": "yi.zhu@intel.com",
        "time": "Wed Aug 27 14:33:00 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 27 08:40:36 2008 +0200"
      },
      "message": "lockdep: fix invalid list_del_rcu in zap_class\n\nThe problem is found during iwlagn driver testing on\nv2.6.27-rc4-176-gb8e6c91 kernel, but it turns out to be a lockdep bug.\nIn our testing, we frequently load and unload the iwlagn driver\n(\u003e50 times). Then the MAX_STACK_TRACE_ENTRIES is reached (expected\nbehaviour?). The error message with the call trace is as below.\n\nBUG: MAX_STACK_TRACE_ENTRIES too low!\nturning off the locking correctness validator.\nPid: 4895, comm: iwlagn Not tainted 2.6.27-rc4 #13\n\nCall Trace:\n [\u003cffffffff81014aa1\u003e] save_stack_trace+0x22/0x3e\n [\u003cffffffff8105390a\u003e] save_trace+0x8b/0x91\n [\u003cffffffff81054e60\u003e] mark_lock+0x1b0/0x8fa\n [\u003cffffffff81056f71\u003e] __lock_acquire+0x5b9/0x716\n [\u003cffffffffa00d818a\u003e] ieee80211_sta_work+0x0/0x6ea [mac80211]\n [\u003cffffffff81057120\u003e] lock_acquire+0x52/0x6b\n [\u003cffffffff81045f0e\u003e] run_workqueue+0x97/0x1ed\n [\u003cffffffff81045f5e\u003e] run_workqueue+0xe7/0x1ed\n [\u003cffffffff81045f0e\u003e] run_workqueue+0x97/0x1ed\n [\u003cffffffff81046ae4\u003e] worker_thread+0xd8/0xe3\n [\u003cffffffff81049503\u003e] autoremove_wake_function+0x0/0x2e\n [\u003cffffffff81046a0c\u003e] worker_thread+0x0/0xe3\n [\u003cffffffff810493ec\u003e] kthread+0x47/0x73\n [\u003cffffffff8128e3ab\u003e] trace_hardirqs_on_thunk+0x3a/0x3f\n [\u003cffffffff8100cea9\u003e] child_rip+0xa/0x11\n [\u003cffffffff8100c4df\u003e] restore_args+0x0/0x30\n [\u003cffffffff810316e1\u003e] finish_task_switch+0x0/0xcc\n [\u003cffffffff810493a5\u003e] kthread+0x0/0x73\n [\u003cffffffff8100ce9f\u003e] child_rip+0x0/0x11\n\nAlthough the above is harmless, when the ilwagn module is removed\nlater lockdep will trigger a kernel oops as below.\n\nBUG: unable to handle kernel NULL pointer dereference at\n0000000000000008\nIP: [\u003cffffffff810531e1\u003e] zap_class+0x24/0x82\nPGD 73128067 PUD 7448c067 PMD 0\nOops: 0002 [1] SMP\nCPU 0\nModules linked in: rfcomm l2cap bluetooth autofs4 sunrpc\nnf_conntrack_ipv6 xt_state nf_conntrack xt_tcpudp ip6t_ipv6header\nip6t_REJECT ip6table_filter ip6_tables x_tables ipv6 cpufreq_ondemand\nacpi_cpufreq dm_mirror dm_log dm_multipath dm_mod snd_hda_intel sr_mod\nsnd_seq_dummy snd_seq_oss snd_seq_midi_event battery snd_seq\nsnd_seq_device cdrom button snd_pcm_oss snd_mixer_oss snd_pcm\nsnd_timer snd_page_alloc e1000e snd_hwdep sg iTCO_wdt\niTCO_vendor_support ac pcspkr i2c_i801 i2c_core snd soundcore video\noutput ata_piix ata_generic libata sd_mod scsi_mod ext3 jbd mbcache\nuhci_hcd ohci_hcd ehci_hcd [last unloaded: mac80211]\nPid: 4941, comm: modprobe Not tainted 2.6.27-rc4 #10\nRIP: 0010:[\u003cffffffff810531e1\u003e]  [\u003cffffffff810531e1\u003e]\nzap_class+0x24/0x82\nRSP: 0000:ffff88007bcb3eb0  EFLAGS: 00010046\nRAX: 0000000000068ee8 RBX: ffffffff8192a0a0 RCX: 0000000000000000\nRDX: 0000000000000000 RSI: 0000000000001dfb RDI: ffffffff816e70b0\nRBP: ffffffffa00cd000 R08: ffffffff816818f8 R09: ffff88007c923558\nR10: ffffe20002ad2408 R11: ffffffff811028ec R12: ffffffff8192a0a0\nR13: 000000000002bd90 R14: 0000000000000000 R15: 0000000000000296\nFS:  00007f9d1cee56f0(0000) GS:ffffffff814a58c0(0000)\nknlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 0000000000000008 CR3: 0000000073047000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess modprobe (pid: 4941, threadinfo ffff88007bcb2000, task\nffff8800758d1fc0)\nStack:  ffffffff81057376 0000000000000000 ffffffffa00f7b00\n0000000000000000\n 0000000000000080 0000000000618278 00007fff24f16720 0000000000000000\n ffffffff8105d37a ffffffffa00f7b00 ffffffff8105d591 313132303863616d\nCall Trace:\n [\u003cffffffff81057376\u003e] ? lockdep_free_key_range+0x61/0xf5\n [\u003cffffffff8105d37a\u003e] ? free_module+0xd4/0xe4\n [\u003cffffffff8105d591\u003e] ? sys_delete_module+0x1de/0x1f9\n [\u003cffffffff8106dbfa\u003e] ? audit_syscall_entry+0x12d/0x160\n [\u003cffffffff8100be2b\u003e] ? system_call_fastpath+0x16/0x1b\n\nCode: b2 00 01 00 00 00 c3 31 f6 49 c7 c0 10 8a 61 81 eb 32 49 39 38\n75 26 48 98 48 6b c0 38 48 8b 90 08 8a 61 81 48 8b 88 00 8a 61 81 \u003c48\u003e\n89 51 08 48 89 0a 48 c7 80 08 8a 61 81 00 02 20 00 48 ff c6\nRIP  [\u003cffffffff810531e1\u003e] zap_class+0x24/0x82\n RSP \u003cffff88007bcb3eb0\u003e\nCR2: 0000000000000008\n---[ end trace a1297e0c4abb0f2e ]---\n\nThe root cause for this oops is in add_lock_to_list() when\nsave_trace() fails due to MAX_STACK_TRACE_ENTRIES is reached,\nentry-\u003eclass is assigned but entry is never added into any lock list.\nThis makes the list_del_rcu() in zap_class() oops later when the\nmodule is unloaded. This patch fixes the problem by assigning\nentry-\u003eclass after save_trace() returns success.\n\nSigned-off-by: Zhu Yi \u003cyi.zhu@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04148b73b89d49fe0fe201bcee395e51f7d637ce",
      "tree": "ba55c40dcd5ef2c5e42914a48acf45d1625d670b",
      "parents": [
        "2189459d25a47401c69a17794c9d390c890351f9"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Mon Aug 25 17:16:23 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 26 10:37:47 2008 +0200"
      },
      "message": "lockstat: repair erronous contention statistics\n\nFix bad contention counting in /proc/lock_stat.\n\n/proc/lockstat tries to gather per-ip contention\nstatistics per-lock.  This was failing due to\na garbage per-ip index selector being used.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2189459d25a47401c69a17794c9d390c890351f9",
      "tree": "1e22875e4b4fd29e2af5e8078f5d82f814cc56fd",
      "parents": [
        "83097aca8567a0bd593534853b71fe0fa9a75d69"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Mon Aug 25 17:15:33 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 26 10:37:46 2008 +0200"
      },
      "message": "lockstat: fix numerical output rounding error\n\nFix rounding error in /proc/lock_stat numerical output.\n\nOn occasion the two digit fractional part contains the three\ndigit value \u0027100\u0027.  This is due to a bug in the rounding algorithm\nwhich pushes values in the range \u002795..99\u0027 to \u0027100\u0027 rather than\nto \u002700\u0027 + an increment to the integer part.  For example,\n\n\t- 123456.100      old display\n\t+ 123457.00\t  new display\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f73be6dedf4fa058ce80846dae604b08fa805ca1",
      "tree": "eb38c111bedf6b356db3af20ab124dff846643cb",
      "parents": [
        "2a61812af2e564cba2c8170cf96e1c823210f619"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 17:07:14 2008 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Mon Aug 25 17:45:48 2008 -0700"
      },
      "message": "smp: have smp_call_function_single() detect invalid CPUs\n\nHave smp_call_function_single() return invalid CPU indicies and return\n-ENXIO.  This function is already executed inside a\nget_cpu()..put_cpu() which locks out CPU removal, so rather than\nhaving the higher layers doing another layer of locking to guard\nagainst unplugged CPUs do the test here.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "cc556c5c92a45763e23015a31efb27005a6132fa",
      "tree": "80765cc72264717cdff9119ff9438a0815c2e09d",
      "parents": [
        "a56cb4ecbdb66a504601dfacc31cd0cf91c97e7f",
        "354879bb977e06695993435745f06a0f6d39ce2b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 25 11:26:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 25 11:26:02 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_clock: fix cpu_clock()\n"
    },
    {
      "commit": "ffb4ba76a25ab6c9deeec33e4f58395586ca747c",
      "tree": "378ee35adc486466c88c7423dbb0ecc6f027ef45",
      "parents": [
        "83097aca8567a0bd593534853b71fe0fa9a75d69"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 25 11:10:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 25 11:10:26 2008 -0700"
      },
      "message": "[module] Don\u0027t let gcc inline load_module()\n\n\u0027load_module()\u0027 is a complex function that contains all the ELF section\nlogic, and inlining it is utterly insane.  But gcc will do it, simply\nbecause there is only one call-site.  As a result, all the stack space\nthat is allocated for all the work to load the module will still be\nactive when we actually call the module init sequence, and the deep call\nchain makes stack overflows happen.\n\nAnd stack overflows are really hard to debug, because they not only\ncorrupt random pages below the stack, but also corrupt the thread_info\nstructure that is allocated under the stack.\n\nIn this case, Alan Brunelle reported some crazy oopses at bootup, after\nloading the processor module that ends up doing complex ACPI stuff and\nhas quite a deep callchain.  This should fix it, and is the sane thing\nto do regardless.\n\nCc: Alan D. Brunelle \u003cAlan.Brunelle@hp.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "354879bb977e06695993435745f06a0f6d39ce2b",
      "tree": "b811b4ec423fac8bdb671dafbf422aa4245bdcb3",
      "parents": [
        "efc2dead2c82cae31943828f6d977c483942b0eb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 25 17:15:34 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 25 17:39:57 2008 +0200"
      },
      "message": "sched_clock: fix cpu_clock()\n\nThis patch fixes 3 issues:\n\na) it removes the dependency on jiffies, because jiffies are incremented\n   by a single CPU, and the tick is not synchronized between CPUs. Therefore\n   relying on it to calculate a window to clip whacky TSC values doesn\u0027t work\n   as it can drift around.\n\n   So instead use [GTOD, GTOD+TICK_NSEC) as the window.\n\nb) __update_sched_clock() did (roughly speaking):\n\n   delta \u003d sched_clock() - scd-\u003etick_raw;\n   clock +\u003d delta;\n\n   Which gives exponential growth, instead of linear.\n\nc) allows the sched_clock_cpu() value to warp the u64 without breaking.\n\nthe results are more reliable sched_clock() deltas:\n\n           before       after   sched_clock\n\ncpu_clock: 15750        51312   51488\ncpu_clock: 59719        51052   50947\ncpu_clock: 15879        51249   51061\ncpu_clock: 1            50933   51198\ncpu_clock: 1            50931   51039\ncpu_clock: 1            51093   50981\ncpu_clock: 1            51043   51040\ncpu_clock: 1            50959   50938\ncpu_clock: 1            50981   51011\ncpu_clock: 1            51364   51212\ncpu_clock: 1            51219   51273\ncpu_clock: 1            51389   51048\ncpu_clock: 1            51285   51611\ncpu_clock: 1            50964   51137\ncpu_clock: 1            50973   50968\ncpu_clock: 1            50967   50972\ncpu_clock: 1            58910   58485\ncpu_clock: 1            51082   51025\ncpu_clock: 1            50957   50958\ncpu_clock: 1            50958   50957\ncpu_clock: 1006128      51128   50971\ncpu_clock: 1            51107   51155\ncpu_clock: 1            51371   51081\ncpu_clock: 1            51104   51365\ncpu_clock: 1            51363   51309\ncpu_clock: 1            51107   51160\ncpu_clock: 1            51139   51100\ncpu_clock: 1            51216   51136\ncpu_clock: 1            51207   51215\ncpu_clock: 1            51087   51263\ncpu_clock: 1            51249   51177\ncpu_clock: 1            51519   51412\ncpu_clock: 1            51416   51255\ncpu_clock: 1            51591   51594\ncpu_clock: 1            50966   51374\ncpu_clock: 1            50966   50966\ncpu_clock: 1            51291   50948\ncpu_clock: 1            50973   50867\ncpu_clock: 1            50970   50970\ncpu_clock: 998306       50970   50971\ncpu_clock: 1            50971   50970\ncpu_clock: 1            50970   50970\ncpu_clock: 1            50971   50971\ncpu_clock: 1            50970   50970\ncpu_clock: 1            51351   50970\ncpu_clock: 1            50970   51352\ncpu_clock: 1            50971   50970\ncpu_clock: 1            50970   50970\ncpu_clock: 1            51321   50971\ncpu_clock: 1            50974   51324\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7a8fc9b248e77a4eab0613acf30a6811799786b3",
      "tree": "24b3beb8bc0633db27ffdb791f94dce95d51b1d0",
      "parents": [
        "d3ee1b405872214609868f3cde631ac157026dd0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Aug 17 17:36:59 2008 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 23 12:14:12 2008 -0700"
      },
      "message": "removed unused #include \u003clinux/version.h\u003e\u0027s\n\nThis patch lets the files using linux/version.h match the files that\n#include it.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43cc071db83b6311a8135f5cc56ae7fae1023504",
      "tree": "b53b87e4b658b0a739eb55d4e25968e147ade4fd",
      "parents": [
        "05f57f50e04aec3c629a652a776497b2c76c0d0b",
        "efc2dead2c82cae31943828f6d977c483942b0eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 22 08:36:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 22 08:36:55 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: enable LB_BIAS by default\n"
    },
    {
      "commit": "05f57f50e04aec3c629a652a776497b2c76c0d0b",
      "tree": "20d29885d45c612229fc8322c8dd87a6b87dbeae",
      "parents": [
        "3ffc3f947de2b64f35f6bc4361e83a2bb9e12c71",
        "01dcb0443ed89eccf26c2b43f1ea13b368ae740d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 22 08:36:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 22 08:36:42 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 synchronize_rcu() so that kernel-doc works\n"
    },
    {
      "commit": "3c4fbe5e01d7e5309be5045e7ae0db20a049e6dc",
      "tree": "550195cb1a2ed58bc343e9a4f54d773e8abd5f90",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Aug 20 16:37:38 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:54:06 2008 +0200"
      },
      "message": "nohz: fix wrong event handler after online an offlined cpu\n\nOn the tickless system(CONFIG_NO_HZ\u003dy and CONFIG_HIGH_RES_TIMERS\u003dn), after\nI made an offlined cpu online, I found this cpu\u0027s event handler was\ntick_handle_periodic, not tick_nohz_handler.\n\nAfter debuging, I found this bug was caused by the wrong tick mode.  the\ntick mode is not changed to NOHZ_MODE_INACTIVE when the cpu is offline.\n\nThis patch fixes this bug.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "01dcb0443ed89eccf26c2b43f1ea13b368ae740d",
      "tree": "30b6c33a6074dd28b15f0441cc96df716360fa68",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Aug 20 16:35:19 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:31:44 2008 +0200"
      },
      "message": "rcu: fix synchronize_rcu() so that kernel-doc works\n\nFix RCU\u0027s synchronize_rcu() so that it looks like a C function, enabling\nit to be recognized as a function with kernel-doc annotation.\n\nWarning(linux-2.6.26-git11//kernel/rcupdate.c:81): No description found for parameter \u0027synchronize_rcu\u0027\nWarning(linux-2.6.26-git11//kernel/rcupdate.c:81): No description found for parameter \u0027call_rcu\u0027\n\n[akpm@linux-foundation.org: fix comment]\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efc2dead2c82cae31943828f6d977c483942b0eb",
      "tree": "1eabd7b84aacf1a314ec03f667512222d5d599f9",
      "parents": [
        "1fca25427482387689fa27594c992a961d98768f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Aug 20 12:44:55 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 08:18:02 2008 +0200"
      },
      "message": "sched: enable LB_BIAS by default\n\nYanmin reported a significant regression on his 16-core machine due to:\n\n  commit 93b75217df39e6d75889cc6f8050343286aff4a5\n  Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n  Date:   Fri Jun 27 13:41:33 2008 +0200\n\nFlip back to the old behaviour.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d70b68d42b5196a48ccb639e3797f097ef5bea3",
      "tree": "b3040706cd69e0e7bc6d846e08fd91a441b34310",
      "parents": [
        "141d87e7debe3334018e46859c7565c44cebda65"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Wed Aug 20 14:09:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:32 2008 -0700"
      },
      "message": "fix setpriority(PRIO_PGRP) thread iterator breakage\n\nWhen user calls sys_setpriority(PRIO_PGRP ...) on a NPTL style multi-LWP\nprocess, only the task leader of the process is affected, all other\nsibling LWP threads didn\u0027t receive the setting.  The problem was that the\niterator used in sys_setpriority() only iteartes over one task for each\nprocess, ignoring all other sibling thread.\n\nIntroduce a new macro do_each_pid_thread / while_each_pid_thread to walk\neach thread of a process.  Convert 4 call sites in {set/get}priority and\nioprio_{set/get}.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b04624f93bb1c4f9495b8476d1dd0200af019e2",
      "tree": "aa64cc4706f5dc396b1e9a74ce951b29aa294964",
      "parents": [
        "1fca25427482387689fa27594c992a961d98768f"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Aug 19 20:37:07 2008 -0700"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Aug 19 20:37:07 2008 -0700"
      },
      "message": "tracehook: fix SA_NOCLDWAIT\n\nI outwitted myself again in commit 2b2a1ff64afbadac842bbc58c5166962cf4f7664,\nand broke the SA_NOCLDWAIT behavior so it leaks zombies.  This fixes it.\n\nReported-by: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "6951b12a0fe7fc64789f2c4d62d2a304e93836a8",
      "tree": "85588afbb9fce0ab0f6aac7c9a5d885562f2c51f",
      "parents": [
        "b09c3e3f1710b554348c98e78fbf4a661918779a"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Mon Aug 18 04:26:37 2008 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 18 09:42:31 2008 +0200"
      },
      "message": "lockdep: fix spurious \u0027inconsistent lock state\u0027 warning\n\nSince f82b217e3513fe3af342c0f3ee1494e86250c21c lockdep can output spurious\nwarnings related to hwirqs due to hardirq_off shrinkage from int to bit-sized\nflag. Guard it with double negation to fix the warning.\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "406703f8de33bed0d34c6a083d58178317e27183",
      "tree": "9b63d1fc0ffbb59d007309b785ce6a04cd9a22f8",
      "parents": [
        "c100548d4610f727b95faffd69cb54cb280cd114",
        "df60a8441866153d691ae69b77934904c2de5e0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 16 17:16:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 16 17:16:07 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  lockdep: fix build if CONFIG_PROVE_LOCKING not defined\n  lockdep: use WARN() in kernel/lockdep.c\n  lockdep: spin_lock_nest_lock(), checkpatch fixes\n  lockdep: build fix\n"
    },
    {
      "commit": "c100548d4610f727b95faffd69cb54cb280cd114",
      "tree": "0add41ffba7ced1f4742a327684fdb2bb57148c8",
      "parents": [
        "0473b7992943ee7b182aa4afeb602ba5d37d36e0",
        "55cd53404c5cc5fd94708232e3b4aa4a9388917b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 16 17:15:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 16 17:15:32 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: scale sysctl_sched_shares_ratelimit with nr_cpus\n  sched: fix rt-bandwidth hotplug race\n  sched: fix the race between walk_tg_tree and sched_create_group\n"
    },
    {
      "commit": "71ef2a46fce43042a60d7ccbf55ecbd789c03c2e",
      "tree": "247c3e25958ff362b8a7b5b735a1e7d2ef6842c7",
      "parents": [
        "d121db94eb50b29a202b5f6a8671cbebdf2c4142",
        "5cd9c58fbe9ec92b45b27e131719af4f2bd9eb40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 15:32:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 15:32:13 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  security: Fix setting of PF_SUPERPRIV by __capable()\n"
    },
    {
      "commit": "df60a8441866153d691ae69b77934904c2de5e0d",
      "tree": "3a893c0d5bf497408f6e670e38e6a480f7e8b035",
      "parents": [
        "2df8b1d656021e180ab93c8a4b2c9c2923d30b82"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Aug 15 09:33:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 19:22:04 2008 +0200"
      },
      "message": "lockdep: fix build if CONFIG_PROVE_LOCKING not defined\n\nIf CONFIG_PROVE_LOCKING not defined, then no dependency information\nis available.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "55cd53404c5cc5fd94708232e3b4aa4a9388917b",
      "tree": "08a3fe8cf626735bc8cdb96508824c4c49aad265",
      "parents": [
        "f1679d08480008e06fd619c71635ed33274e2595"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 04 08:54:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 15 18:25:07 2008 +0200"
      },
      "message": "sched: scale sysctl_sched_shares_ratelimit with nr_cpus\n\nDavid reported that his Niagra spend a little too much time in\ntg_shares_up(), which considering he has a large cpu count makes sense.\n\nSo scale the ratelimit value with the number of cpus like we do for\nother controls as well.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "be4de35263f59ca1f4740edfffbfb02cc3f2189e",
      "tree": "7e560d01fdd56172b098e33b7c643de129e93b7b",
      "parents": [
        "e48880e02e7e7ead9daa47fe3a20486f550668d3"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Aug 15 00:40:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:44 2008 -0700"
      },
      "message": "completions: uninline try_wait_for_completion and completion_done\n\nm68k fails to build with these functions inlined in completion.h.  Move\nthem out of line into sched.c and export them to avoid this problem.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\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": "8c5a1cf0ad3ac5fcdf51314a63b16a440870f6a2",
      "tree": "6b2d9084e05083daf6de69421f323c958b1d46ec",
      "parents": [
        "3122c331190e9d1622bf1c8cf6ce3b17cca67c9e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Aug 15 00:40:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:43 2008 -0700"
      },
      "message": "kexec: use a mutex for locking rather than xchg()\n\nFunctionally the same, but more conventional.\n\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nTested-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3122c331190e9d1622bf1c8cf6ce3b17cca67c9e",
      "tree": "e856b7a59f5ea5ba4f1662cefdae267b26af30dd",
      "parents": [
        "9bdeb7b5d34f197dea7859d24475943395ffea5e"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:43 2008 -0700"
      },
      "message": "kexec jump: fix for ftrace\n\nFtrace depends on some processor state that we destroyed during kexec and\nrestored by restore_processor_state().  So save_processor_state() and\nrestore_processor_state() are moved into machine_kexec() and ftrace is\nrestored after restore_processor_state().\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73bd9c72a29be1e8de008186eea55d333a938804",
      "tree": "f01823f4f93ca08fa7619b093dd8eed6ba5b58ab",
      "parents": [
        "ca195b7f6da3d5dde0bb85a7c322d7de73352653"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "kexec jump: in sync with hibernation implementation\n\nAdd device_pm_lock() and device_pm_unlock() in kernel_kexec() in sync with\ncurrent hibernation implementation.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.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": "ca195b7f6da3d5dde0bb85a7c322d7de73352653",
      "tree": "1f8a31634ddc2bd4ba8a5fc081b39babab62323b",
      "parents": [
        "fb45daa69d287b394eca1619b3fadff7c0215c71"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "kexec jump: remove duplication of kexec_restart_prepare()\n\nCall kernel_restart_prepare() in kernel_kexec() instead of duplicating the\ncode.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.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": "163f6876f5c3ff8215e900b93779e960a56b3694",
      "tree": "9ba2df8417dedd3a17cf3ba4cba5a2acd578ee3a",
      "parents": [
        "7ade3fcc1fe2801336112027a884070c9ca451af"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE\n\nRename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE, because control\npage is used for not only code on some platform.  For example in kexec\njump, it is used for data and stack too.\n\n[akpm@linux-foundation.org: unbreak powerpc and arm, finish conversion]\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ade3fcc1fe2801336112027a884070c9ca451af",
      "tree": "add446bef1fc2ada030f1e749245075a6baa86a7",
      "parents": [
        "4cd69b986ebf0f8da93f82ffbb89c032ee09c2e1"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "kexec jump: clean up #ifdef and comments\n\nMove if (kexec_image-\u003epreserve_context) { ...  } into #ifdef\nCONFIG_KEXEC_JUMP to make code looks cleaner.\n\nFix no longer correct comments of kernel_kexec().\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.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": "4cd69b986ebf0f8da93f82ffbb89c032ee09c2e1",
      "tree": "cb4085d0b8f18e86b892c5bd88a5d6280c698300",
      "parents": [
        "ce289e89726948b50a58c9e8f4e81174a8c9c254"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Aug 15 00:40:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 15 08:35:42 2008 -0700"
      },
      "message": "kexec: fix compilation warning on xchg(\u0026kexec_lock, 0) in kernel_kexec()\n\nkernel/kexec.c: In function \u0027kernel_kexec\u0027:\nkernel/kexec.c:1506: warning: value computed is not used\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1679d08480008e06fd619c71635ed33274e2595",
      "tree": "bf38250a5b7c969a6b91ef1043f0cfdd02f966d4",
      "parents": [
        "09f2724a786f76475ef2985cf84f5359c553aade"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Aug 14 15:49:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 14 15:50:58 2008 +0200"
      },
      "message": "sched: fix rt-bandwidth hotplug race\n\nWhen we hot-unplug a cpu and rebuild the sched-domain, all cpus will be\ndetatched. Alex observed the case where a runqueue was stealing bandwidth\nfrom an already disabled runqueue to satisfy its own needs.\n\nStop this by skipping over already disabled runqueues.\n\nReported-by: Alex Nixon \u003calex.nixon@citrix.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Alex Nixon \u003calex.nixon@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5cd9c58fbe9ec92b45b27e131719af4f2bd9eb40",
      "tree": "8573db001b4dc3c2ad97102dda42b841c40b5f6c",
      "parents": [
        "8d0968abd03ec6b407df117adc773562386702fa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Aug 14 11:37:28 2008 +0100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Aug 14 22:59:43 2008 +1000"
      },
      "message": "security: Fix setting of PF_SUPERPRIV by __capable()\n\nFix the setting of PF_SUPERPRIV by __capable() as it could corrupt the flags\nthe target process if that is not the current process and it is trying to\nchange its own flags in a different way at the same time.\n\n__capable() is using neither atomic ops nor locking to protect t-\u003eflags.  This\npatch removes __capable() and introduces has_capability() that doesn\u0027t set\nPF_SUPERPRIV on the process being queried.\n\nThis patch further splits security_ptrace() in two:\n\n (1) security_ptrace_may_access().  This passes judgement on whether one\n     process may access another only (PTRACE_MODE_ATTACH for ptrace() and\n     PTRACE_MODE_READ for /proc), and takes a pointer to the child process.\n     current is the parent.\n\n (2) security_ptrace_traceme().  This passes judgement on PTRACE_TRACEME only,\n     and takes only a pointer to the parent process.  current is the child.\n\n     In Smack and commoncap, this uses has_capability() to determine whether\n     the parent will be permitted to use PTRACE_ATTACH if normal checks fail.\n     This does not set PF_SUPERPRIV.\n\nTwo of the instances of __capable() actually only act on current, and so have\nbeen changed to calls to capable().\n\nOf the places that were using __capable():\n\n (1) The OOM killer calls __capable() thrice when weighing the killability of a\n     process.  All of these now use has_capability().\n\n (2) cap_ptrace() and smack_ptrace() were using __capable() to check to see\n     whether the parent was allowed to trace any process.  As mentioned above,\n     these have been split.  For PTRACE_ATTACH and /proc, capable() is now\n     used, and for PTRACE_TRACEME, has_capability() is used.\n\n (3) cap_safe_nice() only ever saw current, so now uses capable().\n\n (4) smack_setprocattr() rejected accesses to tasks other than current just\n     after calling __capable(), so the order of these two tests have been\n     switched and capable() is used instead.\n\n (5) In smack_file_send_sigiotask(), we need to allow privileged processes to\n     receive SIGIO on files they\u0027re manipulating.\n\n (6) In smack_task_wait(), we let a process wait for a privileged process,\n     whether or not the process doing the waiting is privileged.\n\nI\u0027ve tested this with the LTP SELinux and syscalls testscripts.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nAcked-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "09f2724a786f76475ef2985cf84f5359c553aade",
      "tree": "0c2bf6c6651b14c9ae12150af9ad06b2d9ee8a60",
      "parents": [
        "30a2f3c60a84092c8084dfe788b710f8d0768cd4"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Wed Aug 14 15:56:40 2030 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 14 10:58:48 2008 +0200"
      },
      "message": "sched: fix the race between walk_tg_tree and sched_create_group\n\nWith 2.6.27-rc3, I hit a kernel panic when running volanoMark on my\nnew x86_64 machine. I also hit it with other 2.6.27-rc kernels.\nSee below log.\n\nBasically, function walk_tg_tree and sched_create_group have a race\nbetween accessing and initiating tg-\u003echildren. Below patch fixes it\nby moving tg-\u003echildren initiation to the front of linking tg-\u003esiblings\nto parent-\u003echildren.\n\n{----------------panic log------------}\n\nBUG: unable to handle kernel NULL pointer dereference at 0000000000000000\nIP: [\u003cffffffff802292ab\u003e] walk_tg_tree+0x45/0x7f\nPGD 1be1c4067 PUD 1bdd8d067 PMD 0\nOops: 0000 [1] SMP\nCPU 11\nModules linked in: igb\nPid: 22979, comm: java Not tainted 2.6.27-rc3 #1\nRIP: 0010:[\u003cffffffff802292ab\u003e]  [\u003cffffffff802292ab\u003e] walk_tg_tree+0x45/0x7f\nRSP: 0018:ffff8801bfbbbd18  EFLAGS: 00010083\nRAX: 0000000000000000 RBX: ffff8800be0dce40 RCX: ffffffffffffffc0\nRDX: ffff880102c43740 RSI: 0000000000000000 RDI: ffff8800be0dce40\nRBP: ffff8801bfbbbd48 R08: ffff8800ba437bc8 R09: 0000000000001f40\nR10: ffff8801be812100 R11: ffffffff805fdf44 R12: ffff880102c43740\nR13: 0000000000000000 R14: ffffffff8022cf0f R15: ffffffff8022749f\nFS:  00000000568ac950(0063) GS:ffff8801bfa26d00(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: 0000000000000000 CR3: 00000001bd848000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess java (pid: 22979, threadinfo ffff8801b145a000, task ffff8801bf18e450)\nStack:  0000000000000001 ffff8800ba5c8d60 0000000000000001 0000000000000001\n ffff8800bad1ccb8 0000000000000000 ffff8801bfbbbd98 ffffffff8022ed37\n 0000000000000001 0000000000000286 ffff8801bd5ee180 ffff8800ba437bc8\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffff8022ed37\u003e] try_to_wake_up+0x71/0x24c\n [\u003cffffffff80247177\u003e] autoremove_wake_function+0x9/0x2e\n [\u003cffffffff80228039\u003e] ? __wake_up_common+0x46/0x76\n [\u003cffffffff802296d5\u003e] __wake_up+0x38/0x4f\n [\u003cffffffff806169cc\u003e] tcp_v4_rcv+0x380/0x62e\n\nSigned-off-by: Zhang Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2df8b1d656021e180ab93c8a4b2c9c2923d30b82",
      "tree": "fb787ef06f15d81ff650bf1dff9cb617c854d438",
      "parents": [
        "c72f4573a5e05e35a31474977f500cbe21dcbb11"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jul 30 12:43:11 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 13 19:06:46 2008 +0200"
      },
      "message": "lockdep: use WARN() in kernel/lockdep.c\n\nUse WARN() instead of a printk+WARN_ON() pair; this way the message\nbecomes part of the warning section for better reporting/collection.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c72f4573a5e05e35a31474977f500cbe21dcbb11",
      "tree": "c26be2f19d5916acaef43ff499382ea1ca0f198f",
      "parents": [
        "73909f7a665991013dcff42a815fda76d3a7300a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Aug 12 13:27:37 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 13 13:56:51 2008 +0200"
      },
      "message": "lockdep: spin_lock_nest_lock(), checkpatch fixes\n\nfix:\n\n WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable\n #46: FILE: kernel/spinlock.c:326:\n +EXPORT_SYMBOL(_spin_lock_nest_lock);\n\ntotal: 0 errors, 1 warnings, 26 lines checked\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "73909f7a665991013dcff42a815fda76d3a7300a",
      "tree": "84bb9899e2204bf6af6fd4f249bb909c2a89faf8",
      "parents": [
        "d6672c501852d577097f6757c311d937aca0b04b",
        "30a2f3c60a84092c8084dfe788b710f8d0768cd4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 13 13:56:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 13 13:56:44 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc3\u0027 into core/urgent\n"
    },
    {
      "commit": "d6672c501852d577097f6757c311d937aca0b04b",
      "tree": "32ec68d6aeba95b8226db5be21bbd706ea2c616e",
      "parents": [
        "c2fc11985db304572322f1dcdcb0f71337315006"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 01 11:23:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 13 12:55:10 2008 +0200"
      },
      "message": "lockdep: build fix\n\nfix:\n\n kernel/built-in.o: In function `lockdep_stats_show\u0027:\n lockdep_proc.c:(.text+0x3cb2f): undefined reference to `lockdep_count_forward_deps\u0027\n kernel/built-in.o: In function `l_show\u0027:\n lockdep_proc.c:(.text+0x3d02b): undefined reference to `lockdep_count_forward_deps\u0027\n lockdep_proc.c:(.text+0x3d047): undefined reference to `lockdep_count_backward_deps\u0027\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f18e439d1035d059534d261c414af33f89aee89a",
      "tree": "3acd22b961fdcf2340eb0e9527fd9f6b810ee3b3",
      "parents": [
        "50ac2d694f2dd1658341cf97bcf2ffb836d772cb"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Aug 12 15:09:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 16:07:30 2008 -0700"
      },
      "message": "genirq: switch /proc/irq/*/smp_affinity et al to seqfiles\n\nSwitch /proc/irq/*/smp_affinity , /proc/irq/default_smp_affinity to\nseq_files.\n\ncat(1) reads with 1024 chunks by default, with high enough NR_CPUS, there\nwill be -EINVAL.\n\nAs side effect, there are now two less users of the -\u003eread_proc interface.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\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": "3ee1062b4ee82a56294808a065b64f4bc6781a56",
      "tree": "6524b1df35cf4be3fd66d767a5b1a4c170be63d8",
      "parents": [
        "74768ed833344bb0f82b97cee46320a3d7f09ecd"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Aug 12 15:08:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 16:07:28 2008 -0700"
      },
      "message": "cpu hotplug: s390 doesn\u0027t support additional_cpus anymore.\n\ns390 doesn\u0027t support the additional_cpus kernel parameter anymore since a\nlong time.  So we better update the code and documentation to reflect\nthat.\n\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.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": "96348852cf8ff5597a39e866838679b3a9a38947",
      "tree": "a46ec9749b85d15a8312e18c15cfdf33d28c813b",
      "parents": [
        "1c89ac55017f982355c7761e1c912c88c941483d",
        "c2fc11985db304572322f1dcdcb0f71337315006"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 08:49:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 08:49:53 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  generic-ipi: fix stack and rcu interaction bug in smp_call_function_mask(), fix\n"
    },
    {
      "commit": "1c89ac55017f982355c7761e1c912c88c941483d",
      "tree": "6878e95a0572defc725ea58f5a1449db937a5066",
      "parents": [
        "88fa08f67bee1a0c765237bdac106a32872f57d2",
        "b1b135c8d619cb2c7045d6ee4e48375882518bb5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 08:40:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 08:40:19 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  fix spinlock recursion in hvc_console\n  stop_machine: remove unused variable\n  modules: extend initcall_debug functionality to the module loader\n  export virtio_rng.h\n  lguest: use get_user_pages_fast() instead of get_user_pages()\n  mm: Make generic weak get_user_pages_fast and EXPORT_GPL it\n  lguest: don\u0027t set MAC address for guest unless specified\n"
    },
    {
      "commit": "c2fc11985db304572322f1dcdcb0f71337315006",
      "tree": "330196cefd4eb0ad3b4999fb14518a62f0294d93",
      "parents": [
        "23a0ee908cbfba3264d19729c67c22b20fa73886"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Tue Aug 12 18:05:13 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 12 11:21:27 2008 +0200"
      },
      "message": "generic-ipi: fix stack and rcu interaction bug in smp_call_function_mask(), fix\n\n\u003e \u003e Nick Piggin (1):\n\u003e \u003e       generic-ipi: fix stack and rcu interaction bug in\n\u003e \u003e smp_call_function_mask()\n\u003e\n\u003e I\u0027m still not 100% sure that I have this patch right... I might have seen\n\u003e a lockup trace implicating the smp call function path... which may have\n\u003e been due to some other problem or a different bug in the new call function\n\u003e code, but if some more people can take a look at it before merging?\n\nOK indeed it did have a couple of bugs. Firstly, I wasn\u0027t freeing the\ndata properly in the alloc \u0026\u0026 wait case. Secondly, I wasn\u0027t resetting\nCSD_FLAG_WAIT in the for each cpu loop (so only the first CPU would\nwait).\n\nAfter those fixes, the patch boots and runs with the kmalloc commented\nout (so it always executes the slowpath).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed6d68763b8b589c0ae9d231cbd72bd01f6685c5",
      "tree": "df2ad85df56c40013eea6f0bd5806d1f94e0b8b7",
      "parents": [
        "59f9415ffb9759e950d775f4c400f747b332cc02"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 31 10:31:02 2008 +0800"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 12 17:52:55 2008 +1000"
      },
      "message": "stop_machine: remove unused variable\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "59f9415ffb9759e950d775f4c400f747b332cc02",
      "tree": "354544b8cad8ae77a5f960fe601b2a3613a2523a",
      "parents": [
        "4bceba417a795b78a5146e3f85291cb7bb2402ef"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jul 30 12:49:02 2008 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Aug 12 17:52:54 2008 +1000"
      },
      "message": "modules: extend initcall_debug functionality to the module loader\n\nThe kernel has this really nice facility where if you put \"initcall_debug\"\non the kernel commandline, it\u0027ll print which function it\u0027s going to\nexecute just before calling an initcall, and then after the call completes\nit will\n\n1) print if it had an error code\n\n2) checks for a few simple bugs (like leaving irqs off)\nand\n\n3) print how long the init call took in milliseconds.\n\nWhile trying to optimize the boot speed of my laptop, I have been loving\nnumber 3 to figure out what to optimize...  ...  and then I wished that\nthe same thing was done for module loading.\n\nThis patch makes the module loader use this exact same functionality; it\u0027s\na logical extension in my view (since modules are just sort of late\nbinding initcalls anyway) and so far I\u0027ve found it quite useful in finding\nwhere things are too slow in my boot.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1ea2950884aa320c46315c8ddf62717c6ecf78d0",
      "tree": "3e03cfd79dd3d629ee46bb04771d79250fe52ad3",
      "parents": [
        "67a077dca4e648a662e32cbeaaba8094d2e30229",
        "e26b33e9552c29c1d3fe67dc602c6264c29f5dc7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:46:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:46:31 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, cpu hotplug: fix set_cpus_allowed() use in hotplug callbacks\n  sched: fix mysql+oltp regression\n  sched_clock: delay using sched_clock()\n  sched clock: couple local and remote clocks\n  sched clock: simplify __update_sched_clock()\n  sched: eliminate scd-\u003eprev_raw\n  sched clock: clean up sched_clock_cpu()\n  sched clock: revert various sched_clock() changes\n  sched: move sched_clock before first use\n  sched: test runtime rather than period in global_rt_runtime()\n  sched: fix SCHED_HRTICK dependency\n  sched: fix warning in hrtick_start_fair()\n"
    },
    {
      "commit": "67a077dca4e648a662e32cbeaaba8094d2e30229",
      "tree": "2f8943838b73b0a8ea590b1aaad9294eb280ea1e",
      "parents": [
        "9b4d0bab32e18e4f72781f9fa309a81495b2aff3",
        "2106b531eaa2edd0c2dfa735a0556c08c7ba3c86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:46:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:46:11 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  posix-timers: fix posix_timer_event() vs dequeue_signal() race\n  posix-timers: do_schedule_next_timer: fix the setting of -\u003esi_overrun\n"
    },
    {
      "commit": "9b4d0bab32e18e4f72781f9fa309a81495b2aff3",
      "tree": "ce95c619d06d10bd0b2c0039f76a03deefaab2c2",
      "parents": [
        "7019b1b50097a94d0f8a77b81bee0b19b108c634",
        "23a0ee908cbfba3264d19729c67c22b20fa73886"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:45:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:45:46 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  lockdep: fix debug_lock_alloc\n  lockdep: increase MAX_LOCKDEP_KEYS\n  generic-ipi: fix stack and rcu interaction bug in smp_call_function_mask()\n  lockdep: fix overflow in the hlock shrinkage code\n  lockdep: rename map_[acquire|release]() \u003d\u003e lock_map_[acquire|release]()\n  lockdep: handle chains involving classes defined in modules\n  mm: fix mm_take_all_locks() locking order\n  lockdep: annotate mm_take_all_locks()\n  lockdep: spin_lock_nest_lock()\n  lockdep: lock protection locks\n  lockdep: map_acquire\n  lockdep: shrink held_lock structure\n  lockdep: re-annotate scheduler runqueues\n  lockdep: lock_set_subclass - reset a held lock\u0027s subclass\n  lockdep: change scheduler annotation\n  debug_locks: set oops_in_progress if we will log messages.\n  lockdep: fix combinatorial explosion in lock subgraph traversal\n"
    },
    {
      "commit": "23a0ee908cbfba3264d19729c67c22b20fa73886",
      "tree": "541103f6283cbac6b82cff88a7b91128acfce046",
      "parents": [
        "cc7a486cac78f6fc1a24e8cd63036bae8d2ab431",
        "0f2bc27be27ca1dcc66b96131e44bf7648b959c6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 12 00:11:49 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 12 00:11:49 2008 +0200"
      },
      "message": "Merge branch \u0027core/locking\u0027 into core/urgent\n"
    },
    {
      "commit": "e26b33e9552c29c1d3fe67dc602c6264c29f5dc7",
      "tree": "98f99cedc86db77665d1a3b582444b9049aacc58",
      "parents": [
        "279ef6bbb8308488398c8f33b04c760148428378",
        "cf206bffbb7542df54043fad9898113172af99d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 12 00:07:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 12 00:07:02 2008 +0200"
      },
      "message": "Merge branch \u0027sched/clock\u0027 into sched/urgent\n"
    },
    {
      "commit": "0f2bc27be27ca1dcc66b96131e44bf7648b959c6",
      "tree": "22ea7b9a28878851f445a5420ff80b64ee1cfdd1",
      "parents": [
        "e5f363e358cf16e4ad13a6826e15088c5495efe9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 22:45:51 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 22:45:51 2008 +0200"
      },
      "message": "lockdep: fix debug_lock_alloc\n\nWhen we enable DEBUG_LOCK_ALLOC but do not enable PROVE_LOCKING and or\nLOCK_STAT, lock_alloc() and lock_release() turn into nops, even though\nwe should be doing hlock checking (check\u003d1).\n\nThis causes a false warning and a lockdep self-disable.\n\nRectify this.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "279ef6bbb8308488398c8f33b04c760148428378",
      "tree": "bc2b925ce5ed3f943d57a2adc99324cf308712e7",
      "parents": [
        "77ae651347bdd46830da8b28b1efc5e4a9d7cbd0"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Wed Jul 30 12:34:04 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 16:32:41 2008 +0200"
      },
      "message": "sched, cpu hotplug: fix set_cpus_allowed() use in hotplug callbacks\n\nMark Langsdorf reported:\n\n\u003e One of my co-workers noticed that the powernow-k8\n\u003e driver no longer restarts when a CPU core is\n\u003e hot-disabled and then hot-enabled on AMD quad-core\n\u003e systems.\n\u003e\n\u003e The following comands work fine on 2.6.26 and fail\n\u003e on 2.6.27-rc1:\n\u003e\n\u003e echo 0 \u003e /sys/devices/system/cpu/cpu3/online\n\u003e echo 1 \u003e /sys/devices/system/cpu/cpu3/online\n\u003e find /sys -name cpufreq\n\u003e\n\u003e For 2.6.26, the find will return a cpufreq\n\u003e directory for each processor.  In 2.6.27-rc1,\n\u003e the cpu3 directory is missing.\n\u003e\n\u003e After digging through the code, the following\n\u003e logic is failing when the core is hot-enabled\n\u003e at runtime.  The code works during the boot\n\u003e sequence.\n\u003e\n\u003e       cpumask_t \u003d current-\u003ecpus_allowed;\n\u003e       set_cpus_allowed_ptr(current, \u0026cpumask_of_cpu(cpu));\n\u003e       if (smp_processor_id() !\u003d cpu)\n\u003e               return -ENODEV;\n\nSo set the CPU active before calling the CPU_ONLINE notifier chain,\nthere are a handful of notifiers that use set_cpus_allowed().\n\nThis fix also solves the problem with x86-microcode. I\u0027ve sent\nalternative patches for microcode, but as this \"rely on\nset_cpus_allowed_ptr() being workable in cpu-hotplug(CPU_ONLINE, ...)\"\nassumption seems to be more broad than what we thought, perhaps this fix\nshould be applied.\n\nWith this patch we define that by the moment CPU_ONLINE is being sent,\na \u0027cpu\u0027 is online and ready for tasks to be migrated onto it.\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nReported-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nTested-by: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cc7a486cac78f6fc1a24e8cd63036bae8d2ab431",
      "tree": "258abdc1843d6f9ed76608412f1364178fb8c697",
      "parents": [
        "796aadeb1b2db9b5d463946766c5bbfd7717158c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Mon Aug 11 13:49:30 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 15:21:28 2008 +0200"
      },
      "message": "generic-ipi: fix stack and rcu interaction bug in smp_call_function_mask()\n\n* Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e wrote:\n\n\u003e Found a OOPS on a big SMP box during an overnight reboot test with\n\u003e upstream git.\n\u003e\n\u003e Suresh and I looked at the oops and looks like the root cause is in\n\u003e generic_smp_call_function_interrupt() and smp_call_function_mask() with\n\u003e wait parameter.\n\u003e\n\u003e The actual oops looked like\n\u003e\n\u003e [   11.277260] BUG: unable to handle kernel paging request at ffff8802ffffffff\n\u003e [   11.277815] IP: [\u003cffff8802ffffffff\u003e] 0xffff8802ffffffff\n\u003e [   11.278155] PGD 202063 PUD 0\n\u003e [   11.278576] Oops: 0010 [1] SMP\n\u003e [   11.279006] CPU 5\n\u003e [   11.279336] Modules linked in:\n\u003e [   11.279752] Pid: 0, comm: swapper Not tainted 2.6.27-rc2-00020-g685d87f #290\n\u003e [   11.280039] RIP: 0010:[\u003cffff8802ffffffff\u003e]  [\u003cffff8802ffffffff\u003e] 0xffff8802ffffffff\n\u003e [   11.280692] RSP: 0018:ffff88027f1f7f70  EFLAGS: 00010086\n\u003e [   11.280976] RAX: 00000000ffffffff RBX: 0000000000000000 RCX: 0000000000000000\n\u003e [   11.281264] RDX: 0000000000004f4e RSI: 0000000000000001 RDI: 0000000000000000\n\u003e [   11.281624] RBP: ffff88027f1f7f98 R08: 0000000000000001 R09: ffffffff802509af\n\u003e [   11.281925] R10: ffff8800280c2780 R11: 0000000000000000 R12: ffff88027f097d48\n\u003e [   11.282214] R13: ffff88027f097d70 R14: 0000000000000005 R15: ffff88027e571000\n\u003e [   11.282502] FS:  0000000000000000(0000) GS:ffff88027f1c3340(0000) knlGS:0000000000000000\n\u003e [   11.283096] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n\u003e [   11.283382] CR2: ffff8802ffffffff CR3: 0000000000201000 CR4: 00000000000006e0\n\u003e [   11.283760] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n\u003e [   11.284048] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n\u003e [   11.284337] Process swapper (pid: 0, threadinfo ffff88027f1f2000, task ffff88027f1f0640)\n\u003e [   11.284936] Stack:  ffffffff80250963 0000000000000212 0000000000ee8c78 0000000000ee8a66\n\u003e [   11.285802]  ffff88027e571550 ffff88027f1f7fa8 ffffffff8021adb5 ffff88027f1f3e40\n\u003e [   11.286599]  ffffffff8020bdd6 ffff88027f1f3e40 \u003cEOI\u003e  ffff88027f1f3ef8 0000000000000000\n\u003e [   11.287120] Call Trace:\n\u003e [   11.287768]  \u003cIRQ\u003e  [\u003cffffffff80250963\u003e] ? generic_smp_call_function_interrupt+0x61/0x12c\n\u003e [   11.288354]  [\u003cffffffff8021adb5\u003e] smp_call_function_interrupt+0x17/0x27\n\u003e [   11.288744]  [\u003cffffffff8020bdd6\u003e] call_function_interrupt+0x66/0x70\n\u003e [   11.289030]  \u003cEOI\u003e  [\u003cffffffff8024ab3b\u003e] ? clockevents_notify+0x19/0x73\n\u003e [   11.289380]  [\u003cffffffff803b9b75\u003e] ? acpi_idle_enter_simple+0x18b/0x1fa\n\u003e [   11.289760]  [\u003cffffffff803b9b6b\u003e] ? acpi_idle_enter_simple+0x181/0x1fa\n\u003e [   11.290051]  [\u003cffffffff8053aeca\u003e] ? cpuidle_idle_call+0x70/0xa2\n\u003e [   11.290338]  [\u003cffffffff80209f61\u003e] ? cpu_idle+0x5f/0x7d\n\u003e [   11.290723]  [\u003cffffffff8060224a\u003e] ? start_secondary+0x14d/0x152\n\u003e [   11.291010]\n\u003e [   11.291287]\n\u003e [   11.291654] Code:  Bad RIP value.\n\u003e [   11.292041] RIP  [\u003cffff8802ffffffff\u003e] 0xffff8802ffffffff\n\u003e [   11.292380]  RSP \u003cffff88027f1f7f70\u003e\n\u003e [   11.292741] CR2: ffff8802ffffffff\n\u003e [   11.310951] ---[ end trace 137c54d525305f1c ]---\n\u003e\n\u003e The problem is with the following sequence of events:\n\u003e\n\u003e - CPU A calls smp_call_function_mask() for CPU B with wait parameter\n\u003e - CPU A sets up the call_function_data on the stack and does an rcu add to\n\u003e   call_function_queue\n\u003e - CPU A waits until the WAIT flag is cleared\n\u003e - CPU B gets the call function interrupt and starts going through the\n\u003e   call_function_queue\n\u003e - CPU C also gets some other call function interrupt and starts going through\n\u003e   the call_function_queue\n\u003e - CPU C, which is also going through the call_function_queue, starts referencing\n\u003e   CPU A\u0027s stack, as that element is still in call_function_queue\n\u003e - CPU B finishes the function call that CPU A set up and as there are no other\n\u003e   references to it, rcu deletes the call_function_data (which was from CPU A\n\u003e   stack)\n\u003e - CPU B sees the wait flag and just clears the flag (no call_rcu to free)\n\u003e - CPU A which was waiting on the flag continues executing and the stack\n\u003e   contents change\n\u003e\n\u003e - CPU C is still in rcu_read section accessing the CPU A\u0027s stack sees\n\u003e   inconsistent call_funation_data and can try to execute\n\u003e   function with some random pointer, causing stack corruption for A\n\u003e   (by clearing the bits in mask field) and oops.\n\nNice debugging work.\n\nI\u0027d suggest something like the attached (boot tested) patch as the simple\nfix for now.\n\nI expect the benefits from the less synchronized, multiple-in-flight-data\nglobal queue will still outweigh the costs of dynamic allocations. But\nif worst comes to worst then we just go back to a globally synchronous\none-at-a-time implementation, but that would be pretty sad!\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77ae651347bdd46830da8b28b1efc5e4a9d7cbd0",
      "tree": "5c43252b5811cc0cba7b92e6b2fd241e0df6e3c8",
      "parents": [
        "251a169c69d1ff07cee7a9bb9fc4faff6b1d2ac3"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Aug 11 13:32:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 14:49:29 2008 +0200"
      },
      "message": "sched: fix mysql+oltp regression\n\nDefer commit 6d299f1b53b84e2665f402d9bcc494800aba6386 to the next release.\n\nTesting of the tip/sched/clock tree revealed a mysql+oltp regression\nwhich bisection eventually traced back to this commit in mainline.\n\nPertinent test results:  Three run sysbench averages, throughput units\nin read/write requests/sec.\n\nclients         1     2     4     8    16    32    64\n6e0534f      9646 17876 34774 33868 32230 30767 29441\n2.6.26.1     9112 17936 34652 33383 31929 30665 29232\n6d299f1      9112 14637 28370 33339 32038 30762 29204\n\nNote: subsequent commits hide the majority of this regression until you\napply the clock fixes, at which time it reemerges at full magnitude.\n\nWe cannot see anything bad about the change itself so we defer it to the\nnext release until this problem is fully analysed.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "251a169c69d1ff07cee7a9bb9fc4faff6b1d2ac3",
      "tree": "3c20c3e080f276848f2ad67aadab44a5d64bfda9",
      "parents": [
        "6679ce6e5f519096612b480d255d9ca97be0c2be",
        "796aadeb1b2db9b5d463946766c5bbfd7717158c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 13:40:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 13:40:56 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/urgent\n"
    },
    {
      "commit": "3295f0ef9ff048a4619ede597ad9ec9cab725654",
      "tree": "f39a8ecf1958130a0b86c554399d23a65b1c3991",
      "parents": [
        "8bfe0298f7a04952d19f4a2cf510d7a6311eeed0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 10:30:30 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 10:30:30 2008 +0200"
      },
      "message": "lockdep: rename map_[acquire|release]() \u003d\u003e lock_map_[acquire|release]()\n\nthe names were too generic:\n\n drivers/uio/uio.c:87: error: expected identifier or \u0027(\u0027 before \u0027do\u0027\n drivers/uio/uio.c:87: error: expected identifier or \u0027(\u0027 before \u0027while\u0027\n drivers/uio/uio.c:113: error: \u0027map_release\u0027 undeclared here (not in a function)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8bfe0298f7a04952d19f4a2cf510d7a6311eeed0",
      "tree": "f90c216c26c0d73128a713d5142ccaefa2dce353",
      "parents": [
        "7cd5a02f54f4c9d16cf7fdffa2122bc73bb09b43"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Mon Aug 11 09:30:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:26 2008 +0200"
      },
      "message": "lockdep: handle chains involving classes defined in modules\n\nSolve this by marking the classes as unused and not printing information\nabout the unused classes.\n\nReported-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nAcked-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b7d39aff91454f2534db2275f55908656ec0470c",
      "tree": "24481f2fe7206ef69800a33df6ac3e1716085326",
      "parents": [
        "7531e2f34d1d551b096143f19111139f0dd84c8b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:24 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:24 2008 +0200"
      },
      "message": "lockdep: spin_lock_nest_lock()\n\nExpose the new lock protection lock.\n\nThis can be used to annotate places where we take multiple locks of the\nsame class and avoid deadlocks by always taking another (top-level) lock\nfirst.\n\nNOTE: we\u0027re still bound to the MAX_LOCK_DEPTH (48) limit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7531e2f34d1d551b096143f19111139f0dd84c8b",
      "tree": "0a29d6703e28dc6752b9b4085594cca238595aac",
      "parents": [
        "4f3e7524b2e703d9f8b02ac338153a53dd7ede66"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:24 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:24 2008 +0200"
      },
      "message": "lockdep: lock protection locks\n\nOn Fri, 2008-08-01 at 16:26 -0700, Linus Torvalds wrote:\n\n\u003e On Fri, 1 Aug 2008, David Miller wrote:\n\u003e \u003e\n\u003e \u003e Taking more than a few locks of the same class at once is bad\n\u003e \u003e news and it\u0027s better to find an alternative method.\n\u003e\n\u003e It\u0027s not always wrong.\n\u003e\n\u003e If you can guarantee that anybody that takes more than one lock of a\n\u003e particular class will always take a single top-level lock _first_, then\n\u003e that\u0027s all good. You can obviously screw up and take the same lock _twice_\n\u003e (which will deadlock), but at least you cannot get into ABBA situations.\n\u003e\n\u003e So maybe the right thing to do is to just teach lockdep about \"lock\n\u003e protection locks\". That would have solved the multi-queue issues for\n\u003e networking too - all the actual network drivers would still have taken\n\u003e just their single queue lock, but the one case that needs to take all of\n\u003e them would have taken a separate top-level lock first.\n\u003e\n\u003e Never mind that the multi-queue locks were always taken in the same order:\n\u003e it\u0027s never wrong to just have some top-level serialization, and anybody\n\u003e who needs to take \u003cn\u003e locks might as well do \u003cn+1\u003e, because they sure as\n\u003e hell aren\u0027t going to be on _any_ fastpaths.\n\u003e\n\u003e So the simplest solution really sounds like just teaching lockdep about\n\u003e that one special case. It\u0027s not \"nesting\" exactly, although it\u0027s obviously\n\u003e related to it.\n\nDo as Linus suggested. The lock protection lock is called nest_lock.\n\nNote that we still have the MAX_LOCK_DEPTH (48) limit to consider, so anything\nthat spills that it still up shit creek.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4f3e7524b2e703d9f8b02ac338153a53dd7ede66",
      "tree": "0033ade94f230d6044ad318e3791c55ad611069e",
      "parents": [
        "f82b217e3513fe3af342c0f3ee1494e86250c21c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:23 2008 +0200"
      },
      "message": "lockdep: map_acquire\n\nMost the free-standing lock_acquire() usages look remarkably similar, sweep\nthem into a new helper.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f82b217e3513fe3af342c0f3ee1494e86250c21c",
      "tree": "144b724c9e0c491c0983087627000080b25b9852",
      "parents": [
        "1b12bbc747560ea68bcc132c3d05699e52271da0"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Aug 11 09:30:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:23 2008 +0200"
      },
      "message": "lockdep: shrink held_lock structure\n\nstruct held_lock {\n        u64                        prev_chain_key;       /*     0     8 */\n        struct lock_class *        class;                /*     8     8 */\n        long unsigned int          acquire_ip;           /*    16     8 */\n        struct lockdep_map *       instance;             /*    24     8 */\n        int                        irq_context;          /*    32     4 */\n        int                        trylock;              /*    36     4 */\n        int                        read;                 /*    40     4 */\n        int                        check;                /*    44     4 */\n        int                        hardirqs_off;         /*    48     4 */\n\n        /* size: 56, cachelines: 1 */\n        /* padding: 4 */\n        /* last cacheline: 56 bytes */\n};\n\nstruct held_lock {\n        u64                        prev_chain_key;       /*     0     8 */\n        long unsigned int          acquire_ip;           /*     8     8 */\n        struct lockdep_map *       instance;             /*    16     8 */\n        unsigned int               class_idx:11;         /*    24:21  4 */\n        unsigned int               irq_context:2;        /*    24:19  4 */\n        unsigned int               trylock:1;            /*    24:18  4 */\n        unsigned int               read:2;               /*    24:16  4 */\n        unsigned int               check:2;              /*    24:14  4 */\n        unsigned int               hardirqs_off:1;       /*    24:13  4 */\n\n        /* size: 32, cachelines: 1 */\n        /* padding: 4 */\n        /* bit_padding: 13 bits */\n        /* last cacheline: 32 bytes */\n};\n\n[mingo@elte.hu: shrunk hlock-\u003eclass too]\n[peterz@infradead.org: fixup bit sizes]\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "1b12bbc747560ea68bcc132c3d05699e52271da0",
      "tree": "0e0fe5b7fe07d411251eebdd053e9e7793820248",
      "parents": [
        "64aa348edc617dea17bbd01ddee4e47886d5ec8c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:22 2008 +0200"
      },
      "message": "lockdep: re-annotate scheduler runqueues\n\nInstead of using a per-rq lock class, use the regular nesting operations.\n\nHowever, take extra care with double_lock_balance() as it can release the\nalready held rq-\u003elock (and therefore change its nesting class).\n\nSo what can happen is:\n\n spin_lock(rq-\u003elock);\t// this rq subclass 0\n\n double_lock_balance(rq, other_rq);\n   // release rq\n   // acquire other_rq-\u003elock subclass 0\n   // acquire rq-\u003elock subclass 1\n\n spin_unlock(other_rq-\u003elock);\n\nleaving you with rq-\u003elock in subclass 1\n\nSo a subsequent double_lock_balance() call can try to nest a subclass 1\nlock while already holding a subclass 1 lock.\n\nFix this by introducing double_unlock_balance() which releases the other\nrq\u0027s lock, but also re-sets the subclass for this rq\u0027s lock to 0.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64aa348edc617dea17bbd01ddee4e47886d5ec8c",
      "tree": "002b5fa796aff225d0cb9d0c32bb3ba96da6eaaf",
      "parents": [
        "5e710e37bde120bb069f691bee68e69ef4393173"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 09:30:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 09:30:21 2008 +0200"
      },
      "message": "lockdep: lock_set_subclass - reset a held lock\u0027s subclass\n\nthis can be used to reset a held lock\u0027s subclass, for arbitrary-depth\niterated data structures such as trees or lists which have per-node\nlocks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf206bffbb7542df54043fad9898113172af99d8",
      "tree": "c7e7ca9a93443b888f98a0c07e74751a1aa3c947",
      "parents": [
        "c1955a3d4762e7a9bf84035eb3c4886a900f0d15",
        "796aadeb1b2db9b5d463946766c5bbfd7717158c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 08:59:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 08:59:21 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/clock\n"
    },
    {
      "commit": "c1955a3d4762e7a9bf84035eb3c4886a900f0d15",
      "tree": "a00dcd1736c612017df7094a91d8a6435b7a49c9",
      "parents": [
        "4a273f209cc95d148f79b4c96d3d03997b44ffda"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 11 08:59:03 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 08:59:03 2008 +0200"
      },
      "message": "sched_clock: delay using sched_clock()\n\nSome arch\u0027s can\u0027t handle sched_clock() being called too early - delay\nthis until sched_clock_init() has been called.\n\nReported-by: Bill Gatliff \u003cbgat@billgatliff.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCC: Russell King - ARM Linux \u003clinux@arm.linux.org.uk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb3952bf7853667a1cb3515e67f27e67f0fce9e8",
      "tree": "b861e4e3636dbac1d17b8feb8c25e744c9e4f80a",
      "parents": [
        "bba81165867313766534dd31603de51bdd36ef9b"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Wed Jul 30 14:46:50 2008 +0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Aug 07 06:52:01 2008 -0700"
      },
      "message": "DMA: make dma-coherent.c documentation kdoc-friendly\n\nSpotted by Randy.\n\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bf1db69fbf4ff511e88736ce2e6318846f34492b",
      "tree": "545a9d60d7932dbfc7ce5d9af621c9af9923bc3a",
      "parents": [
        "7c44319dc6deb0028ef7811670bf1e4bc6644672"
      ],
      "author": {
        "name": "Richard Hughes",
        "email": "richard@hughsie.com",
        "time": "Tue Aug 05 13:01:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:50 2008 -0700"
      },
      "message": "pm_qos: spelling fixes\n\nA documentation cleanup patch.  With a minor tweak to clarify units for\nkbs.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: mark gross \u003cmgross@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2dc1f4adb4b5b02d87e49e115e5107f4da790c0",
      "tree": "37b5d2a3dd97a89981541b96bf6043741f09f92d",
      "parents": [
        "978cc90c469b38bcbbfd00a8c183d74e5b17bf45"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Tue Aug 05 13:01:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:49 2008 -0700"
      },
      "message": "dma: fix order calculation in dma_mark_declared_memory_occupied()\n\nget_order() takes byte-sized input, not a page-granular one.\n\nIrrespective of this fix I\u0027m inclined to believe that this doesn\u0027t work\nright anyway - bitmap_allocate_region() has an implicit assumption of\n\u0027pos\u0027 being suitable for \u0027order\u0027, which this function doesn\u0027t seem to\nenforce (and since it\u0027s being called with a byte-granular value there\u0027s no\nreason to believe that the callers would make sure device_addr is passed\naccordingly - it\u0027s also not documented that way).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: James E.J. Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c69ad71bcdecbaab82cfacb1dc967bd7fd967a3b",
      "tree": "0554837705dd0e63d18522085c22ab0c2c1467ff",
      "parents": [
        "5b2becc8cffdccdd60c63099f592ddd35aa6c34f"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Aug 05 13:01:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:47 2008 -0700"
      },
      "message": "genirq: better warning on irqchip-\u003eset_type() failure\n\nWhile I\u0027m glad to finally see the hole fixed whereby passing an invalid\nIRQ trigger type to request_irq() would be ignored, the current diagnostic\nisn\u0027t quite useful.  Fixed by also listing the trigger type which was\nrejected.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b2becc8cffdccdd60c63099f592ddd35aa6c34f",
      "tree": "e502280aee4d93b059a93526ba3f02a6883a596d",
      "parents": [
        "32194450330be327f3b25bf6b66298bd122599e9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Aug 05 13:01:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:47 2008 -0700"
      },
      "message": "semaphore: __down_common: use signal_pending_state()\n\nChange __down_common() to use signal_pending_state() instead of open\ncoding.\n\nThe changes in kernel/semaphore.o are just artifacts, the state checks are\noptimized away.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: 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": "32194450330be327f3b25bf6b66298bd122599e9",
      "tree": "48efcfe62b2c09396f4d9e03839f53e1577a4019",
      "parents": [
        "60cadec9da7b6c91aca51f408c828f7e74a68379"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Tue Aug 05 13:01:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:46 2008 -0700"
      },
      "message": "relay: fix \"full buffer with exactly full last subbuffer\" accounting problem\n\nIn relay\u0027s current read implementation, if the buffer is completely full\nbut hasn\u0027t triggered the buffer-full condition (i.e. the last write\ndidn\u0027t cross the subbuffer boundary) and the last subbuffer is exactly\nfull, the subbuffer accounting code erroneously finds nothing available.\nThis patch fixes the problem.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Mathieu Desnoyers \u003ccompudj@krystal.dyndns.org\u003e\nCc: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b13ad6f47c172761a3ce06f0fd12d19118b3076c",
      "tree": "69ce47a230c72f15044bb40810c4ee7a9864817b",
      "parents": [
        "f1b134fdf6d36c975b4a66cf952565cd73aebdba",
        "1a61c88defcd611bd148d6c960b498e1b8bbbe00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 17:21:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 17:21:38 2008 -0700"
      },
      "message": "Merge branch \u0027audit.b56\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b56\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  Re: [PATCH] Fix the kernel panic of audit_filter_task when key field is set\n"
    },
    {
      "commit": "725aad24c3ba96a7c06448c14c265a466cdbd663",
      "tree": "bbe0eae923736950030751651f70f3ace4cc7693",
      "parents": [
        "5941de8eadc287f3f47b87ce9888734ee07d210b"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Sun Aug 03 09:33:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 17:16:20 2008 -0700"
      },
      "message": "__sched_setscheduler: don\u0027t do any policy checks when not \"user\"\n\nThe \"user\" parameter to __sched_setscheduler indicates whether the\nchange is being done on behalf of a user process or not.  If not, we\nshouldn\u0027t apply any permissions checks, so don\u0027t call\nsecurity_task_setscheduler().\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nTested-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a61c88defcd611bd148d6c960b498e1b8bbbe00",
      "tree": "8b8d84cb828caabd61d849967b3a6f8de6df2b66",
      "parents": [
        "2b12a4c524812fb3f6ee590a02e65b95c8c32229"
      ],
      "author": {
        "name": "zhangxiliang",
        "email": "zhangxiliang@cn.fujitsu.com",
        "time": "Sat Aug 02 10:56:37 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 04 06:13:50 2008 -0400"
      },
      "message": "Re: [PATCH] Fix the kernel panic of audit_filter_task when key field is set\n\nSorry, I miss a blank between if and \"(\".\nAnd I add \"unlikely\" to check \"ctx\" in audit_match_perm() and audit_match_filetype().\nThis is a new patch for it.\n\nSigned-off-by: Zhang Xiliang \u003czhangxiliang@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5c7edcd7ee6b77b88252fe4096dce1a46a60c829",
      "tree": "4936df589df33c671e2e98ea45b89e7f45278f61",
      "parents": [
        "1e24b15b267293567a8d752721c7ae63f281325a"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Jul 31 02:04:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 12:01:11 2008 -0700"
      },
      "message": "tracehook: fix exit_signal\u003d0 case\n\nMy commit 2b2a1ff64afbadac842bbc58c5166962cf4f7664 introduced a regression\n(sorry about that) for the odd case of exit_signal\u003d0 (e.g. clone_flags\u003d0).\nThis is not a normal use, but it\u0027s used by a case in the glibc test suite.\n\nDying with exit_signal\u003d0 sends no signal, but it\u0027s supposed to wake up a\nparent\u0027s blocked wait*() calls (unlike the delayed_group_leader case).\nThis fixes tracehook_notify_death() and its caller to distinguish a\n\"signal 0\" wakeup from the delayed_group_leader case (with no wakeup).\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nTested-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5adf2b03d97111c8955495ba11e8b7db27df8695",
      "tree": "6e02833c57f4967973ebe14b44ce30ddd85f1ea2",
      "parents": [
        "e811603feb198079bcdb3f75f72cbf9681de2062",
        "0e241ffd306c0896bb9959be7faa4d4cfcb706d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:52:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:52:39 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  locking: fix mutex @key parameter kernel-doc notation\n"
    },
    {
      "commit": "31582b094d640fdab3fd29237b348a4c7c8646fb",
      "tree": "52ee679e7dab9d6627d69d87470d62fef7a651d6",
      "parents": [
        "df1efe6f871e2d3f83e6ad7b7a1d2b728b478fc2",
        "25fc999913839a45cbb48ac7872e67f7521e7ed9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:45:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 01 11:45:09 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: fix gdb serial thread queries\n  kgdb: fix kgdb_validate_break_address to perform a mem write\n  kgdb: remove the requirement for CONFIG_FRAME_POINTER\n"
    },
    {
      "commit": "20c6aaa39ab735c7ed78e4e5a214d250efae0a6e",
      "tree": "132164efa309d2df3daeb9fed80ee75da93672bc",
      "parents": [
        "980dfb0db340b95094732d78b55311f2c539c1af"
      ],
      "author": {
        "name": "zhangxiliang",
        "email": "zhangxiliang@cn.fujitsu.com",
        "time": "Thu Jul 31 10:11:19 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 12:15:16 2008 -0400"
      },
      "message": "[PATCH] Fix the bug of using AUDIT_STATUS_RATE_LIMIT when set fail, no error output.\n\nWhen the \"status_get-\u003emask\" is \"AUDIT_STATUS_RATE_LIMIT || AUDIT_STATUS_BACKLOG_LIMIT\".\nIf \"audit_set_rate_limit\" fails and \"audit_set_backlog_limit\" succeeds, the \"err\" value\nwill be greater than or equal to 0. It will miss the failure of rate set.\n\nSigned-off-by: Zhang Xiliang \u003czhangxiliang@cn.fujitsu.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "980dfb0db340b95094732d78b55311f2c539c1af",
      "tree": "7235e21116a0958591adeaec4e51734cc224094e",
      "parents": [
        "036bbf76ad9f83781590623111b80ba0b82930ac"
      ],
      "author": {
        "name": "zhangxiliang",
        "email": "zhangxiliang@cn.fujitsu.com",
        "time": "Fri Aug 01 19:15:47 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 12:15:03 2008 -0400"
      },
      "message": "[PATCH] Fix the kernel panic of audit_filter_task when key field is set\n\nWhen calling audit_filter_task(), it calls audit_filter_rules() with audit_context is NULL.\nIf the key field is set, the result in audit_filter_rules() will be set to 1 and\nctx-\u003efilterkey will be set to key.\nBut the ctx is NULL in this condition, so kernel will panic.\n\nSigned-off-by: Zhang Xiliang \u003czhangxiliang@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "036bbf76ad9f83781590623111b80ba0b82930ac",
      "tree": "077b5464efa36ff4588870498ba54ef3bca319a4",
      "parents": [
        "1d6c9649e236caa2e93e3647256216e57172b011"
      ],
      "author": {
        "name": "zhangxiliang",
        "email": "zhangxiliang@cn.fujitsu.com",
        "time": "Fri Aug 01 09:47:01 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 12:15:03 2008 -0400"
      },
      "message": "Re: [PATCH] the loginuid field should be output in all AUDIT_CONFIG_CHANGE audit messages\n\n\u003e shouldn\u0027t these be using the \"audit_get_loginuid(current)\"  and if we\n\u003e are going to output loginuid we also should be outputting sessionid\n\nThanks for your detailed explanation.\nI have made a new patch for outputing \"loginuid\" and \"sessionid\" by audit_get_loginuid(current) and audit_get_sessionid(current).\nIf there are some deficiencies, please give me your indication.\n\nSigned-off-by: Zhang Xiliang \u003czhangxiliang@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1d6c9649e236caa2e93e3647256216e57172b011",
      "tree": "f2ddd51635a3aac71d11e6d6ae4d4dc698c120f5",
      "parents": [
        "ee1d315663ee0b494898f813a266d6244b263b4f"
      ],
      "author": {
        "name": "Vesa-Matti J Kari",
        "email": "vmkari@cc.helsinki.fi",
        "time": "Wed Jul 23 00:06:13 2008 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 12:05:35 2008 -0400"
      },
      "message": "kernel/audit.c control character detection is off-by-one\n\nHello,\n\nAccording to my understanding there is an off-by-one bug in the\nfunction:\n\n   audit_string_contains_control()\n\nin:\n\n  kernel/audit.c\n\nPatch is included.\n\nI do not know from how many places the function is called from, but for\nexample, SELinux Access Vector Cache tries to log untrusted filenames via\ncall path:\n\navc_audit()\n     audit_log_untrustedstring()\n         audit_log_n_untrustedstring()\n             audit_string_contains_control()\n\nIf audit_string_contains_control() detects control characters, then the\nstring is hex-encoded. But the hex\u003d0x7f dec\u003d127, DEL-character, is not\ndetected.\n\nI guess this could have at least some minor security implications, since a\nuser can create a filename with 0x7f in it, causing logged filename to\npossibly look different when someone reads it on the terminal.\n\nSigned-off-by: Vesa-Matti Kari \u003cvmkari@cc.helsinki.fi\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee1d315663ee0b494898f813a266d6244b263b4f",
      "tree": "f9bf6dcacaf105431641469089e20516dd403fc5",
      "parents": [
        "94ad374a0751f40d25e22e036c37f7263569d24c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jul 07 10:49:45 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 12:05:32 2008 -0400"
      },
      "message": "[PATCH] Audit: Collect signal info when SIGUSR2 is sent to auditd\n\nMakes the kernel audit subsystem collect information about the sending\nprocess when that process sends SIGUSR2 to the userspace audit daemon.\nSIGUSR2 is a new interesting signal to auditd telling auditd that it\nshould try to start logging to disk again and the error condition which\ncaused it to stop logging to disk (usually out of space) has been\nrectified.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "25fc999913839a45cbb48ac7872e67f7521e7ed9",
      "tree": "2785851665dccc753e9e6cf0de650be72e56d7de",
      "parents": [
        "a9b60bf4c29e07a5a2f26a6f74937972fee9b58b"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 01 08:39:35 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 01 08:39:35 2008 -0500"
      },
      "message": "kgdb: fix gdb serial thread queries\n\nThe command \"info threads\" did not work correctly with kgdb.  It would\nresult in a silent kernel hang if used.\n\nThis patach addresses several problems.\n - Fix use of deprecated NR_CPUS\n - Fix kgdb to not walk linearly through the pid space\n - Correctly implement shadow pids\n - Change the threads per query to a #define\n - Fix kgdb_hex2long to work with negated values\n\nThe threads 0 and -1 are reserved to represent the current task.  That\nmeans that CPU 0 will start with a shadow thread id of -2, and CPU 1\nwill have a shadow thread id of -3, etc...\n\nFrom the debugger you can switch to a shadow thread to see what one of\nthe other cpus was doing, however it is not possible to execute run\ncontrol operations on any other cpu execept the cpu executing the\nkgdb_handle_exception().\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "a9b60bf4c29e07a5a2f26a6f74937972fee9b58b",
      "tree": "6862f0442a9ab4e2da20fb93e3cf3be2c36b76b2",
      "parents": [
        "5f5ddfb3605d2a4f555a7ff034859e623eafcd27"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 01 08:39:34 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Aug 01 08:39:34 2008 -0500"
      },
      "message": "kgdb: fix kgdb_validate_break_address to perform a mem write\n\nA regression to the kgdb core was found in the case of using the\nCONFIG_DEBUG_RODATA kernel option.  When this option is on, a breakpoint\ncannot be written into any readonly memory page.  When an external\ndebugger requests a breakpoint to get set, the\nkgdb_validate_break_address() was only checking to see if the address\nto place the breakpoint was readable and lacked a write check.\n\nThis patch changes the validate routine to try reading (via the\nbreakpoint set request) and also to try immediately writing the break\npoint.  If either fails, an error is correctly returned and the\ndebugger behaves correctly.  Then an end user can make the\ndescision to use hardware breakpoints.\n\nAlso update the documentation to reflect that using\nCONFIG_DEBUG_RODATA will inhibit the use of software breakpoints.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "5e710e37bde120bb069f691bee68e69ef4393173",
      "tree": "f622aa07d6e1fb5851bd814a98945c7fb1ff9cd2",
      "parents": [
        "e0fdace10e75dac67d906213b780ff1b1a4cc360"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jul 30 13:26:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 01 10:46:48 2008 +0200"
      },
      "message": "lockdep: change scheduler annotation\n\nWhile thinking about David\u0027s graph walk lockdep patch it _finally_\ndawned on me that there is no reason we have a lock class per cpu ...\n\nSorry for being dense :-/\n\nThe below changes the annotation from a lock class per cpu, to a single\nnested lock, as the scheduler never holds more that 2 rq locks at a time\nanyway.\n\nIf there was code requiring holding all rq locks this would not work and\nthe original annotation would be the only option, but that not being the\ncase, this is a much lighter one.\n\nCompiles and boots on a 2-way x86_64.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "419ca3f13532793b81aff09f80c60af3eacbb43d",
      "tree": "eb2d82e52917ebccff269a51e90868ce229336b2",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 29 21:45:03 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 18:38:28 2008 +0200"
      },
      "message": "lockdep: fix combinatorial explosion in lock subgraph traversal\n\nWhen we traverse the graph, either forwards or backwards, we\nare interested in whether a certain property exists somewhere\nin a node reachable in the graph.\n\nTherefore it is never necessary to traverse through a node more\nthan once to get a correct answer to the given query.\n\nTake advantage of this property using a global ID counter so that we\nneed not clear all the markers in all the lock_class entries before\ndoing a traversal.  A new ID is choosen when we start to traverse, and\nwe continue through a lock_class only if it\u0027s ID hasn\u0027t been marked\nwith the new value yet.\n\nThis short-circuiting is essential especially for high CPU count\nsystems.  The scheduler has a runqueue per cpu, and needs to take\ntwo runqueue locks at a time, which leads to long chains of\nbackwards and forwards subgraphs from these runqueue lock nodes.\nWithout the short-circuit implemented here, a graph traversal on\na runqueue lock can take up to (1 \u003c\u003c (N - 1)) checks on a system\nwith N cpus.\n\nFor anything more than 16 cpus or so, lockdep will eventually bring\nthe machine to a complete standstill.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6679ce6e5f519096612b480d255d9ca97be0c2be",
      "tree": "cce6814d3e7c62adf59e565fb6ae95fd409f86ab",
      "parents": [
        "2c3d103ba90827cfb478bf10464d9b5b9cea369c",
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 18:34:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 18:34:22 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/urgent\n"
    },
    {
      "commit": "4a273f209cc95d148f79b4c96d3d03997b44ffda",
      "tree": "0d3d0aec4e676baacc2afd2e731b8905257a0b32",
      "parents": [
        "56b906126d33904d4d67615d0d5b95dbdf1f27ca"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 10:22:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:21:01 2008 +0200"
      },
      "message": "sched clock: couple local and remote clocks\n\nWhen taking the time of a remote CPU, use the opportunity to\ncouple (sync) the clocks to each other. (in a monotonic way)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "56b906126d33904d4d67615d0d5b95dbdf1f27ca",
      "tree": "49ff0678cbb0f388fc5fd42e71ec5916fd655193",
      "parents": [
        "18e4e36c66d6edbdefc639692206cdf01e468713"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 10:15:55 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:55 2008 +0200"
      },
      "message": "sched clock: simplify __update_sched_clock()\n\n- return the current clock instead of letting callers\n  fetch it from scd-\u003eclock\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "18e4e36c66d6edbdefc639692206cdf01e468713",
      "tree": "271a70892fa5808459a1cfc30aa3b5631cd6647d",
      "parents": [
        "50526968e99afbca34924abcb04658b6dd5c5ea5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 10:13:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:49 2008 +0200"
      },
      "message": "sched: eliminate scd-\u003eprev_raw\n\neliminate prev_raw and use tick_raw instead.\n\nIt\u0027s enough to base the current time on the scheduler tick timestamp\nalone - the monotonicity and maximum checks will prevent any damage.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "50526968e99afbca34924abcb04658b6dd5c5ea5",
      "tree": "694bf4fae96efb10261e9a30514adf052d994360",
      "parents": [
        "e4e4e534faa3c2be4e165ce414f44b76ada7208c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 30 09:39:48 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:42 2008 +0200"
      },
      "message": "sched clock: clean up sched_clock_cpu()\n\n- simplify the remote clock rebasing\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "e4e4e534faa3c2be4e165ce414f44b76ada7208c",
      "tree": "615280ce53bdba4f99c95616d2a1527c3b863c39",
      "parents": [
        "39675e89fb472c1b9c8e740e00acb1df2bbc6be7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:29 2008 +0200"
      },
      "message": "sched clock: revert various sched_clock() changes\n\nFound an interactivity problem on a quad core test-system - simple\nCPU loops would occasionally delay the system un an unacceptable way.\n\nAfter much debugging with Peter Zijlstra it turned out that the problem\nis caused by the string of sched_clock() changes - they caused the CPU\nclock to jump backwards a bit - which confuses the scheduler arithmetics.\n\n(which is unsigned for performance reasons)\n\nSo revert:\n\n # c300ba2: sched_clock: and multiplier for TSC to gtod drift\n # c0c8773: sched_clock: only update deltas with local reads.\n # af52a90: sched_clock: stop maximum check on NO HZ\n # f7cce27: sched_clock: widen the max and min time\n\nThis solves the interactivity problems.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    }
  ],
  "next": "f718cd4add5aea9d379faff92f162571e356cc5f"
}
