)]}'
{
  "log": [
    {
      "commit": "8083e4ad970e4eb567e31037060cdd4ba346f0c0",
      "tree": "330e6dc1dbb7c7db13d14f3681d4a51f62708329",
      "parents": [
        "e9d95bf7eb929b9ddc9af9f4327b76c77ed4c7d6"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Mon Aug 04 11:59:11 2008 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Oct 09 13:52:44 2008 -0400"
      },
      "message": "[CPUFREQ][5/6] cpufreq: Changes to get_cpu_idle_time_us(), used by ondemand governor\n\nexport get_cpu_idle_time_us() for it to be used in ondemand governor.\nLast update time can be current time when the CPU is currently non-idle,\naccounting for the busy time since last idle.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "ccc7dadf736639da86f3e0c86832c11a66fc8221",
      "tree": "3f1c0df0a291fec4a10d72cc1ab278ad81e697c5",
      "parents": [
        "b00c1a99e7758f794923c61e5cd55268d61c9469"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 15:47:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:14 2008 +0200"
      },
      "message": "hrtimer: prevent migration of per CPU hrtimers\n\nImpact: per CPU hrtimers can be migrated from a dead CPU\n\nThe hrtimer code has no knowledge about per CPU timers, but we need to\nprevent the migration of such timers and warn when such a timer is\nactive at migration time.\n\nExplicitely mark the timers as per CPU and use a more understandable\nmode descriptor for the interrupts safe unlocked callback mode, which\nis used by hrtimer_sleeper and the scheduler code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "49d670fb8dd62d3ed4e3ed2513538ea65b051aed",
      "tree": "7d571897b5407abc25b776d4738e4af3ea0a5940",
      "parents": [
        "4faac97d44ac27bdbb010a9c3597401a8f89341f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 18:56:01 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:53 2008 +0200"
      },
      "message": "clockevents: prevent stale tick_next_period for onlining CPUs\n\nImpact: possible hang on CPU onlining in timer one shot mode.\n\nThe tick_next_period variable is only used during boot on nohz/highres\nenabled systems, but for CPU onlining it needs to be maintained when\nthe per cpu clock events device operates in one shot mode.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6441402b1f173fa38e561d3cee7c01c32e5281ad",
      "tree": "fd7c81337354f39e44581530d499bcdda06d76c4",
      "parents": [
        "72d31053f62c4bc464c2783974926969614a8649"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 18:46:37 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:52 2008 +0200"
      },
      "message": "clockevents: prevent cpu online to interfere with nohz\n\nImpact: rare hang which can be triggered on CPU online.\n\ntick_do_timer_cpu keeps track of the CPU which updates jiffies\nvia do_timer. The value -1 is used to signal, that currently no\nCPU is doing this. There are two cases, where the variable can \nhave this state:\n\n boot:\n    necessary for systems where the boot cpu id can be !\u003d 0\n\n nohz long idle sleep:\n    When the CPU which did the jiffies update last goes into\n    a long idle sleep it drops the update jiffies duty so\n    another CPU which is not idle can pick it up and keep\n    jiffies going.\n\nUsing the same value for both situations is wrong, as the CPU online\ncode can see the -1 state when the timer of the newly onlined CPU is\nsetup. The setup for a newly onlined CPU goes through periodic mode\nand can pick up the do_timer duty without being aware of the nohz /\nhighres mode of the already running system.\n\nUse two separate states and make them constants to avoid magic\nnumbers confusion. \n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "56c7426b3951e4f35a71d695f1c982989399d6fd",
      "tree": "26001a24308baceab1ff36eb8ab1ed43fb831a4f",
      "parents": [
        "b380b0d4f7dffcc235c0facefa537d4655619101"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 01 16:44:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 18:14:08 2008 +0200"
      },
      "message": "sched_clock: fix NOHZ interaction\n\nIf HLT stops the TSC, we\u0027ll fail to account idle time, thereby inflating the\nactual process times. Fix this by re-calibrating the clock against GTOD when\nleaving nohz mode.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c4fbe5e01d7e5309be5045e7ae0db20a049e6dc",
      "tree": "550195cb1a2ed58bc343e9a4f54d773e8abd5f90",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Aug 20 16:37:38 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:54:06 2008 +0200"
      },
      "message": "nohz: fix wrong event handler after online an offlined cpu\n\nOn the tickless system(CONFIG_NO_HZ\u003dy and CONFIG_HIGH_RES_TIMERS\u003dn), after\nI made an offlined cpu online, I found this cpu\u0027s event handler was\ntick_handle_periodic, not tick_nohz_handler.\n\nAfter debuging, I found this bug was caused by the wrong tick mode.  the\ntick mode is not changed to NOHZ_MODE_INACTIVE when the cpu is offline.\n\nThis patch fixes this bug.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4e4e534faa3c2be4e165ce414f44b76ada7208c",
      "tree": "615280ce53bdba4f99c95616d2a1527c3b863c39",
      "parents": [
        "39675e89fb472c1b9c8e740e00acb1df2bbc6be7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:29 2008 +0200"
      },
      "message": "sched clock: revert various sched_clock() changes\n\nFound an interactivity problem on a quad core test-system - simple\nCPU loops would occasionally delay the system un an unacceptable way.\n\nAfter much debugging with Peter Zijlstra it turned out that the problem\nis caused by the string of sched_clock() changes - they caused the CPU\nclock to jump backwards a bit - which confuses the scheduler arithmetics.\n\n(which is unsigned for performance reasons)\n\nSo revert:\n\n # c300ba2: sched_clock: and multiplier for TSC to gtod drift\n # c0c8773: sched_clock: only update deltas with local reads.\n # af52a90: sched_clock: stop maximum check on NO HZ\n # f7cce27: sched_clock: widen the max and min time\n\nThis solves the interactivity problems.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "ecc8b655b38a880b578146895e0e1e2d477ca2c0",
      "tree": "4acce96bac00909fa9472f0c0669714243ea5bee",
      "parents": [
        "2528ce3237be4e900f5eaa455490146e1422e424",
        "e338125b8a886923ba8367207c144764dc352584"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  nohz: adjust tick_nohz_stop_sched_tick() call of s390 as well\n  nohz: prevent tick stop outside of the idle loop\n"
    },
    {
      "commit": "9b610fda0df5d0f0b0c64242e37441ad1b384aac",
      "tree": "0ea14b15f2e6546f37fe18d8ac3dc83077ec0e55",
      "parents": [
        "b8f8c3cf0a4ac0632ec3f0e15e9dc0c29de917af",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 19:53:16 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 19:53:16 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/nohz\n"
    },
    {
      "commit": "b8f8c3cf0a4ac0632ec3f0e15e9dc0c29de917af",
      "tree": "183825db00f4e9252603a51a1be6f8874a963dbc",
      "parents": [
        "857f3fd7a496ddf4329345af65a4a2b16dd25fe8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 18 17:27:28 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 18 18:10:28 2008 +0200"
      },
      "message": "nohz: prevent tick stop outside of the idle loop\n\nJack Ren and Eric Miao tracked down the following long standing\nproblem in the NOHZ code:\n\n\tscheduler switch to idle task\n\tenable interrupts\n\nWindow starts here\n\n\t----\u003e interrupt happens (does not set NEED_RESCHED)\n\t      \tirq_exit() stops the tick\n\n\t----\u003e interrupt happens (does set NEED_RESCHED)\n\n\treturn from schedule()\n\t\n\tcpu_idle(): preempt_disable();\n\nWindow ends here\n\nThe interrupts can happen at any point inside the race window. The\nfirst interrupt stops the tick, the second one causes the scheduler to\nrerun and switch away from idle again and we end up with the tick\ndisabled.\n\nThe fact that it needs two interrupts where the first one does not set\nNEED_RESCHED and the second one does made the bug obscure and extremly\nhard to reproduce and analyse. Kudos to Jack and Eric.\n\nSolution: Limit the NOHZ functionality to the idle loop to make sure\nthat we can not run into such a situation ever again.\n\ncpu_idle()\n{\n\tpreempt_disable();\n\n\twhile(1) {\n\t\t tick_nohz_stop_sched_tick(1); \u003c- tell NOHZ code that we\n\t\t \t\t\t          are in the idle loop\n\n\t\t while (!need_resched())\n\t\t       halt();\n\n\t\t tick_nohz_restart_sched_tick(); \u003c- disables NOHZ mode\n\t\t preempt_enable_no_resched();\n\t\t schedule();\n\t\t preempt_disable();\n\t}\n}\n\nIn hindsight we should have done this forever, but ... \n\n/me grabs a large brown paperbag.\n\nDebugged-by: Jack Ren \u003cjack.ren@marvell.com\u003e, \nDebugged-by: eric miao \u003ceric.y.miao@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "1e09481365ce248dbb4eb06dad70129bb5807037",
      "tree": "c0cff5bef95c8b5e7486f144718ade9a06c284dc",
      "parents": [
        "3e2f69fdd1b00166e7d589bce56b2d36a9e74374",
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 23:12:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 23:12:58 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/softlockup\n\nConflicts:\n\n\tkernel/softlockup.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "da6e88f4963385b1b649b043691d206fbb951913",
      "tree": "779a1a6cf04dad09dee0828ad4ece0927de1b5f3",
      "parents": [
        "61d97f4fcf73d30864a52373a34093be25be6a03",
        "7dc9719682ce8c46215bc9a1bdc7ee0c38ada94b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:39:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:39:57 2008 -0700"
      },
      "message": "Merge branch \u0027timers/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: add PCI ID for 6300ESB force hpet\n  x86: add another PCI ID for ICH6 force-hpet\n  kernel-paramaters: document pmtmr\u003d command line option\n  acpi_pm clccksource: fix printk format warning\n  nohz: don\u0027t stop idle tick if softirqs are pending.\n  pmtmr: allow command line override of ioport\n  nohz: reduce jiffies polling overhead\n  hrtimer: Remove unused variables in ktime_divns()\n  hrtimer: remove warning in hres_timers_resume\n  posix-timers: print RT watchdog message\n"
    },
    {
      "commit": "af52a90a14cdaa54ecbfb6e6982abb13466a4b56",
      "tree": "2488d6d7943b167987c33f984f7109c3dc4ae783",
      "parents": [
        "f7cce27f5605b9e137b829a47949cb2d3c7e1cab"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 07 14:16:52 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:53:26 2008 +0200"
      },
      "message": "sched_clock: stop maximum check on NO HZ\n\nWorking with ftrace I would get large jumps of 11 millisecs or more with\nthe clock tracer. This killed the latencing timings of ftrace and also\ncaused the irqoff self tests to fail.\n\nWhat was happening is with NO_HZ the idle would stop the jiffy counter and\nbefore the jiffy counter was updated the sched_clock would have a bad\ndelta jiffies to compare with the gtod with the maximum.\n\nThe jiffies would stop and the last sched_tick would record the last gtod.\nOn wakeup, the sched clock update would compare the gtod + delta jiffies\n(which would be zero) and compare it to the TSC. The TSC would have\ncorrectly (with a stable TSC) moved forward several jiffies. But because the\njiffies has not been updated yet the clock would be prevented from moving\nforward because it would appear that the TSC jumped too far ahead.\n\nThe clock would then virtually stop, until the jiffies are updated. Then\nthe next sched clock update would see that the clock was very much behind\nsince the delta jiffies is now correct. This would then jump the clock\nforward by several jiffies.\n\nThis caused ftrace to report several milliseconds of interrupts off\nlatency at every resume from NO_HZ idle.\n\nThis patch adds hooks into the nohz code to disable the checking of the\nmaximum clock update when nohz is in effect. It resumes the max check\nwhen nohz has updated the jiffies again.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "857f3fd7a496ddf4329345af65a4a2b16dd25fe8",
      "tree": "7bd1b0de6e82363beba60097529b72ac7de923f5",
      "parents": [
        "7a14ce1d8c1d3a6118d406e64eaf9aa70375e085"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Jul 11 11:09:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 11:17:04 2008 +0200"
      },
      "message": "nohz: don\u0027t stop idle tick if softirqs are pending.\n\nIn case a cpu goes idle but softirqs are pending only an error message is\nprinted to the console. It may take a very long time until the pending\nsoftirqs will finally be executed. Worst case would be a hanging system.\n\nWith this patch the timer tick just continues and the softirqs will be\nexecuted after the next interrupt. Still a delay but better than a\nhanging system.\n\nCurrently we have at least two device drivers on s390 which under certain\ncircumstances schedule a tasklet from process context. This is a reason\nwhy we can end up with pending softirqs when going idle. Fixing these\ndrivers seems to be non-trivial.\nHowever there is no question that the drivers should be fixed.\nThis patch shouldn\u0027t be considered as a bug fix. It just is intended to\nkeep a system running even if device drivers are buggy.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Jan Glauber \u003cjan.glauber@de.ibm.com\u003e\nCc: Stefan Weinhuber \u003cwein@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7a14ce1d8c1d3a6118d406e64eaf9aa70375e085",
      "tree": "01a0d9f785a849fc4242d024bd1afa7deb7c1bf6",
      "parents": [
        "916941b2bfd9c4a8b66855f198ae16c3f51ef570"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 15:43:53 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 30 14:16:10 2008 +0200"
      },
      "message": "nohz: reduce jiffies polling overhead\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02ff375590ac4140d88afc76505df1ad45c6af59",
      "tree": "6c24cfb6d0e652f691325dc63afab1373b808442",
      "parents": [
        "1c4cd6dd1d0fd3057bb6b8c87460049497889d1b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 15:43:53 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 30 14:15:02 2008 +0200"
      },
      "message": "softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds\n\nFix (probably theoretical only) rq-\u003eclock update bug:\nin tick_nohz_update_jiffies() [which is called on all irq\nentry on all cpus where the irq entry hits an idle cpu] we\ncall touch_softlockup_watchdog() before we update jiffies.\nThat works fine most of the time when idle timeouts are within\n60 seconds. But when an idle timeout is beyond 60 seconds,\njiffies is updated with a jump of more than 60 seconds,\nwhich causes a jump in cpu-clock of more than 60 seconds,\ntriggering a false positive.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "126e01bf92dfc5f0ba91e88be02c473e1506d7d9",
      "tree": "fe883f07319193bfbec244becc43e64a22e64f95",
      "parents": [
        "88a411c07b6fedcfc97b8dc51ae18540bd2beda0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 25 00:25:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 25 00:25:08 2008 +0200"
      },
      "message": "softlockup: fix NOHZ wakeup\n\nDavid Miller reported:\n\n|---------------\u003e\nthe following commit:\n\n| commit 27ec4407790d075c325e1f4da0a19c56953cce23\n| Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n| Date:   Thu Feb 28 21:00:21 2008 +0100\n|\n|     sched: make cpu_clock() globally synchronous\n|\n|     Alexey Zaytsev reported (and bisected) that the introduction of\n|     cpu_clock() in printk made the timestamps jump back and forth.\n|\n|     Make cpu_clock() more reliable while still keeping it fast when it\u0027s\n|     called frequently.\n|\n|     Signed-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\ncauses watchdog triggers when a cpu exits NOHZ state when it has been\nthere for \u003e\u003d the soft lockup threshold, for example here are some\nmessages from a 128 cpu Niagara2 box:\n\n[  168.106406] BUG: soft lockup - CPU#11 stuck for 128s! [dd:3239]\n[  168.989592] BUG: soft lockup - CPU#21 stuck for 86s! [swapper:0]\n[  168.999587] BUG: soft lockup - CPU#29 stuck for 91s! [make:4511]\n[  168.999615] BUG: soft lockup - CPU#2 stuck for 85s! [swapper:0]\n[  169.020514] BUG: soft lockup - CPU#37 stuck for 91s! [swapper:0]\n[  169.020514] BUG: soft lockup - CPU#45 stuck for 91s! [sh:4515]\n[  169.020515] BUG: soft lockup - CPU#69 stuck for 92s! [swapper:0]\n[  169.020515] BUG: soft lockup - CPU#77 stuck for 92s! [swapper:0]\n[  169.020515] BUG: soft lockup - CPU#61 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#85 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#101 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#109 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#117 stuck for 92s! [swapper:0]\n[  169.171483] BUG: soft lockup - CPU#40 stuck for 80s! [dd:3239]\n[  169.331483] BUG: soft lockup - CPU#13 stuck for 86s! [swapper:0]\n[  169.351500] BUG: soft lockup - CPU#43 stuck for 101s! [dd:3239]\n[  169.531482] BUG: soft lockup - CPU#9 stuck for 129s! [mkdir:4565]\n[  169.595754] BUG: soft lockup - CPU#20 stuck for 93s! [swapper:0]\n[  169.626787] BUG: soft lockup - CPU#52 stuck for 93s! [swapper:0]\n[  169.626787] BUG: soft lockup - CPU#84 stuck for 92s! [swapper:0]\n[  169.636812] BUG: soft lockup - CPU#116 stuck for 94s! [swapper:0]\n\nIt\u0027s simple enough to trigger this by doing a 10 minute sleep after a\nfresh bootup then starting a parallel kernel build.\n\nI suspect this might be reintroducing a problem we\u0027ve had and fixed\nbefore, see the thread:\n\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d119546414004065\u0026w\u003d2\n\u003c---------------|\n\ntouch the softlockup watchdog when exiting NOHZ state - we are\nobviously not locked up.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d0b27fa77854b149ad4af08b0fe47fe712a47ade",
      "tree": "2f4487c108a5132e8d52456567b4a67e78fbb4a6",
      "parents": [
        "57d3da2911787a101a384532f4519f9640bae883"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: rt-group: synchonised bandwidth period\n\nVarious SMP balancing algorithms require that the bandwidth period\nrun in sync.\n\nPossible improvements are moving the rt_bandwidth thing into root_domain\nand keeping a span per rt_bandwidth which marks throttled cpus.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "903b8a8d4835a796f582033802c83283886f4a3d",
      "tree": "11837b4da0000633f90000bb47aaa4fa82a029be",
      "parents": [
        "3f3eafc921e2378954c28cfd0eb10910449f4c11"
      ],
      "author": {
        "name": "Karsten Wiese",
        "email": "fzu@wemgehoertderstaat.de",
        "time": "Thu Feb 28 15:10:50 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "clockevents: optimise tick_nohz_stop_sched_tick() a bit\n\nCall\n\tts \u003d \u0026per_cpu(tick_cpu_sched, cpu);\nand\n\tcpu \u003d smp_processor_id();\nonce instead of twice.\n\nNo functional change done, as changed code runs with local irq off.\nReduces source lines and text size (20bytes on x86_64).\n\n[ akpm@linux-foundation.org: Build fix ]\n\nSigned-off-by: Karsten Wiese \u003cfzu@wemgehoertderstaat.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a79017660ea4597ec489fab3b5aaf71dd776dfc7",
      "tree": "87fedadc8d003391c9ccf5d3cf0aba69fb8e443d",
      "parents": [
        "38332cb98772f5ea757e6486bed7ed0381cb5f98"
      ],
      "author": {
        "name": "Karsten Wiese",
        "email": "fzu@wemgehoertderstaat.de",
        "time": "Tue Mar 04 14:59:55 2008 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "time: don\u0027t touch an offlined CPU\u0027s ts-\u003etick_stopped in tick_cancel_sched_timer()\n\nSilences WARN_ONs in rcu_enter_nohz() and rcu_exit_nohz(), which appeared\nbefore caused by (repeated) calls to:\n        $ echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n        $ echo 1 \u003e /sys/devices/system/cpu/cpu1/online\n\nSigned-off-by: Karsten Wiese \u003cfzu@wemgehoertderstaat.de\u003e\nCc: johnstul@us.ibm.com\nCc: Rafael Wysocki \u003crjw@sisk.pl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2232c2d8e0a6a31061dec311f3d1cf7624bc14f1",
      "tree": "1d90ec0b8bd4e3c154e386f005ef596ee25fa53f",
      "parents": [
        "c0f4133b8f70769bc8dda977feb9a29109d6ccca"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 29 18:46:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 29 18:46:50 2008 +0100"
      },
      "message": "rcu: add support for dynamic ticks and preempt rcu\n\nThe PREEMPT-RCU can get stuck if a CPU goes idle and NO_HZ is set. The\nidle CPU will not progress the RCU through its grace period and a\nsynchronize_rcu my get stuck. Without this patch I have a box that will\nnot boot when PREEMPT_RCU and NO_HZ are set. That same box boots fine\nwith this patch.\n\nThis patch comes from the -rt kernel where it has been tested for\nseveral months.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf4fc6cb76e50b01666e28a9f4b2e6fbcbb96d5f",
      "tree": "ac1e027b7e759822014bd3a72ababd1fa1052198",
      "parents": [
        "0b858e6ff9a38b987a83d22e6f2a2f621c80608d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 08 04:19:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "timekeeping: rename timekeeping_is_continuous to timekeeping_valid_for_hres\n\nFunction timekeeping_is_continuous() no longer checks flag\nCLOCK_IS_CONTINUOUS, and it checks CLOCK_SOURCE_VALID_FOR_HRES now.  So rename\nthe function accordingly.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5df7fa1c62146a0933767d040d400013310dbcc7",
      "tree": "bfd108f0d33a91d4f2476df7f5a7f562b640eb97",
      "parents": [
        "1001d0a9ee74a468077dfd4da0565174e88de26b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "message": "tick-sched: add more debug information\n\nTo allow better diagnosis of tick-sched related, especially NOHZ\nrelated problems, we need to know when the last wakeup via an irq\nhappened and when the CPU left the idle state.\n\nAdd two fields (idle_waketime, idle_exittime) to the tick_sched\nstructure and add them to the timer_list output.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6378ddb592158db4b42197f1bc8666228800e379",
      "tree": "f9b1e671dfd12fb221f6140dd231ccb14cd9f27e",
      "parents": [
        "bbe4d18ac2e058c56adb0cd71f49d9ed3216a405"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed Jan 30 13:30:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:04 2008 +0100"
      },
      "message": "time: track accurate idle time with tick_sched.idle_sleeptime\n\nCurrent idle time in kstat is based on jiffies and is coarse grained.\ntick_sched.idle_sleeptime is making some attempt to keep track of idle time\nin a fine grained manner.  But, it is not handling the time spent in\ninterrupts fully.\n\nMake tick_sched.idle_sleeptime accurate with respect to time spent on\nhandling interrupts and also add tick_sched.idle_lastupdate, which keeps\ntrack of last time when idle_sleeptime was updated.\n\nThis statistics will be crucial for cpufreq-ondemand governor, which can\nshed some conservative gaurd band that is uses today while setting the\nfrequency.  The ondemand changes that uses the exact idle time is coming\nsoon.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b10db7f0d2b589a7f88dc3026e150756cb437a28",
      "tree": "92942041770257c78f7271b79d9860eec10bd77c",
      "parents": [
        "4c9dc6412247abf4972080c51cd16a58c4009c19"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "message": "time: more timer related cleanups\n\nI was confused by FSEC \u003d 10^15 NSEC statement, plus small whitespace\nfixes. When there\u0027s copyright, there should be GPL.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4c9dc6412247abf4972080c51cd16a58c4009c19",
      "tree": "a6c9b22da4ff5537219c03fbbfc919b95a27df2a",
      "parents": [
        "a6fa8e5a6172a5a5bc06ed04f34e50b36c978127"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "message": "time: timer cleanups\n\nSmall cleanups to tick-related code. Wrong preempt count is followed\nby BUG(), so it is hardly KERN_WARNING.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2d44ae4d7135b9aee26439b3523b43473381bc5f",
      "tree": "ba3afc0f03142d26f9238974dab5b99bf1dca1db",
      "parents": [
        "48d5e258216f1c7713633439beb98a38c7290649"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "message": "hrtimer: clean up cpu-\u003ebase locking tricks\n\nIn order to more easily allow for the scheduler to use timers, clean up\nthe locking a bit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48d5e258216f1c7713633439beb98a38c7290649",
      "tree": "6f8c98785015d56337e87ed56b23d39feeeaf846",
      "parents": [
        "614ee1f61f667b02165c1ae0c1357048dc6d94a0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "message": "sched: rt throttling vs no_hz\n\nWe need to teach no_hz about the rt throttling because its tick driven.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3938204468dccae16be0099a2abf53db4ed0505",
      "tree": "c38797ab6c6f0ef19e1da713da2c079c691affc7",
      "parents": [
        "a531a141089714efe39eca89593524fdf05104f2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 28 15:52:56 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 28 15:52:56 2007 +0100"
      },
      "message": "softlockup: fix false positives on CONFIG_NOHZ\n\nDavid Miller reported soft lockup false-positives that trigger\non NOHZ due to CPUs idling for more than 10 seconds.\n\nThe solution is touch the softlockup watchdog when we return from\nidle. (by definition we are not \u0027locked up\u0027 when we were idle)\n\n http://bugzilla.kernel.org/show_bug.cgi?id\u003d9409\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8dce39c231af554932f8ab0d671e077ab6db9e46",
      "tree": "ac09b1b9f93b0056ea7e9709be56dbfbf447b894",
      "parents": [
        "001e09e86c1c7612783f46256500c31e5ed55c6a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Nov 05 14:51:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Nov 05 15:12:33 2007 -0800"
      },
      "message": "time: fix inconsistent function names in comments\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64e38eb082bd845d6758079f65b191203986336d",
      "tree": "13047d1a2c91d47cee6bffacfd27735d981a64aa",
      "parents": [
        "2a397e82c7db18019e408f953dd58dc1963a328c"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 24 18:24:22 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 29 09:39:38 2007 +0100"
      },
      "message": "clockevents: unexport tick_nohz_get_sleep_length\n\nThis patch removes the unused \nEXPORT_SYMBOL_GPL(tick_nohz_get_sleep_length).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "c4ec20717313daafba59225f812db89595952b83",
      "tree": "253337453b1dc965c40668e4949337ed1c46cab7",
      "parents": [
        "ec2626815bf9a9922e49820b03e670e833f3ca3c",
        "00a2b433557f10736e8a02de619b3e9052556c12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 13:12:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 13:12:46 2007 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (41 commits)\n  ACPICA: hw: Don\u0027t carry spinlock over suspend\n  ACPICA: hw: remove use_lock flag from acpi_hw_register_{read, write}\n  ACPI: cpuidle: port idle timer suspend/resume workaround to cpuidle\n  ACPI: clean up acpi_enter_sleep_state_prep\n  Hibernation: Make sure that ACPI is enabled in acpi_hibernation_finish\n  ACPI: suppress uninitialized var warning\n  cpuidle: consolidate 2.6.22 cpuidle branch into one patch\n  ACPI: thinkpad-acpi: skip blanks before the data when parsing sysfs\n  ACPI: AC: Add sysfs interface\n  ACPI: SBS: Add sysfs alarm\n  ACPI: SBS: Add ACPI_PROCFS around procfs handling code.\n  ACPI: SBS: Add support for power_supply class (and sysfs)\n  ACPI: SBS: Make SBS reads table-driven.\n  ACPI: SBS: Simplify data structures in SBS\n  ACPI: SBS: Split host controller (ACPI0001) from SBS driver (ACPI0002)\n  ACPI: EC: Add new query handler to list head.\n  ACPI: Add acpi_bus_generate_event4() function\n  ACPI: Battery: add sysfs alarm\n  ACPI: Battery: Add sysfs support\n  ACPI: Battery: Misc clean-ups, no functional changes\n  ...\n\nFix up conflicts in drivers/misc/thinkpad_acpi.[ch] manually\n"
    },
    {
      "commit": "b2d9323d139f5c384fa1ef1d74773b4db1c09b3d",
      "tree": "ad2705044b5b781aeb1a119d9c8548a044c7e21f",
      "parents": [
        "3075d9da0b4ccc88959db30de80ebd11d2dde175"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Oct 16 23:27:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:53 2007 -0700"
      },
      "message": "Use num_possible_cpus() instead of NR_CPUS for timer distribution\n\nTo avoid lock contention, we distribute the sched_timer calls across the\ncpus so they do not trigger at the same instant.  However, I used NR_CPUS,\nwhich can cause needless grouping on small smp systems depending on your\nkernel config.  This patch converts to using num_possible_cpus() so we\nspread it as evenly as possible on every machine.\n\nBriefly tested w/ NR_CPUS\u003d255 and verified reduced contention.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f86d3a8e297205780cca027e974fd5f81064780",
      "tree": "3c89624dea48a9de756256c935660ff7b24d5376",
      "parents": [
        "bbf25010f1a6b761914430f5fca081ec8c7accd1"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Oct 03 18:58:00 2007 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Oct 10 00:12:41 2007 -0400"
      },
      "message": "cpuidle: consolidate 2.6.22 cpuidle branch into one patch\n\ncommit e5a16b1f9eec0af7cfa0830304b41c1c0833cf9f\nAuthor: Len Brown \u003clen.brown@intel.com\u003e\nDate:   Tue Oct 2 23:44:44 2007 -0400\n\n    cpuidle: shrink diff\n\n    processor_idle.c |  440 +++++++++++++++++++++++++++++++++++++++++--\n    1 file changed, 429 insertions(+), 11 deletions(-)\n\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit dfbb9d5aedfb18848a3e0d6f6e3e4969febb209c\nAuthor: Len Brown \u003clen.brown@intel.com\u003e\nDate:   Wed Sep 26 02:17:55 2007 -0400\n\n    cpuidle: reduce diff size\n\n    Reduces the cpuidle processor_idle.c diff vs 2.6.22 from this\n     processor_idle.c | 2006 ++++++++++++++++++++++++++-----------------\n     1 file changed, 1219 insertions(+), 787 deletions(-)\n\n    to this:\n     processor_idle.c |  502 +++++++++++++++++++++++++++++++++++++++----\n     1 file changed, 458 insertions(+), 44 deletions(-)\n\n    ...for the purpose of making the cpuilde patch less invasive\n    and easier to review.\n\n    no functional changes.  build tested only.\n\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 889172fc915f5a7fe20f35b133cbd205ce69bf6c\nAuthor: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Thu Sep 13 13:40:05 2007 -0700\n\n    cpuidle: Retain old ACPI policy for !CONFIG_CPU_IDLE\n\n    Retain the old policy in processor_idle, so that when CPU_IDLE is not\n    configured, old C-state policy will still be used. This provides a\n    clean gradual migration path from old ACPI policy to new cpuidle\n    based policy.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 9544a8181edc7ecc33b3bfd69271571f98ed08bc\nAuthor: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Thu Sep 13 13:39:17 2007 -0700\n\n    cpuidle: Configure governors by default\n\n    Quoting Len \"Do not give an option to users to shoot themselves in the foot\".\n\n    Remove the configurability of ladder and menu governors as they are\n    needed for default policy of cpuidle. That way users will not be able to\n    have cpuidle without any policy loosing all C-state power savings.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 8975059a2c1e56cfe83d1bcf031bcf4cb39be743\nAuthor: Adam Belay \u003cabelay@novell.com\u003e\nDate:   Tue Aug 21 18:27:07 2007 -0400\n\n    CPUIDLE: load ACPI properly when CPUIDLE is disabled\n\n    Change the registration return codes for when CPUIDLE\n    support is not compiled into the kernel.  As a result, the ACPI\n    processor driver will load properly even if CPUIDLE is unavailable.\n    However, it may be possible to cleanup the ACPI processor driver further\n    and eliminate some dead code paths.\n\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Acked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit e0322e2b58dd1b12ec669bf84693efe0dc2414a8\nAuthor: Adam Belay \u003cabelay@novell.com\u003e\nDate:   Tue Aug 21 18:26:06 2007 -0400\n\n    CPUIDLE: remove cpuidle_get_bm_activity()\n\n    Remove cpuidle_get_bm_activity() and updates governors\n    accordingly.\n\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Acked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 18a6e770d5c82ba26653e53d240caa617e09e9ab\nAuthor: Adam Belay \u003cabelay@novell.com\u003e\nDate:   Tue Aug 21 18:25:58 2007 -0400\n\n    CPUIDLE: max_cstate fix\n\n    Currently max_cstate is limited to 0, resulting in no idle processor\n    power management on ACPI platforms.  This patch restores the value to\n    the array size.\n\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Acked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 1fdc0887286179b40ce24bcdbde663172e205ef0\nAuthor: Adam Belay \u003cabelay@novell.com\u003e\nDate:   Tue Aug 21 18:25:40 2007 -0400\n\n    CPUIDLE: handle BM detection inside the ACPI Processor driver\n\n    Update the ACPI processor driver to detect BM activity and\n    limit state entry depth internally, rather than exposing such\n    requirements to CPUIDLE.  As a result, CPUIDLE can drop this\n    ACPI-specific interface and become more platform independent.  BM\n    activity is now handled much more aggressively than it was in the\n    original implementation, so some testing coverage may be needed to\n    verify that this doesn\u0027t introduce any DMA buffer under-run issues.\n\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Acked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 0ef38840db666f48e3cdd2b769da676c57228dd9\nAuthor: Adam Belay \u003cabelay@novell.com\u003e\nDate:   Tue Aug 21 18:25:14 2007 -0400\n\n    CPUIDLE: menu governor updates\n\n    Tweak the menu governor to more effectively handle non-timer\n    break events.  Non-timer break events are detected by comparing the\n    actual sleep time to the expected sleep time.  In future revisions, it\n    may be more reliable to use the timer data structures directly.\n\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Acked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit bb4d74fca63fa96cf3ace644b15ae0f12b7df5a1\nAuthor: Adam Belay \u003cabelay@novell.com\u003e\nDate:   Tue Aug 21 18:24:40 2007 -0400\n\n    CPUIDLE: fix \u0027current_governor\u0027 sysfs entry\n\n    Allow the \"current_governor\" sysfs entry to properly handle\n    input terminated with \u0027\\n\u0027.\n\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Acked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit df3c71559bb69b125f1a48971bf0d17f78bbdf47\nAuthor: Len Brown \u003clen.brown@intel.com\u003e\nDate:   Sun Aug 12 02:00:45 2007 -0400\n\n    cpuidle: fix IA64 build (again)\n\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit a02064579e3f9530fd31baae16b1fc46b5a7bca8\nAuthor: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Sun Aug 12 01:39:27 2007 -0400\n\n    cpuidle: Remove support for runtime changing of max_cstate\n\n    Remove support for runtime changeability of max_cstate. Drivers can use\n    use latency APIs.\n\n    max_cstate can still be used as a boot time option and dmi override.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 0912a44b13adf22f5e3f607d263aed23b4910d7e\nAuthor: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Sun Aug 12 01:39:16 2007 -0400\n\n    cpuidle: Remove ACPI cstate_limit calls from ipw2100\n\n    ipw2100 already has code to use accetable_latency interfaces to limit the\n    C-state. Remove the calls to acpi_set_cstate_limit and acpi_get_cstate_limit\n    as they are redundant.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit c649a76e76be6bff1fd770d0a775798813a3f6e0\nAuthor: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Sun Aug 12 01:35:39 2007 -0400\n\n    cpuidle: compile fix for pause and resume functions\n\n    Fix the compilation failure when cpuidle is not compiled in.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Acked-by: Adam Belay \u003cadam.belay@novell.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 2305a5920fb8ee6ccec1c62ade05aa8351091d71\nAuthor: Adam Belay \u003cabelay@novell.com\u003e\nDate:   Thu Jul 19 00:49:00 2007 -0400\n\n    cpuidle: re-write\n\n    Some portions have been rewritten to make the code cleaner and lighter\n    weight.  The following is a list of changes:\n\n    1.) the state name is now included in the sysfs interface\n    2.) detection, hotplug, and available state modifications are handled by\n    CPUIDLE drivers directly\n    3.) the CPUIDLE idle handler is only ever installed when at least one\n    cpuidle_device is enabled and ready\n    4.) the menu governor BM code no longer overflows\n    5.) the sysfs attributes are now printed as unsigned integers, avoiding\n    negative values\n    6.) a variety of other small cleanups\n\n    Also, Idle drivers are no longer swappable during runtime through the\n    CPUIDLE sysfs inteface.  On i386 and x86_64 most idle handlers (e.g.\n    poll, mwait, halt, etc.) don\u0027t benefit from an infrastructure that\n    supports multiple states, so I think using a more general case idle\n    handler selection mechanism would be cleaner.\n\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Acked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Acked-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit df25b6b56955714e6e24b574d88d1fd11f0c3ee5\nAuthor: Len Brown \u003clen.brown@intel.com\u003e\nDate:   Tue Jul 24 17:08:21 2007 -0400\n\n    cpuidle: fix IA64 buid\n\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit fd6ada4c14488755ff7068860078c437431fbccd\nAuthor: Adrian Bunk \u003cbunk@stusta.de\u003e\nDate:   Mon Jul 9 11:33:13 2007 -0700\n\n    cpuidle: static\n\n    make cpuidle_replace_governor() static\n\n    Signed-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n    Cc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit c1d4a2cebcadf2429c0c72e1d29aa2a9684c32e0\nAuthor: Adrian Bunk \u003cbunk@stusta.de\u003e\nDate:   Tue Jul 3 00:54:40 2007 -0400\n\n    cpuidle: static\n\n    This patch makes the needlessly global struct menu_governor static.\n\n    Signed-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit dbf8780c6e8d572c2c273da97ed1cca7608fd999\nAuthor: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nDate:   Tue Jul 3 00:49:14 2007 -0400\n\n    export symbol tick_nohz_get_sleep_length\n\n    ERROR: \"tick_nohz_get_sleep_length\" [drivers/cpuidle/governors/menu.ko] undefined!\n    ERROR: \"tick_nohz_get_idle_jiffies\" [drivers/cpuidle/governors/menu.ko] undefined!\n\n    And please be sure to get your changes to core kernel suitably reviewed.\n\n    Cc: Adam Belay \u003cabelay@novell.com\u003e\n    Cc: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Cc: Ingo Molnar \u003cmingo@elte.hu\u003e\n    Cc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n    Cc: john stultz \u003cjohnstul@us.ibm.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 29f0e248e7017be15f99febf9143a2cef00b2961\nAuthor: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nDate:   Tue Jul 3 00:43:04 2007 -0400\n\n    tick.h needs hrtimer.h\n\n    It uses hrtimers.\n\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit e40cede7d63a029e92712a3fe02faee60cc38fb4\nAuthor: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Tue Jul 3 00:40:34 2007 -0400\n\n    cpuidle: first round of documentation updates\n\n    Documentation changes based on Pavel\u0027s feedback.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 83b42be2efece386976507555c29e7773a0dfcd1\nAuthor: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Tue Jul 3 00:39:25 2007 -0400\n\n    cpuidle: add rating to the governors and pick the one with highest rating by default\n\n    Introduce a governor rating scheme to pick the right governor by default.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit d2a74b8c5e8f22def4709330d4bfc4a29209b71c\nAuthor: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Tue Jul 3 00:38:08 2007 -0400\n\n    cpuidle: make cpuidle sysfs driver governor switch off by default\n\n    Make default cpuidle sysfs to show current_governor and current_driver in\n    read-only mode.  More elaborate available_governors and available_drivers with\n    writeable current_governor and current_driver interface only appear with\n    \"cpuidle_sysfs_switch\" boot parameter.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 1f60a0e80bf83cf6b55c8845bbe5596ed8f6307b\nAuthor: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Tue Jul 3 00:37:00 2007 -0400\n\n    cpuidle: menu governor: change the early break condition\n\n    Change the C-state early break out algorithm in menu governor.\n\n    We only look at early breakouts that result in wakeups shorter than idle\n    state\u0027s target_residency.  If such a breakout is frequent enough, eliminate\n    the particular idle state upto a timeout period.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 45a42095cf64b003b4a69be3ce7f434f97d7af51\nAuthor: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Tue Jul 3 00:35:38 2007 -0400\n\n    cpuidle: fix uninitialized variable in sysfs routine\n\n    Fix the uninitialized usage of ret.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 80dca7cdba3e6ee13eae277660873ab9584eb3be\nAuthor: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Tue Jul 3 00:34:16 2007 -0400\n\n    cpuidle: reenable /proc/acpi//power interface for the time being\n\n    Keep /proc/acpi/processor/CPU*/power around for a while as powertop depends\n    on it. It will be marked deprecated and removed in future. powertop can use\n    cpuidle interfaces instead.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 589c37c2646c5e3813a51255a5ee1159cb4c33fc\nAuthor: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Tue Jul 3 00:32:37 2007 -0400\n\n    cpuidle: menu governor and hrtimer compile fix\n\n    Compile fix for menu governor.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 0ba80bd9ab3ed304cb4f19b722e4cc6740588b5e\nAuthor: Len Brown \u003clen.brown@intel.com\u003e\nDate:   Thu May 31 22:51:43 2007 -0400\n\n    cpuidle: build fix - cpuidle vs ipw2100 module\n\n    ERROR: \"acpi_set_cstate_limit\" [drivers/net/wireless/ipw2100.ko] undefined!\n\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit d7d8fa7f96a7f7682be7c6cc0cc53fa7a18c3b58\nAuthor: Adam Belay \u003cabelay@novell.com\u003e\nDate:   Sat Mar 24 03:47:07 2007 -0400\n\n    cpuidle: add the \u0027menu\u0027 governor\n\n    Here is my first take at implementing an idle PM governor that takes\n    full advantage of NO_HZ.  I call it the \u0027menu\u0027 governor because it\n    considers the full list of idle states before each entry.\n\n    I\u0027ve kept the implementation fairly simple.  It attempts to guess the\n    next residency time and then chooses a state that would meet at least\n    the break-even point between power savings and entry cost.  To this end,\n    it selects the deepest idle state that satisfies the following\n    constraints:\n         1. If the idle time elapsed since bus master activity was detected\n            is below a threshold (currently 20 ms), then limit the selection\n            to C2-type or above.\n         2. Do not choose a state with a break-even residency that exceeds\n            the expected time remaining until the next timer interrupt.\n         3. Do not choose a state with a break-even residency that exceeds\n            the elapsed time between the last pair of break events,\n            excluding timer interrupts.\n\n    This governor has an advantage over \"ladder\" governor because it\n    proactively checks how much time remains until the next timer interrupt\n    using the tick infrastructure.  Also, it handles device interrupt\n    activity more intelligently by not including timer interrupts in break\n    event calculations.  Finally, it doesn\u0027t make policy decisions using the\n    number of state entries, which can have variable residency times (NO_HZ\n    makes these potentially very large), and instead only considers sleep\n    time deltas.\n\n    The menu governor can be selected during runtime using the cpuidle sysfs\n    interface like so:\n    \"echo \"menu\" \u003e /sys/devices/system/cpu/cpuidle/current_governor\"\n\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit a4bec7e65aa3b7488b879d971651cc99a6c410fe\nAuthor: Adam Belay \u003cabelay@novell.com\u003e\nDate:   Sat Mar 24 03:47:03 2007 -0400\n\n    cpuidle: export time until next timer interrupt using NO_HZ\n\n    Expose information about the time remaining until the next\n    timer interrupt expires by utilizing the dynticks infrastructure.\n    Also modify the main idle loop to allow dynticks to handle\n    non-interrupt break events (e.g. DMA).  Finally, expose sleep ticks\n    information to external code.  Thomas Gleixner is responsible for much\n    of the code in this patch.  However, I\u0027ve made some additional changes,\n    so I\u0027m probably responsible if there are any bugs or oversights :)\n\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 2929d8996fbc77f41a5ff86bb67cdde3ca7d2d72\nAuthor: Adam Belay \u003cabelay@novell.com\u003e\nDate:   Sat Mar 24 03:46:58 2007 -0400\n\n    cpuidle: governor API changes\n\n    This patch prepares cpuidle for the menu governor.  It adds an optional\n    stage after idle state entry to give the governor an opportunity to\n    check why the state was exited.  Also it makes sure the idle loop\n    returns after each state entry, allowing the appropriate dynticks code\n    to run.\n\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 3a7fd42f9825c3b03e364ca59baa751bb350775f\nAuthor: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Thu Apr 26 00:03:59 2007 -0700\n\n    cpuidle: hang fix\n\n    Prevent hang on x86-64, when ACPI processor driver is added as a module on\n    a system that does not support C-states.\n\n    x86-64 expects all idle handlers to enable interrupts before returning from\n    idle handler.  This is due to enter_idle(), exit_idle() races.  Make\n    cpuidle_idle_call() confirm to this when there is no pm_idle_old.\n\n    Also, cpuidle look at the return values of attch_driver() and set\n    current_driver to NULL if attach fails on all CPUs.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 4893339a142afbd5b7c01ffadfd53d14746e858e\nAuthor: Shaohua Li \u003cshaohua.li@intel.com\u003e\nDate:   Thu Apr 26 10:40:09 2007 +0800\n\n    cpuidle: add support for max_cstate limit\n\n    With CPUIDLE framework, the max_cstate (to limit max cpu c-state)\n    parameter is ingored. Some systems require it to ignore C2/C3\n    and some drivers like ipw require it too.\n\n    Signed-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 43bbbbe1cb998cbd2df656f55bb3bfe30f30e7d1\nAuthor: Shaohua Li \u003cshaohua.li@intel.com\u003e\nDate:   Thu Apr 26 10:40:13 2007 +0800\n\n    cpuidle: add cpuidle_fore_redetect_devices API\n\n    add cpuidle_force_redetect_devices API,\n    which forces all CPU redetect idle states.\n    Next patch will use it.\n\n    Signed-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit d1edadd608f24836def5ec483d2edccfb37b1d19\nAuthor: Shaohua Li \u003cshaohua.li@intel.com\u003e\nDate:   Thu Apr 26 10:40:01 2007 +0800\n\n    cpuidle: fix sysfs related issue\n\n    Fix the cpuidle sysfs issue.\n    a. make kobject dynamicaly allocated\n    b. fixed sysfs init issue to avoid suspend/resume issue\n\n    Signed-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 7169a5cc0d67b263978859672e86c13c23a5570d\nAuthor: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nDate:   Wed Mar 28 22:52:53 2007 -0400\n\n    cpuidle: 1-bit field must be unsigned\n\n    A 1-bit bitfield has no room for a sign bit.\n    drivers/cpuidle/governors/ladder.c:54:16: error: dubious bitfield without explicit `signed\u0027 or `unsigned\u0027\n\n    Signed-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n    Cc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 4658620158dc2fbd9e4bcb213c5b6fb5d05ba7d4\nAuthor: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Wed Mar 28 22:52:41 2007 -0400\n\n    cpuidle: fix boot hang\n\n    Patch for cpuidle boot hang reported by Larry Finger here.\n    http://www.ussg.iu.edu/hypermail/linux/kernel/0703.2/2025.html\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Cc: Larry Finger \u003clarry.finger@lwfinger.net\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit c17e168aa6e5fe3851baaae8df2fbc1cf11443a9\nAuthor: Len Brown \u003clen.brown@intel.com\u003e\nDate:   Wed Mar 7 04:37:53 2007 -0500\n\n    cpuidle: ladder does not depend on ACPI\n\n    build fix for CONFIG_ACPI\u003dn\n\n    In file included from drivers/cpuidle/governors/ladder.c:21:\n    include/acpi/processor.h:88: error: expected specifier-qualifier-list before âacpi_integerâ\n    include/acpi/processor.h:106: error: expected specifier-qualifier-list before âacpi_integerâ\n    include/acpi/processor.h:168: error: expected specifier-qualifier-list before âacpi_handleâ\n\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 8c91d958246bde68db0c3f0c57b535962ce861cb\nAuthor: Adrian Bunk \u003cbunk@stusta.de\u003e\nDate:   Tue Mar 6 02:29:40 2007 -0800\n\n    cpuidle: make code static\n\n    This patch makes the following needlessly global code static:\n    - driver.c: __cpuidle_find_driver()\n    - governor.c: __cpuidle_find_governor()\n    - ladder.c: struct ladder_governor\n\n    Signed-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n    Cc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Cc: Adam Belay \u003cabelay@novell.com\u003e\n    Cc: Shaohua Li \u003cshaohua.li@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 0c39dc3187094c72c33ab65a64d2017b21f372d2\nAuthor: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Wed Mar 7 02:38:22 2007 -0500\n\n    cpu_idle: fix build break\n\n    This patch fixes a build breakage with !CONFIG_HOTPLUG_CPU and\n    CONFIG_CPU_IDLE.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 8112e3b115659b07df340ef170515799c0105f82\nAuthor: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Tue Mar 6 02:29:39 2007 -0800\n\n    cpuidle: build fix for !CPU_IDLE\n\n    Fix the compile issues when CPU_IDLE is not configured.\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Cc: Adam Belay \u003cabelay@novell.com\u003e\n    Cc: Shaohua Li \u003cshaohua.li@intel.com\u003e\n    Signed-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 1eb4431e9599cd25e0d9872f3c2c8986821839dd\nAuthor: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Thu Feb 22 13:54:57 2007 -0800\n\n    cpuidle take2: Basic documentation for cpuidle\n\n    Documentation for cpuidle infrastructure\n\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Signed-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit ef5f15a8b79123a047285ec2e3899108661df779\nAuthor: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Thu Feb 22 13:54:03 2007 -0800\n\n    cpuidle take2: Hookup ACPI C-states driver with cpuidle\n\n    Hookup ACPI C-states onto generic cpuidle infrastructure.\n\n    drivers/acpi/procesor_idle.c is now a ACPI C-states driver that registers as\n    a driver in cpuidle infrastructure and the policy part is removed from\n    drivers/acpi/processor_idle.c. We use governor in cpuidle instead.\n\n    Signed-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\ncommit 987196fa82d4db52c407e8c9d5dec884ba602183\nAuthor: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nDate:   Thu Feb 22 13:52:57 2007 -0800\n\n    cpuidle take2: Core cpuidle infrastructure\n\n    Announcing \u0027cpuidle\u0027, a new CPU power management infrastructure to manage\n    idle CPUs in a clean and efficient manner.\n    cpuidle separates out the drivers that can provide support for multiple types\n    of idle states and policy governors that decide on what idle state to use\n    at run time.\n    A cpuidle driver can support multiple idle states based on parameters like\n    varying power consumption, wakeup latency, etc (ACPI C-states for example).\n    A cpuidle governor can be usage model specific (laptop, server,\n    laptop on battery etc).\n    Main advantage of the infrastructure being, it allows independent development\n    of drivers and governors and allows for better CPU power management.\n\n    A huge thanks to Adam Belay and Shaohua Li who were part of this mini-project\n    since its beginning and are greatly responsible for this patchset.\n\n    This patch:\n\n    Core cpuidle infrastructure.\n    Introduces a new abstraction layer for cpuidle:\n    * which manages drivers that can support multiple idles states. Drivers\n      can be generic or particular to specific hardware/platform\n    * allows pluging in multiple policy governors that can take idle state policy\n      decision\n    * The core also has a set of sysfs interfaces with which administrato can know\n      about supported drivers and governors and switch them at run time.\n\n    Signed-off-by: Adam Belay \u003cabelay@novell.com\u003e\n    Signed-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\n    Signed-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n    Signed-off-by: Len Brown \u003clen.brown@intel.com\u003e\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "5e41d0d60a534d2a5dc9772600a58f44c8d12506",
      "tree": "d020ec1e72c338f3bf9dc4558ac3c82527a02384",
      "parents": [
        "31d9b3938c0459e5e9755ce0a98ac1e24eeff972"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Sep 16 15:36:43 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@chaos.(none)",
        "time": "Sun Sep 16 15:36:43 2007 +0200"
      },
      "message": "clockevents: prevent stale tick update on offline cpu\n\nTaking a cpu offline removes the cpu from the online mask before the\nCPU_DEAD notification is done. The clock events layer does the cleanup\nof the dead CPU from the CPU_DEAD notifier chain. tick_do_timer_cpu is\nused to avoid xtime lock contention by assigning the task of jiffies\nxtime updates to one CPU. If a CPU is taken offline, then this\nassignment becomes stale. This went unnoticed because most of the time\nthe offline CPU went dead before the online CPU reached __cpu_die(),\nwhere the CPU_DEAD state is checked. In the case that the offline CPU did\nnot reach the DEAD state before we reach __cpu_die(), the code in there\ngoes to sleep for 100ms. Due to the stale time update assignment, the\nsystem is stuck forever.\n\nTake the assignment away when a cpu is not longer in the cpu_online_mask.\nWe do this in the last call to tick_nohz_stop_sched_tick() when the offline\nCPU is on the way to the final play_dead() idle entry.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "3704540b48295253bd9c87a5e7ff545f9d47a3b8",
      "tree": "081647bba6b901bfaa7e7216ed2f23c42ecee75d",
      "parents": [
        "5590a536c0bc403fc73908c66c1c88cbed735ecb"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Sat Jul 21 04:37:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:15 2007 -0700"
      },
      "message": "tick management: spread timer interrupt\n\nAfter discussing w/ Thomas over IRC, it seems the issue is the sched tick\nfires on every cpu at the same time, causing extra lock contention.\n\nThis smaller change, adds an extra offset per cpu so the ticks don\u0027t line up.\nThis patch also drops the idle latency from 40us down to under 20us.\n\nSigned-off-by: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "eaad084bb0f3a6259e56400cd45d061dbf040600",
      "tree": "34a5f5c3e1a849b035510ee28d5aaffd42a36dcc",
      "parents": [
        "6e98ee75c3ab99db48ecc0615c2246dc193111a9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 29 23:47:39 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 29 18:11:10 2007 -0700"
      },
      "message": "NOHZ: prevent multiplication overflow - stop timer for huge timeouts\n\nget_next_timer_interrupt() returns a delta of (LONG_MAX \u003e 1) in case\nthere is no timer pending. On 64 bit machines this results in a\nmultiplication overflow in tick_nohz_stop_sched_tick().\n\nReported by: Dave Miller \u003cdavem@davemloft.net\u003e\n\nMake the return value a constant and limit the return value to a 32 bit\nvalue.\n\nWhen the max timeout value is returned, we can safely stop the tick\ntimer device. The max jiffies delta results in a 12 days timeout for\nHZ\u003d1000.\n\nIn the long term the get_next_timer_interrupt() code needs to be\nreworked to return ktime instead of jiffies, but we have to wait until\nthe last users of the original NO_IDLE_HZ code are converted.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "352823160613b65fdaa558be486720a71f75ed86",
      "tree": "772f0aa4c31c26f3c762baae41a288b72ce7dee7",
      "parents": [
        "43d4f961a87509b4ea5c1d6f02751aef360a632f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 23 13:57:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:11 2007 -0700"
      },
      "message": "NOHZ: Rate limit the local softirq pending warning output\n\nThe warning in the NOHZ code, which triggers when a CPU goes idle with\nsoftirqs pending can fill up the logs quite quickly.  Rate limit the output\nuntil we found the root cause of that problem.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "46cb4b7c88fa5517f64b5bee42939ea3614cddcb",
      "tree": "429b8092394974ae787bf0cfaefe5c7b6a1da782",
      "parents": [
        "bdecea3a9282d529b54954f3f1e59877629baba1"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue May 08 00:32:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:17 2007 -0700"
      },
      "message": "sched: dynticks idle load balancing\n\nFix the process idle load balancing in the presence of dynticks.  cpus for\nwhich ticks are stopped will sleep till the next event wakes it up.\nPotentially these sleeps can be for large durations and during which today,\nthere is no periodic idle load balancing being done.\n\nThis patch nominates an owner among the idle cpus, which does the idle load\nbalancing on behalf of the other idle cpus.  And once all the cpus are\ncompletely idle, then we can stop this idle load balancing too.  Checks added\nin fast path are minimized.  Whenever there are busy cpus in the system, there\nwill be an owner(idle cpu) doing the system wide idle load balancing.\n\nOpen items:\n1. Intelligent owner selection (like an idle core in a busy package).\n2. Merge with rcu\u0027s nohz_cpu_mask?\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d3ed782458f315c30ea679b919a2cc59f2b82565",
      "tree": "b87fffc87acf5632566a6384f5c8be8f5c2e03b2",
      "parents": [
        "d5d3b736e3264934ec832a657a9a434b65f3d51f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 08 00:30:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:10 2007 -0700"
      },
      "message": "highres/dyntick: prevent xtime lock contention\n\nWhile the !highres/!dyntick code assigns the duty of the do_timer() call to\none specific CPU, this was dropped in the highres/dyntick part during\ndevelopment.\n\nSteven Rostedt discovered the xtime lock contention on highres/dyntick due\nto several CPUs trying to update jiffies.\n\nAdd the single CPU assignement back.  In the dyntick case this needs to be\nhandled carefully, as the CPU which has the do_timer() duty must drop the\nassignement and let it be grabbed by another CPU, which is active.\nOtherwise the do_timer() calls would not happen during the long sleep.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Mark Lord \u003cmlord@pobox.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e203bcc1051cac2a8b15c3ee9db4c0d05794abe",
      "tree": "f3c42ce033084c34a8a47c1d4f5d186ac8ab132f",
      "parents": [
        "9654640d0af8f2de40ff3807d3695109d3463f54"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 24 22:10:13 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Feb 26 11:13:49 2007 -0800"
      },
      "message": "[TIME] tick-sched: Add missing asm/irq_regs.h include.\n\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc5393a6c9c0e70b4b43fb2fb63e3315e9a15c8f",
      "tree": "7fe069bfde8bef8381bead946e42036e8a325e5a",
      "parents": [
        "6ba9b346e1e0eca65ec589d32de3a9fe32dc5de6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 19 18:12:05 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 19 14:18:43 2007 -0800"
      },
      "message": "[PATCH] NOHZ: Produce debug output instead of a BUG()\n\nThe BUG_ON() in tick_nohz_stop_sched_tick() triggers on some boxen.\nRemove the BUG_ON and print information about the pending softirq\nto allow better debugging of the problem.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ba9b346e1e0eca65ec589d32de3a9fe32dc5de6",
      "tree": "393923cf8c563be65bb02a38153e387f6284ae55",
      "parents": [
        "2aa6eb313e57a8254b17e60b8bb5e0a2570d7776"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 19 18:11:56 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 19 14:18:43 2007 -0800"
      },
      "message": "[PATCH] NOHZ: Fix RCU handling\n\nWhen a CPU is needed for RCU the tick has to continue even when it was\nstopped before.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "289f480af87e45f7a6de6ba9b4c061c2e259fe98",
      "tree": "1075cdb8656d7af12558ea2a3dee1fcd1d7a44a7",
      "parents": [
        "82f67cd9fca8c8762c15ba7ed0d5747588c1e221"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 16 01:28:15 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] Add debugging feature /proc/timer_list\n\nadd /proc/timer_list, which prints all currently pending (high-res) timers,\nall clock-event sources and their parameters in a human-readable form.\n\nSample output:\n\nTimer List Version: v0.1\nHRTIMER_MAX_CLOCK_BASES: 2\nnow at 4246046273872 nsecs\n\ncpu: 0\n clock 0:\n  .index:      0\n  .resolution: 1 nsecs\n  .get_time:   ktime_get_real\n  .offset:     1273998312645738432 nsecs\nactive timers:\n clock 1:\n  .index:      1\n  .resolution: 1 nsecs\n  .get_time:   ktime_get\n  .offset:     0 nsecs\nactive timers:\n #0: \u003cf5a90ec8\u003e, hrtimer_sched_tick, hrtimer_stop_sched_tick, swapper/0\n # expires at 4246432689566 nsecs [in 386415694 nsecs]\n #1: \u003cf5a90ec8\u003e, hrtimer_wakeup, do_nanosleep, pcscd/2050\n # expires at 4247018194689 nsecs [in 971920817 nsecs]\n #2: \u003cf5a90ec8\u003e, hrtimer_wakeup, do_nanosleep, irqbalance/1909\n # expires at 4247351358392 nsecs [in 1305084520 nsecs]\n #3: \u003cf5a90ec8\u003e, hrtimer_wakeup, do_nanosleep, crond/2157\n # expires at 4249097614968 nsecs [in 3051341096 nsecs]\n #4: \u003cf5a90ec8\u003e, it_real_fn, do_setitimer, syslogd/1888\n # expires at 4251329900926 nsecs [in 5283627054 nsecs]\n  .expires_next   : 4246432689566 nsecs\n  .hres_active    : 1\n  .check_clocks   : 0\n  .nr_events      : 31306\n  .idle_tick      : 4246020791890 nsecs\n  .tick_stopped   : 1\n  .idle_jiffies   : 986504\n  .idle_calls     : 40700\n  .idle_sleeps    : 36014\n  .idle_entrytime : 4246019418883 nsecs\n  .idle_sleeptime : 4178181972709 nsecs\n\ncpu: 1\n clock 0:\n  .index:      0\n  .resolution: 1 nsecs\n  .get_time:   ktime_get_real\n  .offset:     1273998312645738432 nsecs\nactive timers:\n clock 1:\n  .index:      1\n  .resolution: 1 nsecs\n  .get_time:   ktime_get\n  .offset:     0 nsecs\nactive timers:\n #0: \u003cf5a90ec8\u003e, hrtimer_sched_tick, hrtimer_restart_sched_tick, swapper/0\n # expires at 4246050084568 nsecs [in 3810696 nsecs]\n #1: \u003cf5a90ec8\u003e, hrtimer_wakeup, do_nanosleep, atd/2227\n # expires at 4261010635003 nsecs [in 14964361131 nsecs]\n #2: \u003cf5a90ec8\u003e, hrtimer_wakeup, do_nanosleep, smartd/2332\n # expires at 5469485798970 nsecs [in 1223439525098 nsecs]\n  .expires_next   : 4246050084568 nsecs\n  .hres_active    : 1\n  .check_clocks   : 0\n  .nr_events      : 24043\n  .idle_tick      : 4246046084568 nsecs\n  .tick_stopped   : 0\n  .idle_jiffies   : 986510\n  .idle_calls     : 26360\n  .idle_sleeps    : 22551\n  .idle_entrytime : 4246043874339 nsecs\n  .idle_sleeptime : 4170763761184 nsecs\n\ntick_broadcast_mask: 00000003\nevent_broadcast_mask: 00000001\n\nCPU#0\u0027s local event device:\n\nClock Event Device: lapic\n capabilities:   0000000e\n max_delta_ns:   807385544\n min_delta_ns:   1443\n mult:           44624025\n shift:          32\n set_next_event: lapic_next_event\n set_mode:       lapic_timer_setup\n event_handler:  hrtimer_interrupt\n  .installed:  1\n  .expires:    4246432689566 nsecs\n\nCPU#1\u0027s local event device:\n\nClock Event Device: lapic\n capabilities:   0000000e\n max_delta_ns:   807385544\n min_delta_ns:   1443\n mult:           44624025\n shift:          32\n set_next_event: lapic_next_event\n set_mode:       lapic_timer_setup\n event_handler:  hrtimer_interrupt\n  .installed:  1\n  .expires:    4246050084568 nsecs\n\nClock Event Device: hpet\n capabilities:   00000007\n max_delta_ns:   2147483647\n min_delta_ns:   3352\n mult:           61496110\n shift:          32\n set_next_event: hpet_next_event\n set_mode:       hpet_set_mode\n event_handler:  handle_nextevt_broadcast\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79bf2bb335b85db25d27421c798595a2fa2a0e82",
      "tree": "550ec2654ae1dd65b871de7fe9c890108c6e86d8",
      "parents": [
        "f8381cba04ba8173fd5a2b8e5cd8b3290ee13a98"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] tick-management: dyntick / highres functionality\n\nWith Ingo Molnar \u003cmingo@elte.hu\u003e\n\nAdd functions to provide dynamic ticks and high resolution timers.  The code\nwhich keeps track of jiffies and handles the long idle periods is shared\nbetween tick based and high resolution timer based dynticks.  The dyntick\nfunctionality can be disabled on the kernel commandline.  Provide also the\ninfrastructure to support high resolution timers.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
