)]}'
{
  "log": [
    {
      "commit": "1871e52c76dd95895caeb772f845a1718dcbcd75",
      "tree": "49e8148326f65353e673204f427bd4545eb26c16",
      "parents": [
        "0f5e4816dbf38ce9488e611ca2296925c1e90d5e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 29 22:34:13 2009 +0900"
      },
      "message": "percpu: make percpu symbols under kernel/ and mm/ unique\n\nThis patch updates percpu related symbols under kernel/ and mm/ such\nthat percpu symbols are unique and don\u0027t clash with local symbols.\nThis serves two purposes of decreasing the possibility of global\npercpu symbol collision and allowing dropping per_cpu__ prefix from\npercpu symbols.\n\n* kernel/lockdep.c: s/lock_stats/cpu_lock_stats/\n\n* kernel/sched.c: s/init_rq_rt/init_rt_rq_var/\t(any better idea?)\n  \t\t  s/sched_group_cpus/sched_groups/\n\n* kernel/softirq.c: s/ksoftirqd/run_ksoftirqd/a\n\n* kernel/softlockup.c: s/(*)_timestamp/softlockup_\\1_ts/\n  \t\t       s/watchdog_task/softlockup_watchdog/\n\t\t       s/timestamp/ts/ for local variables\n\n* kernel/time/timer_stats: s/lookup_lock/tstats_lookup_lock/\n\n* mm/slab.c: s/reap_work/slab_reap_work/\n  \t     s/reap_node/slab_reap_node/\n\n* mm/vmstat.c: local variable changed to avoid collision with vmstat_work\n\nPartly based on Rusty Russell\u0027s \"alloc_percpu: rename percpu vars\nwhich cause name clashes\" patch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: (slab/vmstat) Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\n"
    },
    {
      "commit": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e162b39a368f0401e41b558f430c354d12a85b37",
      "tree": "3fb7e4d48f398d62e5074e7e3dd183cc54f59820",
      "parents": [
        "c903ff837909ccada51243307d4239f86af40179"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@google.com",
        "time": "Thu Jan 15 11:08:40 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 14:06:04 2009 +0100"
      },
      "message": "softlockup: decouple hung tasks check from softlockup detection\n\nDecoupling allows:\n\n* hung tasks check to happen at very low priority\n\n* hung tasks check and softlockup to be enabled/disabled independently\n  at compile and/or run-time\n\n* individual panic settings to be enabled disabled independently\n  at compile and/or run-time\n\n* softlockup threshold to be reduced without increasing hung tasks\n  poll frequency (hung task check is expensive relative to softlock watchdog)\n\n* hung task check to be zero over-head when disabled at run-time\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "baf48f6577e581a9adb8fe849dc80e24b21d171d",
      "tree": "279e54b7374a9c52025ded4f9bb718e5382b0340",
      "parents": [
        "e4fa4c97016037620f9dc8bafe03e1086b665b4c"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@google.com",
        "time": "Mon Jan 12 21:15:17 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 14 11:48:07 2009 +0100"
      },
      "message": "softlock: fix false panic which can occur if softlockup_thresh is reduced\n\nAt run-time, if softlockup_thresh is changed to a much lower value,\ntouch_timestamp is likely to be much older than the new softlock_thresh.\n\nThis will cause a false softlockup to be detected. If softlockup_panic\nis enabled, the system will panic.\n\nThe fix is to touch all watchdogs before changing softlockup_thresh.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41c7bb9588904eb060a95bcad47bd3804a1ece25",
      "tree": "ccae4bd3cb26be171fad9e26147ef8839405f298",
      "parents": [
        "e0b582ec56f1a1d8b30ebf340a7b91fb09f26c8c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:28 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:28 2009 +1030"
      },
      "message": "cpumask: convert rest of files in kernel/\n\nImpact: Reduce stack usage, use new cpumask API.\n\nMainly changing cpumask_t to \u0027struct cpumask\u0027 and similar simple API\nconversion.  Two conversions worth mentioning:\n\n1) we use cpumask_any_but to avoid a temporary in kernel/softlockup.c,\n2) Use cpumask_var_t in taskstats_user_cmd().\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "f1fc057c79cb2d27602fb3ad08a031f13459ef27",
      "tree": "1bfa272b43e76b1abc0bf27361ad088fc5a17ba1",
      "parents": [
        "4462344ee9ea9224d026801b877887f2f39774a3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:23 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:23 2009 +1030"
      },
      "message": "cpumask: remove any_online_cpu() users: kernel/\n\nImpact: Remove obsolete API usage\n\nany_online_cpu() is a good name, but it takes a cpumask_t, not a\npointer.\n\nThere are several places where any_online_cpu() doesn\u0027t really want a\nmask arg at all.  Replace all callers with cpumask_any() and\ncpumask_any_and().\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n"
    },
    {
      "commit": "0b271ef4521756010675b1611bef20fd3096790d",
      "tree": "2c9d22a2c74122a9904e533df27f41d63ffef394",
      "parents": [
        "b19b3c74c7bbec45a848631b8f970ac110665a01",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28\u0027 into core/core\n"
    },
    {
      "commit": "201955463a5c1a70d3f70d1598b27e4c2c402642",
      "tree": "8e577f526e7ce09b5d710e1960dd5d74b6207f7c",
      "parents": [
        "02d43b1d13a0a55a75bb5c5f98d2b13dbe71ecf9"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Dec 02 22:55:38 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 03 10:11:51 2008 +0100"
      },
      "message": "check_hung_task(): unsigned sysctl_hung_task_warnings cannot be less than 0\n\nImpact: fix warnings-limit cutoff check for debug feature\n\nunsigned sysctl_hung_task_warnings cannot be less than 0\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b19b3c74c7bbec45a848631b8f970ac110665a01",
      "tree": "2966e612c7b902964cf82bedc5d9e523505228b5",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8",
        "6003ab0bad4cc56f3c4fadf62a0d23a967b9c53b",
        "42569c39917a08e8de1e8b5685463be7b74baebd",
        "7918baa555140989eeee1270f48533987d48fdba",
        "29cbda77a67cf263d636feea65d3bbc9c7de2e24",
        "2b5fe6de58276d0b5a7c884d5dbfc300ca47db78",
        "b0788caf7af773b6c2374590dabd3a205f0918a8",
        "8dd2337470d2ead6835982ed856d988f9e062140"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:44:55 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:44:55 2008 +0100"
      },
      "message": "Merge branches \u0027core/debug\u0027, \u0027core/futexes\u0027, \u0027core/locking\u0027, \u0027core/rcu\u0027, \u0027core/signal\u0027, \u0027core/urgent\u0027 and \u0027core/xen\u0027 into core/core\n"
    },
    {
      "commit": "25ddbb18aae33ad255eb9f35aacebe3af01e1e9c",
      "tree": "8df1f840a226ed640c2096710b7d0f1f4d1b88aa",
      "parents": [
        "889d51a10712b6fd6175196626de2116858394f4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Oct 15 22:01:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:31 2008 -0700"
      },
      "message": "Make the taint flags reliable\n\nIt\u0027s somewhat unlikely that it happens, but right now a race window\nbetween interrupts or machine checks or oopses could corrupt the tainted\nbitmap because it is modified in a non atomic fashion.\n\nConvert the taint variable to an unsigned long and use only atomic bit\noperations on it.\n\nUnfortunately this means the intvec sysctl functions cannot be used on it\nanymore.\n\nIt turned out the taint sysctl handler could actually be simplified a bit\n(since it only increases capabilities) so this patch actually removes\ncode.\n\n[akpm@linux-foundation.org: remove unneeded include]\nSigned-off-by: Andi Kleen \u003cak@linux.intel.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": "6003ab0bad4cc56f3c4fadf62a0d23a967b9c53b",
      "tree": "2087ca69776116b70a6af0daae9c10bfac1aa347",
      "parents": [
        "ab7476cf76e560f0efda2a631a70aabe93009025",
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 09:09:51 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 09:09:51 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/debug\n\nConflicts:\n\tlib/vsprintf.c\n\nManual merge:\n\n\tinclude/linux/kernel.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb822db465bd9fd4208eef1af4490539b236c54e",
      "tree": "b2fdd23878b0a6d082ad3e9f70ee5c0e1a96b96c",
      "parents": [
        "1b2439dbb703ae8d95a9ce7ece6b7800b80f41f0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 20 11:17:40 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 10 09:08:51 2008 +0200"
      },
      "message": "softlockup: increase hung tasks check from 2 minutes to 8 minutes\n\nAndrew says:\n\n\u003e Seems that about 100% of the reports we get of this warning triggering\n\u003e are sys_sync, transaction commit, etc.\n\nincrease the timeout. If it still triggers for people, we can kill it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbaed698f37494b30b2449b51c728ae48630cb2b",
      "tree": "470908bdfe0a5f6e5321c0e1010e80ebced701a4",
      "parents": [
        "6781f4ae30bbb8ebf31187b3c9304be16966f5a0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sat Aug 30 21:08:40 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 10:49:51 2008 -0700"
      },
      "message": "softlockup: minor cleanup, don\u0027t check task-\u003estate twice\n\nThe recent commit 16d9679f33caf7e683471647d1472bfe133d858 changed\ncheck_hung_task() to filter out the TASK_KILLABLE tasks. We can\nmove this check to the caller which has to test t-\u003estate anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\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": "7babe8db99d305340cf4828ce1f5a1481d5622ef",
      "tree": "fdac7a084646bb6d125ebc62b0b75806e45d1025",
      "parents": [
        "c2147a5092cfe13dbf3210e54e8a622015edeecc"
      ],
      "author": {
        "name": "Eduard - Gabriel Munteanu",
        "email": "eduard.munteanu@linux360.ro",
        "time": "Fri Jul 25 19:45:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:04 2008 -0700"
      },
      "message": "Full conversion to early_initcall() interface, remove old interface\n\nA previous patch added the early_initcall(), to allow a cleaner hooking of\npre-SMP initcalls.  Now we remove the older interface, converting all\nexisting users to the new one.\n\n[akpm@linux-foundation.org: cleanups]\n[akpm@linux-foundation.org: build fix]\n[kosaki.motohiro@jp.fujitsu.com: warning fix]\n[kosaki.motohiro@jp.fujitsu.com: warning fix]\nSigned-off-by: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e2f69fdd1b00166e7d589bce56b2d36a9e74374",
      "tree": "005f716dfaf10d91a917a42bfbce3d0b05aec32e",
      "parents": [
        "dd7a1e5615b1719c0fdffee1ea5a7820ac8141a6"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Tue Jul 01 09:12:04 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 01 09:22:49 2008 +0200"
      },
      "message": "softlockup: fix watchdog task wakeup frequency\n\nThe print_timestamp can never be bigger than the touch_timestamp, at\nmaximum it can be equal.  And if it is, the second check for\ntouch_timestamp + 1 bigger print_timestamp is always true, too.\n\nThe check for equality is sufficient as we proceed in one-second-steps\nand are at least one second away from the last print-out if we have\nanother timestamp.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dd7a1e5615b1719c0fdffee1ea5a7820ac8141a6",
      "tree": "eecc48d905d53ee4e8b71cb2b88c0651c76922a4",
      "parents": [
        "8d5be7f4e8515af461cbc8f07687ccc81507d508"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@saeurebad.de",
        "time": "Fri Jun 27 15:07:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 30 15:03:08 2008 +0200"
      },
      "message": "softlockup: fix watchdog task wakeup frequency\n\nUpdating the timestamp more often is pointless as we print the warnings\nonly if we exceed the threshold.  And the check for hung tasks relies on\nthe last timestamp, so it will keep working correctly, too.\n\nSigned-off-by: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8d5be7f4e8515af461cbc8f07687ccc81507d508",
      "tree": "7a833e09cff0e98747eb6c3d6046ea36c4e3b2f7",
      "parents": [
        "c7e745c6de92a757ec525fbc9a74891651a5f1c6"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Wed Jun 25 08:50:10 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 17:49:48 2008 +0200"
      },
      "message": "softlockup: show irqtrace\n\nThis patch adds some information about when interrupts were last\nenabled and disabled to the output of the softlockup detector.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Johannes Weiner \u003channes@saeurebad.de\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "688c91755dc3d3c03d8c67c1df13c02be258768e",
      "tree": "e4966149b15a7ae21da1aa7a448ed57c342440f3",
      "parents": [
        "8bbd54d69e9c66adbf544e21d8dcfb15fb9198f7"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jun 16 15:51:08 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 18 15:26:54 2008 +0200"
      },
      "message": "softlockup: print a module list on being stuck\n\nMost places in the kernel that go BUG: print a module list\n(which is very useful for doing statistics and finding patterns),\nhowever the softlockup detector does not do this yet.\n\nThis patch adds the one line change to fix this gap.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c2238eaaf0f774ca0f8d9daad7a616429bbb7f1",
      "tree": "5da9c1af587558a7a6481cdd6efc67956e950a74",
      "parents": [
        "02ff375590ac4140d88afc76505df1ad45c6af59"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue May 27 12:23:29 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 02 12:38:27 2008 +0200"
      },
      "message": "softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n\nThe touch_nmi_watchdog() routine on x86 ultimately calls\ntouch_softlockup_watchdog().  The problem is that to touch the\nsoftlockup watchdog, the cpu_clock code has to be called which could\ninvolve multiple cpu locks and can lead to a hard hang if one of the\nlocks is held by a processor that is not going to return anytime soon\n(such as could be the case with kgdb or perhaps even with some other\nkind of exception).\n\nThis patch causes the public version of the\ntouch_softlockup_watchdog() to defer the cpu clock access to a later\npoint.\n\nThe test case for this problem is to use the following kernel config\noptions:\n\nCONFIG_KGDB_TESTS\u003dy\nCONFIG_KGDB_TESTS_ON_BOOT\u003dy\nCONFIG_KGDB_TESTS_BOOT_STRING\u003d\"V1F100I100000\"\n\nIt should be noted that kgdb test suite and these options were not\navailable until 2.6.26-rc2, so it was necessary to patch the kgdb\ntest suite during the bisection.\n\nI would consider this patch a regression fix because the problem first\nappeared in commit 27ec4407790d075c325e1f4da0a19c56953cce23 when some\nlogic was added to try to periodically sync the clocks.  It was\npossible to work around this particular problem by simply not\nperforming the sync anytime the system was in a critical context.\nThis was ok until commit 3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd,\nwhich added config option CONFIG_HAVE_UNSTABLE_SCHED_CLOCK and some\nmulti-cpu locks to sync the clocks.  It became clear that accessing\nthis code from an nmi was the source of the lockups.  Avoiding the\naccess to the low level clock code from an code inside the NMI\nprocessing also fixed the problem with the 27ec44... commit.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9383d9679056e6cc4e7ff70f31da945a268238f4",
      "tree": "c6678a8c4e0fed0739e43f24b608d51856af6f1f",
      "parents": [
        "9c44bc03fff44ff04237a7d92e35304a0e50c331"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Mon May 12 21:21:14 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 06:35:03 2008 +0200"
      },
      "message": "softlockup: fix softlockup_thresh unaligned access and disable detection at runtime\n\nFix unaligned access errors when setting softlockup_thresh on\n64 bit platforms.\n\nAllow softlockup detection to be disabled by setting\nsoftlockup_thresh \u003c\u003d 0.\n\nDetect that boot time softlockup detection has been disabled\nearlier in softlockup_tick.\n\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9c44bc03fff44ff04237a7d92e35304a0e50c331",
      "tree": "64704ff78933a3a3bd8549801308d0557c02980d",
      "parents": [
        "75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 21:21:04 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 06:34:44 2008 +0200"
      },
      "message": "softlockup: allow panic on lockup\n\nallow users to configure the softlockup detector to generate a panic\ninstead of a warning message.\n\nhigh-availability systems might opt for this strict method (combined\nwith panic_timeout\u003d boot option/sysctl), instead of generating\nsoftlockup warnings ad infinitum.\n\nalso, automated tests work better if the system reboots reliably (into\na safe kernel) in case of a lockup.\n\nThe full spectrum of configurability is supported: boot option, sysctl\noption and Kconfig option.\n\nit\u0027s default-disabled.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7be2a03e3174cee3a3cdcdf17db357470f51caff",
      "tree": "fcc341251c8fcab1b950d7bda25de9ca09fc5363",
      "parents": [
        "2232c2d8e0a6a31061dec311f3d1cf7624bc14f1"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Fri Feb 08 15:41:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 29 18:46:53 2008 +0100"
      },
      "message": "softlockup: fix task state setting\n\nkthread_stop() can be called when a \u0027watchdog\u0027 thread is executing after\nkthread_should_stop() but before set_task_state(TASK_INTERRUPTIBLE).\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed50d6cbc394cd0966469d3e249353c9dd1d38b9",
      "tree": "8df8f5d8b4ce057bf0df7ee2996603fdd18e0e7e",
      "parents": [
        "aa6299926950c8dfe2fea638276cad6def092bc9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Feb 02 00:23:08 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:27:45 2008 +1100"
      },
      "message": "debug: softlockup looping fix\n\nRafael J. Wysocki reported weird, multi-seconds delays during\nsuspend/resume and bisected it back to:\n\n  commit 82a1fcb90287052aabfa235e7ffc693ea003fe69\n  Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n  Date:   Fri Jan 25 21:08:02 2008 +0100\n\n      softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks\n\nfix it:\n\n - restore the old wakeup mechanism\n - fix break usage in do_each_thread() { } while_each_thread().\n - fix the hotplug switch stmt, a fall-through case was broken.\n\nBisected-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90739081ef8d5495d50abba9c5d333be9acd872a",
      "tree": "37dc5c626940a4bad6d9ffad81b7be12dc44f054",
      "parents": [
        "9745512ce79de686df354dc70a8d1a74d801892d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "softlockup: fix signedness\n\nfix softlockup tunables signedness.\n\nmark tunables read-mostly.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "82a1fcb90287052aabfa235e7ffc693ea003fe69",
      "tree": "826b464a248bebe259fe787f7b8d17d5626cf2c5",
      "parents": [
        "d0d23b5432fe61229dd3641c5e94d4130bc4e61b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:02 2008 +0100"
      },
      "message": "softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks\n\nthis patch extends the soft-lockup detector to automatically\ndetect hung TASK_UNINTERRUPTIBLE tasks. Such hung tasks are\nprinted the following way:\n\n ------------------\u003e\n INFO: task prctl:3042 blocked for more than 120 seconds.\n \"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message\n prctl         D fd5e3793     0  3042   2997\n        f6050f38 00000046 00000001 fd5e3793 00000009 c06d8264 c06dae80 00000286\n        f6050f40 f6050f00 f7d34d90 f7d34fc8 c1e1be80 00000001 f6050000 00000000\n        f7e92d00 00000286 f6050f18 c0489d1a f6050f40 00006605 00000000 c0133a5b\n Call Trace:\n  [\u003cc04883a5\u003e] schedule_timeout+0x6d/0x8b\n  [\u003cc04883d8\u003e] schedule_timeout_uninterruptible+0x15/0x17\n  [\u003cc0133a76\u003e] msleep+0x10/0x16\n  [\u003cc0138974\u003e] sys_prctl+0x30/0x1e2\n  [\u003cc0104c52\u003e] sysenter_past_esp+0x5f/0xa5\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n 2 locks held by prctl/3042:\n #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#5){--..}, at: [\u003cc0197d11\u003e] do_fsync+0x38/0x7a\n #1:  (jbd_handle){--..}, at: [\u003cc01ca3d2\u003e] journal_start+0xc7/0xe9\n \u003c------------------\n\nthe current default timeout is 120 seconds. Such messages are printed\nup to 10 times per bootup. If the system has crashed already then the\nmessages are not printed.\n\nif lockdep is enabled then all held locks are printed as well.\n\nthis feature is a natural extension to the softlockup-detector (kernel\nlocked up without scheduling) and to the NMI watchdog (kernel locked up\nwith IRQs disabled).\n\n[ Gautham R Shenoy \u003cego@in.ibm.com\u003e: CPU hotplug fixes. ]\n[ Andrew Morton \u003cakpm@linux-foundation.org\u003e: build warning fix. ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4f3b63fe15b4629aa1ec163c95ab30423d0f76a",
      "tree": "432723f1c7ac2fcff0aa57377c31187140d69145",
      "parents": [
        "a5f2ce3c6024a5bb895647b6bd88ecae5001020a"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Tue Oct 16 23:26:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "softlockup: add a /proc tuning parameter\n\nControl the trigger limit for softlockup warnings.  This is useful for\ndebugging softlockups, by lowering the softlockup_thresh to identify\npossible softlockups earlier.\n\nThis patch:\n1. Adds a sysctl softlockup_thresh with valid values of 1-60s\n   (Higher value to disable false positives)\n2. Changes the softlockup printk to print the cpu softlockup time\n\n[akpm@linux-foundation.org: Fix various warnings and add definition of \"two\"]\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nAcked-by: 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": "a5f2ce3c6024a5bb895647b6bd88ecae5001020a",
      "tree": "10bb864bc252489ce6c7070796a6e7966982bb23",
      "parents": [
        "43581a10075492445f65234384210492ff333eba"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 16 23:26:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "softlockup watchdog: style cleanups\n\nkernel/softirq.c grew a few style uncleanlinesses in the past few\nmonths, clean that up. No functional changes:\n\n   text    data     bss     dec     hex filename\n   1126      76       4    1206     4b6 softlockup.o.before\n   1129      76       4    1209     4b9 softlockup.o.after\n\n( the 3 bytes .text increase is due to the \"\u003c1\u003e\" appended to one of\n  the printk messages. )\n\nSigned-off-by: 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": "43581a10075492445f65234384210492ff333eba",
      "tree": "2bcec45ff17207f57f8c4f4744b22411d1aeae6c",
      "parents": [
        "ad3b82795f3f6e641081790409a051312622f2a6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 16 23:26:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "softlockup: improve debug output\n\nImprove the debuggability of kernel lockups by enhancing the debug\noutput of the softlockup detector: print the task that causes the lockup\nand try to print a more intelligent backtrace.\n\nThe old format was:\n\n  BUG: soft lockup detected on CPU#1!\n   [\u003cc0105e4a\u003e] show_trace_log_lvl+0x19/0x2e\n   [\u003cc0105f43\u003e] show_trace+0x12/0x14\n   [\u003cc0105f59\u003e] dump_stack+0x14/0x16\n   [\u003cc015f6bc\u003e] softlockup_tick+0xbe/0xd0\n   [\u003cc013457d\u003e] run_local_timers+0x12/0x14\n   [\u003cc01346b8\u003e] update_process_times+0x3e/0x63\n   [\u003cc0145fb8\u003e] tick_sched_timer+0x7c/0xc0\n   [\u003cc0140a75\u003e] hrtimer_interrupt+0x135/0x1ba\n   [\u003cc011bde7\u003e] smp_apic_timer_interrupt+0x6e/0x80\n   [\u003cc0105aa3\u003e] apic_timer_interrupt+0x33/0x38\n   [\u003cc0104f8a\u003e] syscall_call+0x7/0xb\n   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe new format is:\n\n  BUG: soft lockup detected on CPU#1! [prctl:2363]\n\n  Pid: 2363, comm:                prctl\n  EIP: 0060:[\u003cc013915f\u003e] CPU: 1\n  EIP is at sys_prctl+0x24/0x18c\n   EFLAGS: 00000213    Not tainted  (2.6.22-cfs-v20 #26)\n  EAX: 00000001 EBX: 000003e7 ECX: 00000001 EDX: f6df0000\n  ESI: 000003e7 EDI: 000003e7 EBP: f6df0fb0 DS: 007b ES: 007b FS: 00d8\n  CR0: 8005003b CR2: 4d8c3340 CR3: 3731d000 CR4: 000006d0\n   [\u003cc0105e4a\u003e] show_trace_log_lvl+0x19/0x2e\n   [\u003cc0105f43\u003e] show_trace+0x12/0x14\n   [\u003cc01040be\u003e] show_regs+0x1ab/0x1b3\n   [\u003cc015f807\u003e] softlockup_tick+0xef/0x108\n   [\u003cc013457d\u003e] run_local_timers+0x12/0x14\n   [\u003cc01346b8\u003e] update_process_times+0x3e/0x63\n   [\u003cc0145fcc\u003e] tick_sched_timer+0x7c/0xc0\n   [\u003cc0140a89\u003e] hrtimer_interrupt+0x135/0x1ba\n   [\u003cc011bde7\u003e] smp_apic_timer_interrupt+0x6e/0x80\n   [\u003cc0105aa3\u003e] apic_timer_interrupt+0x33/0x38\n   [\u003cc0104f8a\u003e] syscall_call+0x7/0xb\n   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nNote that in the old format we only knew that some system call locked\nup, we didnt know _which_. With the new format we know that it\u0027s at a\nspecific place in sys_prctl(). [which was where i created an artificial\nkernel lockup to test the new format.]\n\nThis is also useful if the lockup happens in user-space - the user-space\nEIP (and other registers) will be printed too. (such a lockup would\neither suggest that the task was running at SCHED_FIFO:99 and looping\nfor more than 10 seconds, or that the softlockup detector has a\nfalse-positive.)\n\nThe task name is printed too first, just in case we dont manage to print\na useful backtrace.\n\n[satyam@infradead.org: fix warning]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a115d5caca1a2905ba7a32b408a6042b20179aaa",
      "tree": "fe79f98f103d0d8776ca7971882e9c21753ae67f",
      "parents": [
        "a3b13c23f186ecb57204580cc1f2dbe9c284953a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 16 23:26:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "fix the softlockup watchdog to actually work\n\nthis Xen related commit:\n\n   commit 966812dc98e6a7fcdf759cbfa0efab77500a8868\n   Author: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\n   Date:   Tue May 8 00:28:02 2007 -0700\n\n       Ignore stolen time in the softlockup watchdog\n\nbroke the softlockup watchdog to never report any lockups. (!)\n\nprint_timestamp defaults to 0, this makes the following condition\nalways true:\n\n\tif (print_timestamp \u003c (touch_timestamp + 1) ||\n\nand we\u0027ll in essence never report soft lockups.\n\napparently the functionality of the soft lockup watchdog was never\nactually tested with that patch applied ...\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3b13c23f186ecb57204580cc1f2dbe9c284953a",
      "tree": "7f7b1de1c0c7e45b6dfc91b1d09639aaf1051291",
      "parents": [
        "3806204ca9017a2cf2d849430f26e2b62666f5b2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 16 23:26:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:46 2007 -0700"
      },
      "message": "softlockup: use cpu_clock() instead of sched_clock()\n\nsched_clock() is not a reliable time-source, use cpu_clock() instead.\n\nSigned-off-by: 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": "831441862956fffa17b9801db37e6ea1650b0f69",
      "tree": "b0334921341f8f1734bdd3243de76d676329d21c",
      "parents": [
        "787d2214c19bcc9b6ac48af0ce098277a801eded"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 17 04:03:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Freezer: make kernel threads nonfreezable by default\n\nCurrently, the freezer treats all tasks as freezable, except for the kernel\nthreads that explicitly set the PF_NOFREEZE flag for themselves.  This\napproach is problematic, since it requires every kernel thread to either\nset PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn\u0027t\ncare for the freezing of tasks at all.\n\nIt seems better to only require the kernel threads that want to or need to\nbe frozen to use some freezer-related code and to remove any\nfreezer-related code from the other (nonfreezable) kernel threads, which is\ndone in this patch.\n\nThe patch causes all kernel threads to be nonfreezable by default (ie.  to\nhave PF_NOFREEZE set by default) and introduces the set_freezable()\nfunction that should be called by the freezable kernel threads in order to\nunset PF_NOFREEZE.  It also makes all of the currently freezable kernel\nthreads call set_freezable(), so it shouldn\u0027t cause any (intentional)\nchange of behaviour to appear.  Additionally, it updates documentation to\ndescribe the freezing of tasks more accurately.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.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": "8bb7844286fb8c9fce6f65d8288aeb09d03a5e0d",
      "tree": "f4e305edaedbde05774bb1e4acd89a9475661d2e",
      "parents": [
        "f37bc2712b54ec641e0c0c8634f1a4b61d9956c0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 09 02:35:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Add suspend-related notifications for CPU hotplug\n\nSince nonboot CPUs are now disabled after tasks and devices have been\nfrozen and the CPU hotplug infrastructure is used for this purpose, we need\nspecial CPU hotplug notifications that will help the CPU-hotplug-aware\nsubsystems distinguish normal CPU hotplug events from CPU hotplug events\nrelated to a system-wide suspend or resume operation in progress.  This\npatch introduces such notifications and causes them to be used during\nsuspend and resume transitions.  It also changes all of the\nCPU-hotplug-aware subsystems to take these notifications into consideration\n(for now they are handled in the same way as the corresponding \"normal\"\nones).\n\n[oleg@tv-sign.ru: cleanups]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04c9167f91e309c9c4ea982992aa08e83b2eb42e",
      "tree": "b15e7bed8eb2e22e96971bbe3156a00683c70909",
      "parents": [
        "966812dc98e6a7fcdf759cbfa0efab77500a8868"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 08 00:28:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:06 2007 -0700"
      },
      "message": "add touch_all_softlockup_watchdogs()\n\nAdd touch_all_softlockup_watchdogs() to allow the softlockup watchdog\ntimers on all cpus to be updated.  This is used to prevent sysrq-t from\ngenerating a spurious watchdog message when generating lots of output.\n\nSoftlockup watchdogs use sched_clock() as its timebase, which is inherently\nper-cpu (at least, when it is measuring unstolen time).  Because of this,\nit isn\u0027t possible for one CPU to directly update the other CPU\u0027s timers,\nbut it is possible to tell the other CPUs to do update themselves\nappropriately.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nAcked-by: Chris Lalancette \u003cclalance@redhat.com\u003e\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Rick Lindsley \u003cricklind@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "966812dc98e6a7fcdf759cbfa0efab77500a8868",
      "tree": "47e38e3c866f1855962e212e6e11f2ab656df710",
      "parents": [
        "8524070b7982d76258942275908b7434cfcab4b4"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue May 08 00:28:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:06 2007 -0700"
      },
      "message": "Ignore stolen time in the softlockup watchdog\n\nThe softlockup watchdog is currently a nuisance in a virtual machine, since\nthe whole system could have the CPU stolen from it for a long period of\ntime.  While it would be unlikely for a guest domain to be denied timer\ninterrupts for over 10s, it could happen and any softlockup message would\nbe completely spurious.\n\nEarlier I proposed that sched_clock() return time in unstolen nanoseconds,\nwhich is how Xen and VMI currently implement it.  If the softlockup\nwatchdog uses sched_clock() to measure time, it would automatically ignore\nstolen time, and therefore only report when the guest itself locked up.\nWhen running native, sched_clock() returns real-time nanoseconds, so the\nbehaviour would be unchanged.\n\nNote that sched_clock() used this way is inherently per-cpu, so this patch\nmakes sure that the per-processor watchdog thread initialized its own\ntimestamp.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Dan Hecht \u003cdhecht@vmware.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Chris Lalancette \u003cclalance@redhat.com\u003e\nCc: Rick Lindsley \u003cricklind@us.ibm.com\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02fb6149f7a64c62934c035e7635321cb9a8cf2e",
      "tree": "c8c3b57296c49961382ea0bc6c82aab4da1f2c48",
      "parents": [
        "1065d130dddc3241706c50a01ced7b03bcb657be"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue May 08 00:24:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:59 2007 -0700"
      },
      "message": "softlockup: s/99/MAX_RT_PRIO/\n\nDon\u0027t use hardcoded 99 value, use MAX_RT_PRIO.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\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": "07dccf3344010f9b9df7fe725da7e73bca2992df",
      "tree": "696730ef4e1bf85a24eac84713921746f74c7c10",
      "parents": [
        "6c2d8b5dcad468cb0bdec3368b53383bde51e487"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Fri Sep 29 02:00:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:14 2006 -0700"
      },
      "message": "[PATCH] check return value of cpu_callback\n\nSpawing ksoftirqd, migration, or watchdog, and calling init_timers_cpu()\nmay fail with small memory.  If it happens in initcalls, kernel NULL\npointer dereference happens later.  This patch makes crash happen\nimmediately in such cases.  It seems a bit better than getting kernel NULL\npointer dereference later.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c78f3075dab4be279e283f901f00e33ce44890a",
      "tree": "034d667a713b24d39608b09bd2aafb7983fb6ba5",
      "parents": [
        "cea6a4ba8acfba6f59cc9ed71e0d05cb770b9d9c"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Sun Jul 30 03:03:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:39 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: replace __devinit* with __cpuinit* for cpu notifications\n\nFew of the callback functions and notifier blocks that are associated with cpu\nnotifications incorrectly have __devinit and __devinitdata.  They should be\n__cpuinit and __cpuinitdata instead.\n\nIt makes no functional difference but wastes text area when CONFIG_HOTPLUG is\nenabled and CONFIG_HOTPLUG_CPU is not.\n\nThis patch fixes all those instances.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "054cc8a2d808822dadf488a61729e3e550f114c4",
      "tree": "da7e5ecce06d1898263da9b47714b0b0fa972397",
      "parents": [
        "9c7b216d23e820e0e148d5be01bbb5bd2d8378fe"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: revert initdata patch submitted for 2.6.17\n\nThis patch reverts notifier_block changes made in 2.6.17\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c7b216d23e820e0e148d5be01bbb5bd2d8378fe",
      "tree": "53e6c1e4870db49b4999b4053862d3f63375773f",
      "parents": [
        "6ac12dfe9c2027cd3c5ed603f11d1bb4f04906fe"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:40 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: revert init patch submitted for 2.6.17\n\nIn 2.6.17, there was a problem with cpu_notifiers and XFS.  I provided a\nband-aid solution to solve that problem.  In the process, i undid all the\nchanges you both were making to ensure that these notifiers were available\nonly at init time (unless CONFIG_HOTPLUG_CPU is defined).\n\nWe deferred the real fix to 2.6.18.  Here is a set of patches that fixes the\nXFS problem cleanly and makes the cpu notifiers available only at init time\n(unless CONFIG_HOTPLUG_CPU is defined).\n\nIf CONFIG_HOTPLUG_CPU is defined then cpu notifiers are available at run\ntime.\n\nThis patch reverts the notifier_call changes made in 2.6.17\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fc75cdfa5b43ac4d3232b490800cd35063adafd3",
      "tree": "0529ffd9633667457d5340a09b3cb352d09436d2",
      "parents": [
        "04a3446c90137a473837288b04b517b19dc67a0d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun Jun 25 05:49:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:22 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: fix CPU_UP_CANCEL handling\n\nIf a cpu hotplug callback fails on CPU_UP_PREPARE, all callbacks will be\ncalled with CPU_UP_CANCELED.  A few of these callbacks assume that on\nCPU_UP_PREPARE a pointer to task has been stored in a percpu array.  This\nassumption is not true if CPU_UP_PREPARE fails and the following calls to\nkthread_bind() in CPU_UP_CANCELED will cause an addressing exception\nbecause of passing a NULL pointer.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfe5d834195b3089b8846577311340376cc0f450",
      "tree": "52470de0fe87ff8372700e3472735cd5c14cee9d",
      "parents": [
        "6ceab8a936c302c0cea2bfe55617c76e2f5746fa"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Jun 25 05:47:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] Define __raw_get_cpu_var and use it\n\nThere are several instances of per_cpu(foo, raw_smp_processor_id()), which\nis semantically equivalent to __get_cpu_var(foo) but without the warning\nthat smp_processor_id() can give if CONFIG_DEBUG_PREEMPT is enabled.  For\nthose architectures with optimized per-cpu implementations, namely ia64,\npowerpc, s390, sparc64 and x86_64, per_cpu() turns into more and slower\ncode than __get_cpu_var(), so it would be preferable to use __get_cpu_var\non those platforms.\n\nThis defines a __raw_get_cpu_var(x) macro which turns into per_cpu(x,\nraw_smp_processor_id()) on architectures that use the generic per-cpu\nimplementation, and turns into __get_cpu_var(x) on the architectures that\nhave an optimized per-cpu implementation.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83d722f7e198b034699b1500d98729beff930efd",
      "tree": "7d790a2fd62165373ec7bacde704837288e0bec3",
      "parents": [
        "649bbaa484bcdce94f40a1b97a6a2ded0549e8a2"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Mon Apr 24 19:35:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 08:30:03 2006 -0700"
      },
      "message": "[PATCH] Remove __devinit and __cpuinit from notifier_call definitions\n\nFew of the notifier_chain_register() callers use __init in the definition\nof notifier_call.  It is incorrect as the function definition should be\navailable after the initializations (they do not unregister them during\ninitializations).\n\nThis patch fixes all such usages to _not_ have the notifier_call __init\nsection.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "649bbaa484bcdce94f40a1b97a6a2ded0549e8a2",
      "tree": "f24f05bf95ae9c4164266da87f36fed61c5c2206",
      "parents": [
        "e7edf9cdeddc0cff125e8e658216efb2ff2b2219"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Mon Apr 24 19:35:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 08:27:50 2006 -0700"
      },
      "message": "[PATCH] Remove __devinitdata from notifier block definitions\n\nFew of the notifier_chain_register() callers use __devinitdata in the\ndefinition of notifier_block data structure.  It is incorrect as the\ndata structure should be available after the initializations (they do\nnot unregister them during initializations).\n\nThis was leading to an oops when notifier_chain_register() call is\ninvoked for those callback chains after initialization.\n\nThis patch fixes all such usages to _not_ have the notifier_block data\nstructure in the init data section.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e041c683412d5bf44dc2b109053e3b837b71742d",
      "tree": "9d271066ef379da0c0fb3b8cb4137abd5d2ebba0",
      "parents": [
        "76b81e2b0e2241accebcc68e126bc5ab958661b9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Mar 27 01:16:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:50 2006 -0800"
      },
      "message": "[PATCH] Notifier chain update: API changes\n\nThe kernel\u0027s implementation of notifier chains is unsafe.  There is no\nprotection against entries being added to or removed from a chain while the\nchain is in use.  The issues were discussed in this thread:\n\n    http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113018709002036\u0026w\u003d2\n\nWe noticed that notifier chains in the kernel fall into two basic usage\nclasses:\n\n\t\"Blocking\" chains are always called from a process context\n\tand the callout routines are allowed to sleep;\n\n\t\"Atomic\" chains can be called from an atomic context and\n\tthe callout routines are not allowed to sleep.\n\nWe decided to codify this distinction and make it part of the API.  Therefore\nthis set of patches introduces three new, parallel APIs: one for blocking\nnotifiers, one for atomic notifiers, and one for \"raw\" notifiers (which is\nreally just the old API under a new name).  New kinds of data structures are\nused for the heads of the chains, and new routines are defined for\nregistration, unregistration, and calling a chain.  The three APIs are\nexplained in include/linux/notifier.h and their implementation is in\nkernel/sys.c.\n\nWith atomic and blocking chains, the implementation guarantees that the chain\nlinks will not be corrupted and that chain callers will not get messed up by\nentries being added or removed.  For raw chains the implementation provides no\nguarantees at all; users of this API must provide their own protections.  (The\nidea was that situations may come up where the assumptions of the atomic and\nblocking APIs are not appropriate, so it should be possible for users to\nhandle these things in their own way.)\n\nThere are some limitations, which should not be too hard to live with.  For\natomic/blocking chains, registration and unregistration must always be done in\na process context since the chain is protected by a mutex/rwsem.  Also, a\ncallout routine for a non-raw chain must not try to register or unregister\nentries on its own chain.  (This did happen in a couple of places and the code\nhad to be changed to avoid it.)\n\nSince atomic chains may be called from within an NMI handler, they cannot use\nspinlocks for synchronization.  Instead we use RCU.  The overhead falls almost\nentirely in the unregister routine, which is okay since unregistration is much\nless frequent that calling a chain.\n\nHere is the list of chains that we adjusted and their classifications.  None\nof them use the raw API, so for the moment it is only a placeholder.\n\n  ATOMIC CHAINS\n  -------------\narch/i386/kernel/traps.c:\t\ti386die_chain\narch/ia64/kernel/traps.c:\t\tia64die_chain\narch/powerpc/kernel/traps.c:\t\tpowerpc_die_chain\narch/sparc64/kernel/traps.c:\t\tsparc64die_chain\narch/x86_64/kernel/traps.c:\t\tdie_chain\ndrivers/char/ipmi/ipmi_si_intf.c:\txaction_notifier_list\nkernel/panic.c:\t\t\t\tpanic_notifier_list\nkernel/profile.c:\t\t\ttask_free_notifier\nnet/bluetooth/hci_core.c:\t\thci_notifier\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_chain\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_expect_chain\nnet/ipv6/addrconf.c:\t\t\tinet6addr_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_expect_chain\nnet/netlink/af_netlink.c:\t\tnetlink_chain\n\n  BLOCKING CHAINS\n  ---------------\narch/powerpc/platforms/pseries/reconfig.c:\tpSeries_reconfig_chain\narch/s390/kernel/process.c:\t\tidle_chain\narch/x86_64/kernel/process.c\t\tidle_notifier\ndrivers/base/memory.c:\t\t\tmemory_chain\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_policy_notifier_list\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_transition_notifier_list\ndrivers/macintosh/adb.c:\t\tadb_client_list\ndrivers/macintosh/via-pmu.c\t\tsleep_notifier_list\ndrivers/macintosh/via-pmu68k.c\t\tsleep_notifier_list\ndrivers/macintosh/windfarm_core.c\twf_client_list\ndrivers/usb/core/notify.c\t\tusb_notifier_list\ndrivers/video/fbmem.c\t\t\tfb_notifier_list\nkernel/cpu.c\t\t\t\tcpu_chain\nkernel/module.c\t\t\t\tmodule_notify_list\nkernel/profile.c\t\t\tmunmap_notifier\nkernel/profile.c\t\t\ttask_exit_notifier\nkernel/sys.c\t\t\t\treboot_notifier_list\nnet/core/dev.c\t\t\t\tnetdev_chain\nnet/decnet/dn_dev.c:\t\t\tdnaddr_chain\nnet/ipv4/devinet.c:\t\t\tinetaddr_chain\n\nIt\u0027s possible that some of these classifications are wrong.  If they are,\nplease let us know or submit a patch to fix them.  Note that any chain that\ngets called very frequently should be atomic, because the rwsem read-locking\nused for blocking chains is very likely to incur cache misses on SMP systems.\n(However, if the chain\u0027s callout routines may sleep then the chain cannot be\natomic.)\n\nThe patch set was written by Alan Stern and Chandra Seetharaman, incorporating\nmaterial written by Keith Owens and suggestions from Paul McKenney and Andrew\nMorton.\n\n[jes@sgi.com: restructure the notifier chain initialization macros]\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "185ae6d7a32721e9062030a9f2d24ed714fa45df",
      "tree": "0b58171078097f6a4e80c56e138d654a2d68a188",
      "parents": [
        "bc83455bc8336f57cd74d6e86b0f8fcad187d179"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:06:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:48 2006 -0800"
      },
      "message": "[PATCH] timer irq driven soft watchdog fix\n\nI seem to have lost this hunk in yesterday\u0027s patch.  It brings the\ncoming-online CPU\u0027s softlockup timer up to date so we don\u0027t get false-positive\ntripups during CPU hot-add.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6687a97d4041f996f725902d2990e5de6ef5cbe5",
      "tree": "6ab982091cde7179d94cf592f9c669fd22d93a23",
      "parents": [
        "6a4d11c2abc57ed7ca42041e5f68ae4f7f640a81"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 24 03:18:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:30 2006 -0800"
      },
      "message": "[PATCH] timer-irq-driven soft-watchdog, cleanups\n\nMake the softlockup detector purely timer-interrupt driven, removing\nsoftirq-context (timer) dependencies.  This means that if the softlockup\nwatchdog triggers, it has truly observed a longer than 10 seconds\nscheduling delay of a SCHED_FIFO prio 99 task.\n\n(the patch also turns off the softlockup detector during the initial bootup\nphase and does small style fixes)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3aef1bde147a503aacb59b767826720a996aea6d",
      "tree": "c736d4433a21e7564fff7062fea651e3fd1bc820",
      "parents": [
        "90d45d17f3e68608ac7ba8fc3d7acce022a19c8e"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Nov 08 21:34:25 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:55:50 2005 -0800"
      },
      "message": "[PATCH] quieten softlockup at boot\n\nOn a large SMP box we get a lot of softlockup thread XX started lines.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a4c4af7c8dc1eccdfb8c57e1684f08179b4407e6",
      "tree": "210773f292da3ba85818402f1945ee7b14ba8c71",
      "parents": [
        "cc658cfe3c66a6124b5a8db90cdcdd440201b1dc"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Nov 07 00:58:38 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:29 2005 -0800"
      },
      "message": "[PATCH] cpu hoptlug: avoid usage of smp_processor_id() in preemptible code\n\nReplace smp_processor_id() with any_online_cpu(cpu_online_map) in order to\navoid lots of \"BUG: using smp_processor_id() in preemptible [00000001]\ncode:...\" messages in case taking a cpu online fails.\n\nAll the traces start at the last notifier_call_chain(...) in kernel/cpu.c.\nSince we hold the cpu_control semaphore it shouldn\u0027t be any problem to access\ncpu_online_map.\n\nThe reason why cpu_up failed is simply that the cpu that was supposed to be\ntaken online wasn\u0027t even there.  That is because on s390 we never know when a\nnew cpu comes and therefore cpu_possible_map consists of only ones and doesn\u0027t\nreflect reality.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8446f1d391f3d27e6bf9c43d4cbcdac0ca720417",
      "tree": "738853af877c9a391b4f2db467e7f90c6e2e38ed",
      "parents": [
        "4732efbeb997189d9f9b04708dc26bf8613ed721"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 06 15:16:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:17 2005 -0700"
      },
      "message": "[PATCH] detect soft lockups\n\nThis patch adds a new kernel debug feature: CONFIG_DETECT_SOFTLOCKUP.\n\nWhen enabled then per-CPU watchdog threads are started, which try to run\nonce per second.  If they get delayed for more than 10 seconds then a\ncallback from the timer interrupt detects this condition and prints out a\nwarning message and a stack dump (once per lockup incident).  The feature\nis otherwise non-intrusive, it doesnt try to unlock the box in any way, it\nonly gets the debug info out, automatically, and on all CPUs affected by\nthe lockup.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-Off-By: Matthias Urlichs \u003csmurf@smurf.noris.de\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
