)]}'
{
  "log": [
    {
      "commit": "3935e89505a1c3ab3f3b0c7ef0eae54124f48905",
      "tree": "8cfa921612d9596b2baf98f23f7e797092bcaf11",
      "parents": [
        "74779e22261172ea728b989310f6ecc991b57d62"
      ],
      "author": {
        "name": "Bjørn Mork",
        "email": "bjorn@mork.no",
        "time": "Wed Dec 19 20:51:31 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 19 12:10:33 2012 -0800"
      },
      "message": "watchdog: Fix disable/enable regression\n\nCommit 8d4516904b39 (\"watchdog: Fix CPU hotplug regression\") causes an\noops or hard lockup when doing\n\n echo 0 \u003e /proc/sys/kernel/nmi_watchdog\n echo 1 \u003e /proc/sys/kernel/nmi_watchdog\n\nand the kernel is booted with nmi_watchdog\u003d1 (default)\n\nRunning laptop-mode-tools and disconnecting/connecting AC power will\ncause this to trigger, making it a common failure scenario on laptops.\n\nInstead of bailing out of watchdog_disable() when !watchdog_enabled we\ncan initialize the hrtimer regardless of watchdog_enabled status.  This\nmakes it safe to call watchdog_disable() in the nmi_watchdog\u003d0 case,\nwithout the negative effect on the enabled \u003d\u003e disabled \u003d\u003e enabled case.\n\nAll these tests pass with this patch:\n- nmi_watchdog\u003d1\n  echo 0 \u003e /proc/sys/kernel/nmi_watchdog\n  echo 1 \u003e /proc/sys/kernel/nmi_watchdog\n\n- nmi_watchdog\u003d0\n  echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n\n- nmi_watchdog\u003d0\n  echo mem \u003e /sys/power/state\n\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d51661\n\nCc: \u003cstable@vger.kernel.org\u003e # v3.7\nCc: Norbert Warmuth \u003cnwarmuth@t-online.de\u003e\nCc: Joseph Salisbury \u003cjoseph.salisbury@canonical.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Bjørn Mork \u003cbjorn@mork.no\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f34c400914f165b7b3812459be2d77b8aa1f1e4",
      "tree": "b45e4acaadd16362d08d107f24ac63b6e61e142c",
      "parents": [
        "2bf0a8f67fae9906c6497886203f6e5cb7168df6"
      ],
      "author": {
        "name": "Chuansheng Liu",
        "email": "chuansheng.liu@intel.com",
        "time": "Mon Dec 17 15:59:50 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:13 2012 -0800"
      },
      "message": "watchdog: store the watchdog sample period as a variable\n\nCurrently getting the sample period is always thru a complex\ncalculation: get_softlockup_thresh() * ((u64)NSEC_PER_SEC / 5).\n\nWe can store the sample period as a variable, and set it as __read_mostly\ntype.\n\nSigned-off-by: liu chuansheng \u003cchuansheng.liu@intel.com\u003e\nCc: Don Zickus \u003cdzickus@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": "8d4516904b39507458bee8115793528e12b1d8dd",
      "tree": "4afc56d198921b85f61918c2478cfc93fb2dc96e",
      "parents": [
        "b69f0859dc8e633c5d8c06845811588fe17e68b3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 04 18:59:34 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 04 19:56:59 2012 +0100"
      },
      "message": "watchdog: Fix CPU hotplug regression\n\nNorbert reported:\n\"3.7-rc6 booted with nmi_watchdog\u003d0 fails to suspend to RAM or\n offline CPUs. It\u0027s reproducable with a KVM guest and physical\n system.\"\n\nThe reason is that commit bcd951cf(watchdog: Use hotplug thread\ninfrastructure) missed to take this into account. So the cpu offline\ncode gets stuck in the teardown function because it accesses non\ninitialized data structures.\n\nAdd a check for watchdog_enabled into that path to cure the issue.\n\nReported-and-tested-by: Norbert Warmuth \u003cnwarmuth@t-online.de\u003e\nTested-by: Joseph Salisbury \u003cjoseph.salisbury@canonical.com\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1211231033230.2701@ionos\nLink: http://bugs.launchpad.net/bugs/1079534\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8ffeb9b0e6369135bf03a073514f571ef10606b9",
      "tree": "53376636381d6a01afae72ed8541266f60a7afae",
      "parents": [
        "4eff96dd5283a102e0c1cac95247090be74a38ed"
      ],
      "author": {
        "name": "Chuansheng Liu",
        "email": "chuansheng.liu@intel.com",
        "time": "Mon Nov 26 16:29:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 26 17:41:24 2012 -0800"
      },
      "message": "watchdog: using u64 in get_sample_period()\n\nIn get_sample_period(), unsigned long is not enough:\n\n  watchdog_thresh * 2 * (NSEC_PER_SEC / 5)\n\ncase1:\n  watchdog_thresh is 10 by default, the sample value will be: 0xEE6B2800\n\ncase2:\n set watchdog_thresh is 20, the sample value will be: 0x1 DCD6 5000\n\nIn case2, we need use u64 to express the sample period.  Otherwise,\nchanging the threshold thru proc often can not be successful.\n\nSigned-off-by: liu chuansheng \u003cchuansheng.liu@intel.com\u003e\nAcked-by: Don Zickus \u003cdzickus@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": "bcd951cf10f24e341defcd002c15a1f4eea13ddb",
      "tree": "6c300cbbb9e5c23ac52e1d490057ce98e0c2bc69",
      "parents": [
        "3e339b5dae24a7065e196eb8d0145ab2f8cc2d2d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 16 10:42:38 2012 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 13 17:01:07 2012 +0200"
      },
      "message": "watchdog: Use hotplug thread infrastructure\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20120716103948.563736676@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "300d3739e873d50d4c6e3656f89007a217fb1d29",
      "tree": "05ed9e06da5920926e0048ee0591a724ee487968",
      "parents": [
        "77254950bb174d637cd88d1a74e137ecf3185a65"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Aug 07 13:50:22 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Aug 08 20:49:45 2012 +0200"
      },
      "message": "Revert \"NMI watchdog: fix for lockup detector breakage on resume\"\n\nRevert commit 45226e9 (NMI watchdog: fix for lockup detector breakage\non resume) which breaks resume from system suspend on my SH7372\nMackerel board (by causing a NULL pointer dereference to happen) and\nis generally wrong, because it abuses the CPU hotplug functionality\nin a shamelessly blatant way.\n\nThe original issue should be addressed through appropriate syscore\nresume callback instead.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "45226e944ce071d0231949f2fea90969437cd2dc",
      "tree": "6f323df1f61d028f77175525ae54948820cd09a1",
      "parents": [
        "190320c3b6640d4104650f55ff69611e050ea06b"
      ],
      "author": {
        "name": "Sameer Nanda",
        "email": "snanda@chromium.org",
        "time": "Mon Jul 30 14:40:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 30 17:25:13 2012 -0700"
      },
      "message": "NMI watchdog: fix for lockup detector breakage on resume\n\nOn the suspend/resume path the boot CPU does not go though an\noffline-\u003eonline transition.  This breaks the NMI detector post-resume\nsince it depends on PMU state that is lost when the system gets\nsuspended.\n\nFix this by forcing a CPU offline-\u003eonline transition for the lockup\ndetector on the boot CPU during resume.\n\nTo provide more context, we enable NMI watchdog on Chrome OS.  We have\nseen several reports of systems freezing up completely which indicated\nthat the NMI watchdog was not firing for some reason.\n\nDebugging further, we found a simple way of repro\u0027ing system freezes --\nissuing the command \u0027tasket 1 sh -c \"echo nmilockup \u003e /proc/breakme\"\u0027\nafter the system has been suspended/resumed one or more times.\n\nWith this patch in place, the system freeze result in panics, as\nexpected.\n\nThese panics provide a nice stack trace for us to debug the actual issue\ncausing the freeze.\n\n[akpm@linux-foundation.org: fiddle with code comment]\n[akpm@linux-foundation.org: make lockup_detector_bootcpu_resume() conditional on CONFIG_SUSPEND]\n[akpm@linux-foundation.org: fix section errors]\nSigned-off-by: Sameer Nanda \u003csnanda@chromium.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Anshuman Khandual \u003ckhandual@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a70270468234749741c5893ae78e5bb524771402",
      "tree": "aed83d3dc676cc486d43ad30926ac909872a02d8",
      "parents": [
        "25f42985825dd93f0593efe454e54c2aa13f7830"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Wed Jun 13 09:35:48 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jun 14 12:20:50 2012 +0200"
      },
      "message": "watchdog: Quiet down the boot messages\n\nA bunch of bugzillas have complained how noisy the nmi_watchdog\nis during boot-up especially with its expected failure cases\n(like virt and bios resource contention).\n\nThis is my attempt to quiet them down and keep it less confusing\nfor the end user.  What I did is print the message for cpu0 and\nsave it for future comparisons.  If future cpus have an\nidentical message as cpu0, then don\u0027t print the redundant info.\nHowever, if a future cpu has a different message, happily print\nthat loudly.\n\nBefore the change, you would see something like:\n\n    ..TIMER: vector\u003d0x30 apic1\u003d0 pin1\u003d2 apic2\u003d-1 pin2\u003d-1\n    CPU0: Intel(R) Core(TM)2 Quad CPU    Q9550  @ 2.83GHz stepping 0a\n    Performance Events: PEBS fmt0+, Core2 events, Intel PMU driver.\n    ... version:                2\n    ... bit width:              40\n    ... generic registers:      2\n    ... value mask:             000000ffffffffff\n    ... max period:             000000007fffffff\n    ... fixed-purpose events:   3\n    ... event mask:             0000000700000003\n    NMI watchdog enabled, takes one hw-pmu counter.\n    Booting Node   0, Processors  #1\n    NMI watchdog enabled, takes one hw-pmu counter.\n     #2\n    NMI watchdog enabled, takes one hw-pmu counter.\n     #3 Ok.\n    NMI watchdog enabled, takes one hw-pmu counter.\n    Brought up 4 CPUs\n    Total of 4 processors activated (22607.24 BogoMIPS).\n\nAfter the change, it is simplified to:\n\n    ..TIMER: vector\u003d0x30 apic1\u003d0 pin1\u003d2 apic2\u003d-1 pin2\u003d-1\n    CPU0: Intel(R) Core(TM)2 Quad CPU    Q9550  @ 2.83GHz stepping 0a\n    Performance Events: PEBS fmt0+, Core2 events, Intel PMU driver.\n    ... version:                2\n    ... bit width:              40\n    ... generic registers:      2\n    ... value mask:             000000ffffffffff\n    ... max period:             000000007fffffff\n    ... fixed-purpose events:   3\n    ... event mask:             0000000700000003\n    NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.\n    Booting Node   0, Processors  #1 #2 #3 Ok.\n    Brought up 4 CPUs\n\nV2: little changes based on Joe Perches\u0027 feedback\nV3: printk cleanup based on Ingo\u0027s feedback; checkpatch fix\nV4: keep printk as one long line\nV5: Ingo fix ups\n\nReported-and-tested-by: Nathan Zimmer \u003cnzimmer@sgi.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: nzimmer@sgi.com\nCc: joe@perches.com\nLink: http://lkml.kernel.org/r/1339594548-17227-1-git-send-email-dzickus@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5d1c0f4a80a6df73395fb3fc2c302510f8f09d36",
      "tree": "7819e75a82c6620e6240a78813b4217a1f4a08dc",
      "parents": [
        "1c0b28c2a46d98cd258d96b8c222144b22876c46"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Sat Mar 10 14:37:28 2012 -0500"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sun Apr 08 12:49:03 2012 +0300"
      },
      "message": "watchdog: add check for suspended vm in softlockup detector\n\nA suspended VM can cause spurious soft lockup warnings.  To avoid these, the\nwatchdog now checks if the kernel knows it was stopped by the host and skips\nthe warning if so.  When the watchdog is reset successfully, clear the guest\npaused flag.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n\n"
    },
    {
      "commit": "b60f796c4ca72545327a069f12938360d833cce7",
      "tree": "dea778b974b2a1396cd85a582557e273cb151b2c",
      "parents": [
        "4501980aae221ed8120dee3491f799ecd75187ad"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Mar 23 15:01:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:32 2012 -0700"
      },
      "message": "kernel/watchdog.c: add comment to watchdog() exit path\n\nRevelation from Peter.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@tglx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4501980aae221ed8120dee3491f799ecd75187ad",
      "tree": "e3b28edb5e0700d3026d9e52f696f677ce712299",
      "parents": [
        "7a05c0f7bbae91d08b7d0acf016fdb42dbc912ae"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Mar 23 15:01:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:32 2012 -0700"
      },
      "message": "kernel/watchdog.c: convert to pr_foo()\n\nIt fixes some 80-col wordwrappings and adds some consistency.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a05c0f7bbae91d08b7d0acf016fdb42dbc912ae",
      "tree": "0fca719baf9c60f5659a28bc977f975acd2ec107",
      "parents": [
        "397a21f24d455982a8a6f9bc11b5f3326ce3c6ef"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Fri Mar 23 15:01:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:32 2012 -0700"
      },
      "message": "watchdog: make sure the watchdog thread gets CPU on loaded system\n\nIf the system is loaded while hotplugging a CPU we might end up with a\nbogus hardlockup detection.  This has been seen during LTP pounder test\nexecuted in parallel with hotplug test.\n\nThe main problem is that enable_watchdog (called when CPU is brought up)\nregisters perf event which periodically checks per-cpu counter\n(hrtimer_interrupts), updated from a hrtimer callback, but the hrtimer\nis fired from the kernel thread.\n\nThis means that while we already do check for the hard lockup the kernel\nthread might be sitting on the runqueue with zillions of tasks so there\nis nobody to update the value we rely on and so we KABOOM.\n\nLet\u0027s fix this by boosting the watchdog thread priority before we wake\nit up rather than when it\u0027s already running.  This still doesn\u0027t handle\na case where we have the same amount of high prio FIFO tasks but that\ndoesn\u0027t seem to be common.  The current implementation doesn\u0027t handle\nthat case anyway so this is not worse at least.\n\nUnfortunately, we cannot start perf counter from the watchdog thread\nbecause we could miss a real lock up and also we cannot start the\nhrtimer watchdog_enable because we there is no way (at least I don\u0027t\nknow any) to start a hrtimer from a different CPU.\n\n[dzickus@redhat.com: fix compile issue with param]\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nSigned-off-by: Don Zickus \u003cdzickus@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": "86f5e6a7b192721995ece919985ac75222402351",
      "tree": "eaa50c5e7f1603d7f343dad06706ccfcebd57e76",
      "parents": [
        "5f329089431aac08bf759fa2bcb34077a6aa1f4e"
      ],
      "author": {
        "name": "Fernando Luis Vázquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Thu Feb 09 17:42:22 2012 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 11 15:11:33 2012 +0100"
      },
      "message": "watchdog: Fix code/comments mismatches\n\nReflect the change in the soft and hard lockup thresholds and\ntheir relation to the frequency of the hrtimer and NMI events in\nthe code comments. While at it, remove references to files that\ndo not exist anymore.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1328827342-6253-3-git-send-email-dzickus@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b0f4c4b32c8e3aa0d44fc4dd6c40a9a9a8d66b63",
      "tree": "7387d97d5b69c587ae67a46de025468d474e0eb4",
      "parents": [
        "b64b223aed5f8aeeb6c046f1b050a8f976b87de0"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Thu Jan 26 08:55:34 2012 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 26 21:28:45 2012 +0100"
      },
      "message": "bugs, x86: Fix printk levels for panic, softlockups and stack dumps\n\nrsyslog will display KERN_EMERG messages on a connected\nterminal.  However, these messages are useless/undecipherable\nfor a general user.\n\nFor example, after a softlockup we get:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Stack:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Call Trace:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 14:18:06 ...\n kernel:Code: ff ff a8 08 75 25 31 d2 48 8d 86 38 e0 ff ff 48 89\n d1 0f 01 c8 0f ae f0 48 8b 86 38 e0 ff ff a8 08 75 08 b1 01 4c 89 e0 0f 01 c9 \u003ce8\u003e ea 69 dd ff 4c 29 e8 48 89 c7 e8 0f bc da ff 49 89 c4 49 89\n\nThis happens because the printk levels for these messages are\nincorrect. Only an informational message should be displayed on\na terminal.\n\nI modified the printk levels for various messages in the kernel\nand tested the output by using the drivers/misc/lkdtm.c kernel\nmodules (ie, softlockups, panics, hard lockups, etc.) and\nconfirmed that the console output was still the same and that\nthe output to the terminals was correct.\n\nFor example, in the case of a softlockup we now see the much\nmore informative:\n\n Message from syslogd@intel-s3e37-04 at Jan 25 10:18:06 ...\n BUG: soft lockup - CPU4 stuck for 60s!\n\ninstead of the above confusing messages.\n\nAFAICT, the messages no longer have to be KERN_EMERG.  In the\nmost important case of a panic we set console_verbose().  As for\nthe other less severe cases the correct data is output to the\nconsole and /var/log/messages.\n\nSuccessfully tested by me using the drivers/misc/lkdtm.c module.\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: dzickus@redhat.com\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1327586134-11926-1-git-send-email-prarit@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ff819515b203f937cc6c8a0215a37a68d1ee71f",
      "tree": "c36dfe5aea5dc973d2f50b38584b6e39babc354c",
      "parents": [
        "f445027e4e692bd885118460b292d08027fd5501"
      ],
      "author": {
        "name": "Vasily Averin",
        "email": "vvs@sw.ru",
        "time": "Mon Oct 31 17:11:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:53 2011 -0700"
      },
      "message": "watchdog: move watchdog_*_all_cpus under CONFIG_SYSCTL\n\nFix compilation warnings for CONFIG_SYSCTL\u003dn:\n\nfixed compilation warnings in case of disabled CONFIG_SYSCTL\nkernel/watchdog.c:483:13: warning: `watchdog_enable_all_cpus\u0027 defined but not used\nkernel/watchdog.c:500:13: warning: `watchdog_disable_all_cpus\u0027 defined but not used\n\nthese functions are static and are used only in sysctl handler, so move\nthem inside #ifdef CONFIG_SYSCTL too\n\nSigned-off-by: Vasily Averin \u003cvvs@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cba9bd22a5f8f857534b9a7f3fb3cafa0ac5fb75",
      "tree": "47cd0ede22b4e3624dd6db0ffe2b3d15fb87fbf6",
      "parents": [
        "51887c8230d57c4d9cc68e3784c52c8f0a708655"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 12 13:40:05 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 18 14:34:07 2011 +0200"
      },
      "message": "watchdog: Drop FIFO policy in exit path\n\nWhen the watchdog thread exits it runs through the exit path with FIFO\npriority. There is no point in doing so. Switch back to SCHED_NORMAL\nbefore exiting.\n\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1109121337461.2723@ionos\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "18e5a45db30e0e338cdd663eda05a8288cc14fa5",
      "tree": "28bec98a1120ccd596a8dd9c06d7a88a3245e73a",
      "parents": [
        "7e5b2a01d2ca2eae4ef913b59f84341f9a70e206"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Aug 03 13:59:04 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 11:53:06 2011 +0200"
      },
      "message": "watchdog: Make the kthreads NUMA affine\n\nWatchdog kthreads can use kthread_create_on_node() to NUMA affine their\nstack and task_struct.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1312394344-18815-1-git-send-email-dzickus@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f91298709790b9a483752ca3c967845537df2af3",
      "tree": "f7392e3d37b9aa78ef04bdf89bc0d45d2db401e3",
      "parents": [
        "4a9bd3f134decd6d16ead8d288342d57aad486be"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Sat Jul 09 00:17:12 2011 +0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 14 17:25:04 2011 -0400"
      },
      "message": "perf, x86: P4 PMU - Introduce event alias feature\n\nInstead of hw_nmi_watchdog_set_attr() weak function\nand appropriate x86_pmu::hw_watchdog_set_attr() call\nwe introduce even alias mechanism which allow us\nto drop this routines completely and isolate quirks\nof Netburst architecture inside P4 PMU code only.\n\nThe main idea remains the same though -- to allow\nnmi-watchdog and perf top run simultaneously.\n\nNote the aliasing mechanism applies to generic\nPERF_COUNT_HW_CPU_CYCLES event only because arbitrary\nevent (say passed as RAW initially) might have some\nadditional bits set inside ESCR register changing\nthe behaviour of event and we can\u0027t guarantee anymore\nthat alias event will give the same result.\n\nP.S. Thanks a huge to Don and Steven for for testing\n     and early review.\n\nAcked-by: Don Zickus \u003cdzickus@redhat.com\u003e\nTested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Stephane Eranian \u003ceranian@google.com\u003e\nCC: Lin Ming \u003cming.m.lin@intel.com\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110708201712.GS23657@sun\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4dc0da86967d5463708631d02a70cfed5b104884",
      "tree": "e09071a62f2457b710ff69df3be1bff39340a4c6",
      "parents": [
        "89d6c0b5bdbb1927775584dcf532d98b3efe1477"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 29 18:42:35 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:38 2011 +0200"
      },
      "message": "perf: Add context field to perf_event\n\nThe perf_event overflow handler does not receive any caller-derived\nargument, so many callers need to resort to looking up the perf_event\nin their local data structure.  This is ugly and doesn\u0027t scale if a\nsingle callback services many perf_events.\n\nFix by adding a context parameter to perf_event_create_kernel_counter()\n(and derived hardware breakpoints APIs) and storing it in the perf_event.\nThe field can be accessed from the callback as event-\u003eoverflow_handler_context.\nAll callers are updated.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309362157-6596-2-git-send-email-avi@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8b0ca17b80e92faab46ee7179ba9e99ccb61233",
      "tree": "a4a6282139f26458f80dcbe21c709a9290e84143",
      "parents": [
        "1880c4ae182afb5650c5678949ecfe7ff66a724e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 14:41:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:35 2011 +0200"
      },
      "message": "perf: Remove the nmi parameter from the swevent and overflow interface\n\nThe nmi parameter indicated if we could do wakeups from the current\ncontext, if not, we would set some state and self-IPI and let the\nresulting interrupt do the wakeup.\n\nFor the various event classes:\n\n  - hardware: nmi\u003d0; PMI is in fact an NMI or we run irq_work_run from\n    the PMI-tail (ARM etc.)\n  - tracepoint: nmi\u003d0; since tracepoint could be from NMI context.\n  - software: nmi\u003d[0,1]; some, like the schedule thing cannot\n    perform wakeups, and hence need 0.\n\nAs one can see, there is very little nmi\u003d1 usage, and the down-side of\nnot using it is that on some platforms some software events can have a\njiffy delay in wakeup (when arch_irq_work_raise isn\u0027t implemented).\n\nThe up-side however is that we can remove the nmi parameter and save a\nbunch of conditionals in fast paths.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-agjev8eu666tvknpb3iaj0fg@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1880c4ae182afb5650c5678949ecfe7ff66a724e",
      "tree": "57306c05aca1e2a2ce5d07e8c29ad76b6b403879",
      "parents": [
        "0d6412085b7ff58612af52e51ffa864f0df4b8fd"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Thu Jun 23 16:49:18 2011 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:34 2011 +0200"
      },
      "message": "perf, x86: Add hw_watchdog_set_attr() in a sake of nmi-watchdog on P4\n\nDue to restriction and specifics of Netburst PMU we need a separated\nevent for NMI watchdog. In particular every Netburst event\nconsumes not just a counter and a config register, but also an\nadditional ESCR register.\n\nSince ESCR registers are grouped upon counters (i.e. if ESCR is occupied\nfor some event there is no room for another event to enter until its\nreleased) we need to pick up the \"least\" used ESCR (or the most available\none) for nmi-watchdog purposes -- so MSR_P4_CRU_ESCR2/3 was chosen.\n\nWith this patch nmi-watchdog and perf top should be able to run simultaneously.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCC: Lin Ming \u003cming.m.lin@intel.com\u003e\nCC: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-and-reviewed-by: Don Zickus \u003cdzickus@redhat.com\u003e\nTested-and-reviewed-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110623124918.GC13050@sun\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6e9101aeec39961308176e0f59e73ac5d37d243a",
      "tree": "7747bc5884e9e663492e53efaa15ff1f873e7d90",
      "parents": [
        "0f61f3e4db71946292ef8d6d6df74b8fcf001646"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 24 05:43:18 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 24 05:53:39 2011 +0200"
      },
      "message": "watchdog: Fix non-standard prototype of get_softlockup_thresh()\n\nThis build warning slipped through:\n\n  kernel/watchdog.c:102: warning: function declaration isn\u0027t a prototype\n\nAs reported by Stephen Rothwell.\n\nAlso address an unused variable warning that GCC 4.6.0 reports:\nwe cannot do anything about failed watchdog ops during CPU hotplug\n(it\u0027s not serious enough to return an error from the notifier),\nso ignore them.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20110524134129.8da27016.sfr@canb.auug.org.au\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20110517071642.GF22305@elte.hu\u003e\n"
    },
    {
      "commit": "4eec42f392043063d0f019640b4ccc2a45570002",
      "tree": "32db1c354f9c12d1275093efed8101a2bd5db232",
      "parents": [
        "586692a5a5fc5740c8a46abc0f2365495c2d7c5f"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun May 22 22:10:23 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 11:58:59 2011 +0200"
      },
      "message": "watchdog: Change the default timeout and configure nmi watchdog period based on watchdog_thresh\n\nBefore the conversion of the NMI watchdog to perf event, the\nwatchdog timeout was 5 seconds. Now it is 60 seconds. For my\nparticular application, netbooks, 5 seconds was a better\ntimeout. With a short timeout, we catch faults earlier and are\nable to send back a panic. With a 60 second timeout, the user is\nunlikely to wait and will instead hit the power button, causing\nus to lose the panic info.\n\nThis change configures the NMI period to watchdog_thresh and\nsets the softlockup_thresh to watchdog_thresh * 2. In addition,\nwatchdog_thresh was reduced to 10 seconds as suggested by Ingo\nMolnar.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1306127423-3347-4-git-send-email-msb@chromium.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20110517071642.GF22305@elte.hu\u003e\n"
    },
    {
      "commit": "586692a5a5fc5740c8a46abc0f2365495c2d7c5f",
      "tree": "bc08228e67a968d83691c9efc5ea1feda9e6f98b",
      "parents": [
        "e04ab2bc41b35c0cb6cdb07c8443f91aa738cf78"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun May 22 22:10:22 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 11:58:59 2011 +0200"
      },
      "message": "watchdog: Disable watchdog when thresh is zero\n\nThis restores the previous behavior of softlock_thresh.\n\nCurrently, setting watchdog_thresh to zero causes the watchdog\nkthreads to consume a lot of CPU.\n\nIn addition, the logic of proc_dowatchdog_thresh and\nproc_dowatchdog_enabled has been factored into proc_dowatchdog.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1306127423-3347-3-git-send-email-msb@chromium.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c20110517071018.GE22305@elte.hu\u003e\n"
    },
    {
      "commit": "e04ab2bc41b35c0cb6cdb07c8443f91aa738cf78",
      "tree": "511efcd50f74c0a3cf28cf5c68eaa5e70b45fbc7",
      "parents": [
        "824c6b7f6294101f30e141117def224a56c203e6"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun May 22 22:10:21 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 11:58:58 2011 +0200"
      },
      "message": "watchdog: Only disable/enable watchdog if neccessary\n\nDon\u0027t take any action on an unsuccessful write to /proc.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1306127423-3347-2-git-send-email-msb@chromium.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "824c6b7f6294101f30e141117def224a56c203e6",
      "tree": "c609d4c12a1d5af1ceccb5c1c2275df2947d9e2c",
      "parents": [
        "3ac1bbcf13c56a19927df670f429eb0c3c11f8e5"
      ],
      "author": {
        "name": "Mandeep Singh Baines",
        "email": "msb@chromium.org",
        "time": "Sun May 22 22:10:20 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 23 11:58:58 2011 +0200"
      },
      "message": "watchdog: Fix rounding bug in get_sample_period()\n\nIn get_sample_period(), softlockup_thresh is integer divided by\n5 before the multiplication by NSEC_PER_SEC. This results in\nsoftlockup_thresh being rounded down to the nearest integer\nmultiple of 5.\n\nFor example, a softlockup_thresh of 4 rounds down to 0.\n\nSigned-off-by: Mandeep Singh Baines \u003cmsb@chromium.org\u003e\nCc: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1306127423-3347-1-git-send-email-msb@chromium.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1409f141ac719b994d2832911b1e9ec928943fc2",
      "tree": "2ef8c9431f15cae6f243482cbe1cf9f11ae60082",
      "parents": [
        "534e3adbd22efa327e6ff27cf2d8ebaad8382ecd"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Wed Apr 27 15:26:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 28 11:28:21 2011 -0700"
      },
      "message": "kernel/watchdog.c: disable nmi perf event in the error path of enabling watchdog\n\nIn corner cases where softlockup watchdog is not setup successfully, the\nrelevant nmi perf event for hardlockup watchdog could be disabled, then\nthe status of the underlying hardware remains unchanged.\n\nAlso, if the kthread doesn\u0027t start then the hrtimer won\u0027t run and the\nhardlockup detector will falsely fire.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@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": "f99a99330f85a84c346ddeb4adc72dbfad9b9e3e",
      "tree": "4c72a3f2231e7c79f1afeaee5cd03ae7331d3b7a",
      "parents": [
        "fef2c9bc1b54c0261324a96e948c0b849796e896"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Tue Mar 22 16:34:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "kernel/watchdog.c: always return NOTIFY_OK during cpu up/down events\n\nThis patch addresses a couple of problems.  One was the case when the\nhardlockup failed to start, it also failed to start the softlockup.  There\nwere valid cases when the hardlockup shouldn\u0027t start and that shouldn\u0027t\nblock the softlockup (no lapic, bios controls perf counters).\n\nThe second problem was when the hardlockup failed to start on boxes (from\na no lapic or bios controlled perf counter case), it reported failure to\nthe cpu notifier chain.  This blocked the notifier from continuing to\nstart other more critical pieces of cpu bring-up (in our case based on a\n2.6.32 fork, it was the mce).  As a result, during soft cpu online/offline\ntesting, the system would panic when a cpu was offlined because the cpu\nnotifier would succeed in processing a watchdog disable cpu event and\nwould panic in the mce case as a result of un-initialized variables from a\nnever executed cpu up event.\n\nI realized the hardlockup/softlockup cases are really just debugging aids\nand should never impede the progress of a cpu up/down event.  Therefore I\nmodified the code to always return NOTIFY_OK and instead rely on printks\nto inform the user of problems.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fef2c9bc1b54c0261324a96e948c0b849796e896",
      "tree": "a4dd2733621d9fe1f8ec65d9ef30867ed09b640f",
      "parents": [
        "b1b5f65e53af770ede22c113e249de2f6fa53706"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Tue Mar 22 16:34:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:12 2011 -0700"
      },
      "message": "kernel/watchdog.c: allow hardlockup to panic by default\n\nWhen a cpu is considered stuck, instead of limping along and just printing\na warning, it is sometimes preferred to just panic, let kdump capture the\nvmcore and reboot.  This gets the machine back into a stable state quickly\nwhile saving the info that got it into a stuck state to begin with.\n\nAdd a Kconfig option to allow users to set the hardlockup to panic\nby default.  Also add in a \u0027nmi_watchdog\u003dnopanic\u0027 to override this.\n\n[akpm@linux-foundation.org: fix strncmp length]\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5651f7f47dbb1cf2b95a60582546db4ff508e2b4",
      "tree": "9dbf5728f3fe1a73f48de290ae732b06574d646c",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Wed Feb 09 14:02:33 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 10 13:21:59 2011 +0100"
      },
      "message": "watchdog, nmi: Lower the severity of error messages\n\nDuring boot if the hardlockup detector fails to initialize, it\ncomplains very loudly.  Some failures should be expected under\ncertain situations, ie no lapics, or resource in-use.  Tone\nthose error messages down a bit.  Keep the rest at a high level.\n\nReported-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nTested-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1297278153-21111-1-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ffdc6c37df131f89d52001e0ef03091b158826f",
      "tree": "3686727a7d9df74aa605c5c5ac4f64a0054fac0b",
      "parents": [
        "397357666de6b5b6adb5fa99f9758ec8cf30ac34"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Fri Jan 28 11:00:33 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 31 13:22:43 2011 +0100"
      },
      "message": "watchdog: Don\u0027t change watchdog state on read of sysctl\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\n[ add {}\u0027s to fix a warning ]\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1296230433-6261-3-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "397357666de6b5b6adb5fa99f9758ec8cf30ac34",
      "tree": "ce7e63588928ae0fc3b72e12e5d4298b09916ddf",
      "parents": [
        "4135038a582c20ffdadfcf6564852e0b72a20968"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Fri Jan 28 11:00:32 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 31 13:22:43 2011 +0100"
      },
      "message": "watchdog: Fix sysctl consistency\n\nIf it was not possible to enable watchdog for any cpu, switch\nwatchdog_enabled back to 0, because it\u0027s visible via\nkernel.watchdog sysctl.\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1296230433-6261-2-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4135038a582c20ffdadfcf6564852e0b72a20968",
      "tree": "2b67aec9d8057ae394fd1b4e0989674b47a9d45c",
      "parents": [
        "d038b12c6d773a4b9f69ca5243773bf6314f7ee9"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Fri Jan 28 11:00:31 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 31 13:22:42 2011 +0100"
      },
      "message": "watchdog: Fix broken nowatchdog logic\n\nPassing nowatchdog to kernel disables 2 things: creation of\nwatchdog threads AND initialization of percpu watchdog_hrtimer.\nAs hrtimers are initialized only at boot it\u0027s not possible to\nenable watchdog later - for me all watchdog threads started to\neat 100% of CPU time, but they could just crash.\n\nAdditionally, even if these threads would start properly,\nwatchdog_disable_all_cpus was guarded by no_watchdog check, so\nyou couldn\u0027t disable watchdog.\n\nTo fix this, remove no_watchdog variable and use already\nexisting watchdog_enabled variable.\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\n[ removed another no_watchdog instance ]\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1296230433-6261-1-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "72eb6a791459c87a0340318840bb3bd9252b627b",
      "tree": "3bfb8ad99f9c7e511f37f72d57b56a2cea06d753",
      "parents": [
        "23d69b09b78c4876e134f104a3814c30747c53f1",
        "55ee4ef30241a62b700f79517e6d5ef2ddbefa67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (30 commits)\n  gameport: use this_cpu_read instead of lookup\n  x86: udelay: Use this_cpu_read to avoid address calculation\n  x86: Use this_cpu_inc_return for nmi counter\n  x86: Replace uses of current_cpu_data with this_cpu ops\n  x86: Use this_cpu_ops to optimize code\n  vmstat: User per cpu atomics to avoid interrupt disable / enable\n  irq_work: Use per cpu atomics instead of regular atomics\n  cpuops: Use cmpxchg for xchg to avoid lock semantics\n  x86: this_cpu_cmpxchg and this_cpu_xchg operations\n  percpu: Generic this_cpu_cmpxchg() and this_cpu_xchg support\n  percpu,x86: relocate this_cpu_add_return() and friends\n  connector: Use this_cpu operations\n  xen: Use this_cpu_inc_return\n  taskstats: Use this_cpu_ops\n  random: Use this_cpu_inc_return\n  fs: Use this_cpu_inc_return in buffer.c\n  highmem: Use this_cpu_xx_return() operations\n  vmstat: Use this_cpu_inc_return for vm statistics\n  x86: Support for this_cpu_add, sub, dec, inc_return\n  percpu: Generic support for this_cpu_add, sub, dec, inc_return\n  ...\n\nFixed up conflicts: in arch/x86/kernel/{apic/nmi.c, apic/x2apic_uv_x.c, process.c}\nas per Tejun.\n"
    },
    {
      "commit": "65b2074f84be2287e020839e93b4cdaaf60eb37c",
      "tree": "d020c3c37fa5b112ee531b324214236bef9feec6",
      "parents": [
        "28d9bfc37c861aa9c8386dff1ac7e9a10e5c5162",
        "6bf4123760a5aece6e4829ce90b70b6ffd751d65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:23:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:23:33 2011 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)\n  sched: Change wait_for_completion_*_timeout() to return a signed long\n  sched, autogroup: Fix reference leak\n  sched, autogroup: Fix potential access to freed memory\n  sched: Remove redundant CONFIG_CGROUP_SCHED ifdef\n  sched: Fix interactivity bug by charging unaccounted run-time on entity re-weight\n  sched: Move periodic share updates to entity_tick()\n  printk: Use this_cpu_{read|write} api on printk_pending\n  sched: Make pushable_tasks CONFIG_SMP dependant\n  sched: Add \u0027autogroup\u0027 scheduling feature: automated per session task groups\n  sched: Fix unregister_fair_sched_group()\n  sched: Remove unused argument dest_cpu to migrate_task()\n  mutexes, sched: Introduce arch_mutex_cpu_relax()\n  sched: Add some clock info to sched_debug\n  cpu: Remove incorrect BUG_ON\n  cpu: Remove unused variable\n  sched: Fix UP build breakage\n  sched: Make task dump print all 15 chars of proc comm\n  sched: Update tg-\u003eshares after cpu.shares write\n  sched: Allow update_cfs_load() to update global load\n  sched: Implement demand based update_cfs_load()\n  ...\n"
    },
    {
      "commit": "aef1b9cef78ae65c6501850851cc3f61f9be477b",
      "tree": "9769972983e84620df17c13b73f70a8341c4b125",
      "parents": [
        "20c457b8587bee4644d998331d9e13be82e05b4c",
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:22:08 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:22:10 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.37\u0027 into perf/core\n\nMerge reason: Add the final .37 tree.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27066fd484a32c80630136aa2b91c980f3198f9d",
      "tree": "78ddabdedbfd7525d13ecd62a745525843f1d0e8",
      "parents": [
        "101e5f77bf35679809586e250b6c62193d2ed179",
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:14:42 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:14:46 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.37\u0027 into sched/core\n\nMerge reason: Merge the final .37 tree.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "551423748a4eba55f2eb0fc250d757986471f187",
      "tree": "401f03f7e5a70de089ef83153ac98096929c6f09",
      "parents": [
        "b518a64983cbf2ff31aed530898de2d80e4573d5"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Sun Jan 02 23:02:42 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 03 05:25:52 2011 +0100"
      },
      "message": "watchdog: Improve initialisation error message and documentation\n\nThe error message \u0027NMI watchdog failed to create perf event...\u0027\ndoes not make it clear that this is a fatal error for the\nwatchdog.  It also currently prints the error value as a\npointer, rather than extracting the error code with PTR_ERR().\nFix that.\n\nAdd a note to the description of the \u0027nowatchdog\u0027 kernel\nparameter to associate it with this message.\n\nReported-by: Cesare Leonardi \u003cceleonar@gmail.com\u003e\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: 599368@bugs.debian.org\nCc: 608138@bugs.debian.org\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e # .37.x and later\nLKML-Reference: \u003c1294009362.3167.126.camel@localhost\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "909ea96468096b07fbb41aaf69be060d92bd9271",
      "tree": "a7e015edd96b5f674874fe78cdd889769e130a2a",
      "parents": [
        "780f36d8b3fa9572f731d4fb85067b2e45e6f993"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Wed Dec 08 16:22:55 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:07:19 2010 +0100"
      },
      "message": "core: Replace __get_cpu_var with __this_cpu_read if not used for an address.\n\n__get_cpu_var() can be replaced with this_cpu_read and will then use a\nsingle read instruction with implied address calculation to access the\ncorrect per cpu instance.\n\nHowever, the address of a per cpu variable passed to __this_cpu_read()\ncannot be determined (since it\u0027s an implied address conversion through\nsegment prefixes).  Therefore apply this only to uses of __get_cpu_var\nwhere the address of the variable is not used.\n\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "5dc3055879b8f659f62abb7c3d1eaa4d02e36d65",
      "tree": "823b69dd3ed28bc9d05fc4ecf31e780341efdf5b",
      "parents": [
        "96a84c20d635fb1e98ab92f9fc517c4441f5c424"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Mon Nov 29 17:07:17 2010 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 10 00:01:06 2010 +0100"
      },
      "message": "x86, NMI: Add back unknown_nmi_panic and nmi_watchdog sysctls\n\nOriginally adapted from Huang Ying\u0027s patch which moved the\nunknown_nmi_panic to the traps.c file.  Because the old nmi\nwatchdog was deleted before this change happened, the\nunknown_nmi_panic sysctl was lost.  This re-adds it.\n\nAlso, the nmi_watchdog sysctl was re-implemented and its\ndocumentation updated accordingly.\n\nPatch-inspired-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nReviewed-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nAcked-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c1291068437-5331-3-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "004417a6d468e24399e383645c068b498eed84ad",
      "tree": "ce3f4ea25186080faec7a7be6648b177e526c436",
      "parents": [
        "5ef428c4b5950dddce7311e84321abb3aff7ebb0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Nov 25 18:38:29 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:14:56 2010 +0100"
      },
      "message": "perf, arch: Cleanup perf-pmu init vs lockup-detector\n\nThe perf hardware pmu got initialized at various points in the boot,\nsome before early_initcall() some after (notably arch_initcall).\n\nThe problem is that the NMI lockup detector is ran from early_initcall()\nand expects the hardware pmu to be present.\n\nSanitize this by moving all architecture hardware pmu implementations to\ninitialize at early_initcall() and move the lockup detector to an explicit\ninitcall right after that.\n\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: davem \u003cdavem@davemloft.net\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290707759.2145.119.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92fd4d4d67b945c0766416284d4ab236b31542c4",
      "tree": "00b8b5f90748f752ccaba3dddbe271091d93543a",
      "parents": [
        "fe7de49f9d4e53f24ec9ef762a503f70b562341c",
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:22:14 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:22:26 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc2\u0027 into sched/core\n\nMerge reason: Move to a .37-rc base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "433039e97f672b81e6c8f6daef385dcf035c6e29",
      "tree": "0b4b181cf1db4019ae34dccc49e06945e4df117b",
      "parents": [
        "4b4a2700f462102569b407102c60d3b9cf4432a0"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Nov 05 16:17:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 17:45:35 2010 -0700"
      },
      "message": "watchdog: Fix section mismatch and potential undefined behavior.\n\nCommit d9ca07a05ce1 (\"watchdog: Avoid kernel crash when disabling\nwatchdog\") introduces a section mismatch.\n\nNow that we reference no_watchdog from non-__init code it can no longer\nbe __initdata.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe7de49f9d4e53f24ec9ef762a503f70b562341c",
      "tree": "766b012c7199f12625bc909748175d9e37b0b87d",
      "parents": [
        "d4429f608abde89e8bc1e24b43cd503feb95c496"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Oct 20 16:01:12 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 23 17:56:48 2010 +0200"
      },
      "message": "sched: Make sched_param argument static in sched_setscheduler() callers\n\nAndrew Morton pointed out almost all sched_setscheduler() callers are\nusing fixed parameters and can be converted to static.  It reduces runtime\nmemory use a little.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\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: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d70f79b5ef6ea2de4f72a37b2d96e2601e40a22",
      "tree": "a0d6de0930ba83ecf4629c2e2e261f5eaa2d8f33",
      "parents": [
        "888a6f77e0418b049f83d37547c209b904d30af4",
        "750ed158bf6c782d2813da1bca2c824365a0b777"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:49 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (163 commits)\n  tracing: Fix compile issue for trace_sched_wakeup.c\n  [S390] hardirq: remove pointless header file includes\n  [IA64] Move local_softirq_pending() definition\n  perf, powerpc: Fix power_pmu_event_init to not use event-\u003ectx\n  ftrace: Remove recursion between recordmcount and scripts/mod/empty\n  jump_label: Add COND_STMT(), reducer wrappery\n  perf: Optimize sw events\n  perf: Use jump_labels to optimize the scheduler hooks\n  jump_label: Add atomic_t interface\n  jump_label: Use more consistent naming\n  perf, hw_breakpoint: Fix crash in hw_breakpoint creation\n  perf: Find task before event alloc\n  perf: Fix task refcount bugs\n  perf: Fix group moving\n  irq_work: Add generic hardirq context callbacks\n  perf_events: Fix transaction recovery in group_sched_in()\n  perf_events: Fix bogus AMD64 generic TLB events\n  perf_events: Fix bogus context time tracking\n  tracing: Remove parent recording in latency tracer graph options\n  tracing: Use one prologue for the preempt irqs off tracer function tracers\n  ...\n"
    },
    {
      "commit": "37eca0d64a2dbeece25969ec0698e1ff72bdcf39",
      "tree": "54ba70f0428f586f4fe28d8b429b9f9e0799a17a",
      "parents": [
        "277b199800ac90811ac86d215063df1984f51619",
        "3c06806e690885ce978ef180c8f8b6f8c17fb4b4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 17:27:20 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 12 17:27:28 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/locking\n\nReason: Pull in the semaphore related changes\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "38a81da2205f94e8a2a834b51a6b99c91fc7c2e8",
      "tree": "5227c665f37d1c472608a44aaad0a04be68befb2",
      "parents": [
        "2ebd4ffb6d0cb877787b1e42be8485820158857e"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Mon Sep 13 13:01:20 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:44:00 2010 +0200"
      },
      "message": "perf events: Clean up pid passing\n\nThe kernel perf event creation path shouldn\u0027t use find_task_by_vpid()\nbecause a vpid exists in a specific namespace. find_task_by_vpid() uses\ncurrent\u0027s pid namespace which isn\u0027t always the correct namespace to use\nfor the vpid in all the places perf_event_create_kernel_counter() (and\nthus find_get_context()) is called.\n\nThe goal is to clean up pid namespace handling and prevent bugs like:\n\n\thttps://bugzilla.kernel.org/show_bug.cgi?id\u003d17281\n\nInstead of using pids switch find_get_context() to use task struct\npointers directly. The syscall is responsible for resolving the pid to\na task struct. This moves the pid namespace resolution into the syscall\nmuch like every other syscall that takes pid parameters.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Robin Green \u003cgreenrd@greenrd.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Mahesh Salgaonkar \u003cmahesh@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003ca134e5e392ab0204961fd1a62c84a222bf5874a9.1284407763.git.matthltc@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d9ca07a05ce1c42ac9717e54eaea4546a3a80978",
      "tree": "a6200b56afa330bf2b4b61d2485c44362a0f0c80",
      "parents": [
        "3aabae7d9dfaed60effe93662f02c19bafc18537"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue Sep 14 15:34:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:43:58 2010 +0200"
      },
      "message": "watchdog: Avoid kernel crash when disabling watchdog\n\nIn case you boot with the watchdog disabled, i.e., nowatchdog, then,\nif you try to disable it via /proc/sys/kernel/watchdog, you get\na kernel crash. The reason is that you are trying to cancel a hrtimer\nwhich has never been initialized.\n\nThis patch fixes this by skipping execution of\nwatchdog_disable_all_cpus() when the watchdog is marked\ndisabled from boot.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4c8f7a23.cae9d80a.2c11.0bb4@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2aa61274efb9f532deaebc9812675a27af1994cb",
      "tree": "c2f70525dc152e0ddce60f1a3021473cc6a3f298",
      "parents": [
        "359d5106a2ff4ffa2ba129ec8f54743c341dabfc",
        "5e11637e2c929e34dcc0fbbfb48bdb638937701a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:40:06 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:40:08 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: Pick up pending fixes before applying dependent new changes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68d3f1d810500e8b975bdf0b20dd83d060076b4b",
      "tree": "68d07e9d165aa9fde390dfa5694bb58aa63adb0d",
      "parents": [
        "3aaba20f26f58843e8f20611e5c0b1c06954310f"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Tue Aug 31 23:00:07 2010 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 01 10:02:28 2010 +0200"
      },
      "message": "lockup_detector: Sync touch_*_watchdog back to old semantics\n\nDuring my rewrite, the semantics of touch_nmi_watchdog and\ntouch_softlockup_watchdog changed enough to break some drivers\n(mostly over preemptable regions).\n\nThese are cases where long delays on one CPU (due to\nprint_delay for example) can cause long delays on other\nCPUs - so we must \u0027touch\u0027 the nmi_watchdog flag of those\nother CPUs as well.\n\nThis change brings those touch_*_watchdog() functions back in line\nwith to how they used to work.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nAcked-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: peterz@infradead.org\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c1283310009-22168-2-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "14416c35b6b9975c9593d7ecc8382d1ecaa0b598",
      "tree": "15083ac26721ae79cf9f2348c2c5e206a5674f35",
      "parents": [
        "eac243355a99d6b9d41bbeba4fc83e7f735485f9"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Aug 31 23:00:09 2010 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 01 07:33:34 2010 +0200"
      },
      "message": "lockup_detector: Remove unused panic_notifier\n\nThe panic notifer in lockup_detector just set did_panic to 1.\nBut did_panic is not used anywhere so we can just remove it.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: peterz@infradead.org\nCc: gorcunov@gmail.com\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c1283310009-22168-4-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eac243355a99d6b9d41bbeba4fc83e7f735485f9",
      "tree": "39cd6ab8a7e48dcc0d59085a674dcda84844e041",
      "parents": [
        "46b93b74fc022885ab69dfc8e2af0562dd626638"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Aug 31 23:00:08 2010 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 01 07:33:34 2010 +0200"
      },
      "message": "lockup_detector: Convert cpu notifier to return encapsulate errno value\n\nBy the commit e6bde73b07edeb703d4c89c1daabc09c303de11f\n(\"cpu-hotplug: return better errno on cpu hotplug failure\"),\nthe cpu notifier can return encapsulate errno value, resulting\nin more meaningful error codes for CPU hotplug failures.\n\nThis converts the cpu notifier to return encapsulate errno value\nfor the lockup_detector as well.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: peterz@infradead.org\nCc: gorcunov@gmail.com\nCc: fweisbec@gmail.com\nLKML-Reference: \u003c1283310009-22168-3-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6db67cda735d8ace5f19c3831240e1408679790",
      "tree": "8512efd772cb3d3f30b49001890c93a22f2db50f",
      "parents": [
        "ede1b4290781ae82ccf0f2ecc6dada8d3dd35779"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 20 11:49:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 23 10:48:05 2010 +0200"
      },
      "message": "watchdog: Don\u0027t throttle the watchdog\n\nStephane reported that when the machine locks up, the regular ticks,\nwhich are responsible to resetting the throttle count, stop too.\n\nHence the NMI watchdog can end up being throttled before it reports on\nthe locked up state, and we end up being sad..\n\nCure this by having the watchdog overflow reset its own throttle count.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nTested-by: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1282215916.1926.4696.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "277b199800ac90811ac86d215063df1984f51619",
      "tree": "e828455d11b2b51c636053a6f3da4393ce3da949",
      "parents": [
        "6a103b0d44e9f97dc430002cf3ac7a7defa3819f"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Fri Aug 20 11:03:51 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 20 10:09:41 2010 +0200"
      },
      "message": "lockup_detector: Make callback function static\n\nwatchdog_overflow_callback() is only used in kernel/watchdog.c.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nLKML-Reference: \u003c1282273431.16443.32.camel@minggr.sh.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb703f98191a505f78d0066712ad67d5dedc4c90",
      "tree": "5dc85a0e152c6b4d25816f4ba5f98d3207054c20",
      "parents": [
        "e35e7fb0e9ea557f7504ced6fe4ccf69e44b7f07"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Mon Jul 05 12:00:54 2010 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 07 08:46:42 2010 +0200"
      },
      "message": "kernel/watchdog: Initialize \u0027result\u0027\n\nVariable on the stack is not initialized to zero, do it\nexplicitly.\n\nThis bug was found by a compiler warning:\n\n kernel/watchdog.c:463: warning: \u0027result\u0027 may be used uninitialized in this function\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nAcked-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1278316854-28442-1-git-send-email-segooon@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26e09c6eee14f4827b55137ba0eedc4e77cd50ab",
      "tree": "9088d86ce87557e4d35a7b5832fdbe1d235516e4",
      "parents": [
        "cafcd80d216bc2136b8edbb794327e495792c666"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Mon May 17 18:06:04 2010 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 19 11:32:14 2010 +0200"
      },
      "message": "lockup_detector: Convert per_cpu to __get_cpu_var for readability\n\nJust a bunch of conversions as suggested by Frederic W.\n__get_cpu_var() provides preemption disabled checks.\n\nPlus it gives more readability as it makes it obvious\nwe are dealing locally now with these vars.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nLKML-Reference: \u003c1274133966-18415-2-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "cafcd80d216bc2136b8edbb794327e495792c666",
      "tree": "4eb819c124684b14d48faf094316e8dd3ba4b73a",
      "parents": [
        "23637d477c1f53acbb176a02c241d60a25888fae"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Fri May 14 11:11:21 2010 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 16 04:25:14 2010 +0200"
      },
      "message": "lockup_detector: Cross arch compile fixes\n\nCombining the softlockup and hardlockup code causes watchdog.c\nto build even without the hardlockup detection support.\n\nSo if an arch, that has the previous and the new nmi watchdog\nimplementations cohabiting, wants to know if the generic one\nis in use, CONFIG_LOCKUP_DETECTOR is not a reliable check.\nWe need to use CONFIG_HARDLOCKUP_DETECTOR instead.\n\nFixes:\n\tkernel/built-in.o: In function `touch_nmi_watchdog\u0027:\n\t(.text+0x449bc): multiple definition of `touch_nmi_watchdog\u0027\n\tarch/sparc/kernel/built-in.o:(.text+0x11b28): first defined here\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nLKML-Reference: \u003c20100514151121.GR15159@redhat.com\u003e\n[ use CONFIG_HARDLOCKUP_DETECTOR instead of CONFIG_PERF_EVENTS_NMI]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "23637d477c1f53acbb176a02c241d60a25888fae",
      "tree": "6d2e9e4a9f6fa2428e0ace29cf764212b823598a",
      "parents": [
        "c01d4323309a90a298fd81cf3a059ee1b12be2e9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 15 23:15:20 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 16 01:57:42 2010 +0200"
      },
      "message": "lockup_detector: Introduce CONFIG_HARDLOCKUP_DETECTOR\n\nThis new config is deemed to simplify even more the lockup detector\ndependencies and can make it easier to bring a smooth sorting\nbetween archs that support the new generic lockup detector and those\nthat still have their own, especially for those that are in the\nmiddle of this migration.\n\nInstead of checking whether we have CONFIG_LOCKUP_DETECTOR +\nCONFIG_PERF_EVENTS_NMI each time an arch wants to know if it needs\nto build its own lockup detector, take a shortcut with this new\nconfig. It is enabled only if the hardlockup detection part of\nthe whole lockup detector is on.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\n"
    },
    {
      "commit": "0167c781907fcdc3e1f144ef5ce31d402c91eb94",
      "tree": "522c4acbb5a996ae126f89dce128cccb6cb18ea1",
      "parents": [
        "19cc36c0f0457e5c6629ec24036fbbe8255c88ec"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 13 08:53:33 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 13 08:53:33 2010 +0200"
      },
      "message": "watchdog: Export touch_softlockup_watchdog\n\nThere are modules that rely on it:\n\n  ERROR: \"touch_softlockup_watchdog\" [drivers/video/nvidia/nvidiafb.ko] undefined!\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nLKML-Reference: \u003c1273713674-8434-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7c547335fa6b0090fa09c46ea0e965ac273a27e",
      "tree": "66d082cb7acbfc59a2af6bf24130d4832da2919e",
      "parents": [
        "10f9014912a2b1cb59c39cdea777e6d9afa8f17e"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Fri May 07 17:11:51 2010 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 12 23:55:55 2010 +0200"
      },
      "message": "lockup_detector: Separate touch_nmi_watchdog code path from touch_watchdog\n\nWhen I combined the nmi_watchdog (hardlockup) and softlockup code, I\nalso combined the paths the touch_watchdog and touch_nmi_watchdog took.\nThis may not be the best idea as pointed out by Frederic W., that the\ntouch_watchdog case probably should not reset the hardlockup count.\n\nTherefore the patch below falls back to the previous idea of keeping\nthe touch_nmi_watchdog a superset of the touch_watchdog case.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nLKML-Reference: \u003c1273266711-18706-9-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "332fbdbca3f7716c5620970755ae054d213bcc4e",
      "tree": "ce6fe479c9b362fab1ce9530a0f6545d9f79025d",
      "parents": [
        "58687acba59266735adb8ccd9b5b9aa2c7cd205b"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Fri May 07 17:11:45 2010 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 12 23:55:43 2010 +0200"
      },
      "message": "lockup_detector: Touch_softlockup cleanups and softlockup_tick removal\n\nJust some code cleanup to make touch_softlockup clearer and remove the\nsoftlockup_tick function as it is no longer needed.\n\nAlso remove the /proc softlockup_thres call as it has been changed to\nwatchdog_thres.\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nLKML-Reference: \u003c1273266711-18706-3-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "58687acba59266735adb8ccd9b5b9aa2c7cd205b",
      "tree": "7236582375310b116eedec6facbee87d42e3dd6d",
      "parents": [
        "a9aa1d02de36b450990b0e25a88fc2ff1c3e6b94"
      ],
      "author": {
        "name": "Don Zickus",
        "email": "dzickus@redhat.com",
        "time": "Fri May 07 17:11:44 2010 -0400"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed May 12 23:55:33 2010 +0200"
      },
      "message": "lockup_detector: Combine nmi_watchdog and softlockup detector\n\nThe new nmi_watchdog (which uses the perf event subsystem) is very\nsimilar in structure to the softlockup detector.  Using Ingo\u0027s\nsuggestion, I combined the two functionalities into one file:\nkernel/watchdog.c.\n\nNow both the nmi_watchdog (or hardlockup detector) and softlockup\ndetector sit on top of the perf event subsystem, which is run every\n60 seconds or so to see if there are any lockups.\n\nTo detect hardlockups, cpus not responding to interrupts, I\nimplemented an hrtimer that runs 5 times for every perf event\noverflow event.  If that stops counting on a cpu, then the cpu is\nmost likely in trouble.\n\nTo detect softlockups, tasks not yielding to the scheduler, I used the\nprevious kthread idea that now gets kicked every time the hrtimer fires.\nIf the kthread isn\u0027t being scheduled neither is anyone else and the\nwarning is printed to the console.\n\nI tested this on x86_64 and both the softlockup and hardlockup paths\nwork.\n\nV2:\n- cleaned up the Kconfig and softlockup combination\n- surrounded hardlockup cases with #ifdef CONFIG_PERF_EVENTS_NMI\n- seperated out the softlockup case from perf event subsystem\n- re-arranged the enabling/disabling nmi watchdog from proc space\n- added cpumasks for hardlockup failure cases\n- removed fallback to soft events if no PMU exists for hard events\n\nV3:\n- comment cleanups\n- drop support for older softlockup code\n- per_cpu cleanups\n- completely remove software clock base hardlockup detector\n- use per_cpu masking on hard/soft lockup detection\n- #ifdef cleanups\n- rename config option NMI_WATCHDOG to LOCKUP_DETECTOR\n- documentation additions\n\nV4:\n- documentation fixes\n- convert per_cpu to __get_cpu_var\n- powerpc compile fixes\n\nV5:\n- split apart warn flags for hard and soft lockups\n\nTODO:\n- figure out how to make an arch-agnostic clock2cycles call\n  (if possible) to feed into perf events as a sample period\n\n[fweisbec: merged conflict patch]\n\nSigned-off-by: Don Zickus \u003cdzickus@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nLKML-Reference: \u003c1273266711-18706-2-git-send-email-dzickus@redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    }
  ]
}
