)]}'
{
  "log": [
    {
      "commit": "0db49b72bce26341274b74fd968501489a361ae3",
      "tree": "cdb076827aefb38d719d4c42f8ef291c36072fa8",
      "parents": [
        "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
        "1ac9bc6943edf7d181b4b1cc734981350d4f6bae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:33:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:44:54 2012 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)\n  sched/tracing: Add a new tracepoint for sleeptime\n  sched: Disable scheduler warnings during oopses\n  sched: Fix cgroup movement of waking process\n  sched: Fix cgroup movement of newly created process\n  sched: Fix cgroup movement of forking process\n  sched: Remove cfs bandwidth period check in tg_set_cfs_period()\n  sched: Fix load-balance lock-breaking\n  sched: Replace all_pinned with a generic flags field\n  sched: Only queue remote wakeups when crossing cache boundaries\n  sched: Add missing rcu_dereference() around -\u003ereal_parent usage\n  [S390] fix cputime overflow in uptime_proc_show\n  [S390] cputime: add sparse checking and cleanup\n  sched: Mark parent and real_parent as __rcu\n  sched, nohz: Fix missing RCU read lock\n  sched, nohz: Set the NOHZ_BALANCE_KICK flag for idle load balancer\n  sched, nohz: Fix the idle cpu check in nohz_idle_balance\n  sched: Use jump_labels for sched_feat\n  sched/accounting: Fix parameter passing in task_group_account_field\n  sched/accounting: Fix user/system tick double accounting\n  sched/accounting: Re-use scheduler statistics for the root cgroup\n  ...\n\nFix up conflicts in\n - arch/ia64/include/asm/cputime.h, include/asm-generic/cputime.h\n\tusecs_to_cputime64() vs the sparse cleanups\n - kernel/sched/fair.c, kernel/time/tick-sched.c\n\tscheduler changes in multiple branches\n"
    },
    {
      "commit": "1268fbc746ea1cd279886a740dcbad4ba5232225",
      "tree": "dc0ff36b4114992a3f67479e25132f5e99f36b9e",
      "parents": [
        "b58bdccaa8d908e0f71dae396468a0d3f7bb3125"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Nov 17 18:48:14 2011 +0100"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:57 2011 -0800"
      },
      "message": "nohz: Remove tick_nohz_idle_enter_norcu() / tick_nohz_idle_exit_norcu()\n\nThose two APIs were provided to optimize the calls of\ntick_nohz_idle_enter() and rcu_idle_enter() into a single\nirq disabled section. This way no interrupt happening in-between would\nneedlessly process any RCU job.\n\nNow we are talking about an optimization for which benefits\nhave yet to be measured. Let\u0027s start simple and completely decouple\nidle rcu and dyntick idle logics to simplify.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2bbb6817c0ac1b5f2a68d720f364f98eeb1ac4fd",
      "tree": "05bb5ba54671a8eaeca4fe4406a75e820317e473",
      "parents": [
        "280f06774afedf849f0b34248ed6aff57d0f6908"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Oct 08 16:01:00 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:36 2011 -0800"
      },
      "message": "nohz: Allow rcu extended quiescent state handling seperately from tick stop\n\nIt is assumed that rcu won\u0027t be used once we switch to tickless\nmode and until we restart the tick. However this is not always\ntrue, as in x86-64 where we dereference the idle notifiers after\nthe tick is stopped.\n\nTo prepare for fixing this, add two new APIs:\ntick_nohz_idle_enter_norcu() and tick_nohz_idle_exit_norcu().\n\nIf no use of RCU is made in the idle loop between\ntick_nohz_enter_idle() and tick_nohz_exit_idle() calls, the arch\nmust instead call the new *_norcu() version such that the arch doesn\u0027t\nneed to call rcu_idle_enter() and rcu_idle_exit().\n\nOtherwise the arch must call tick_nohz_enter_idle() and\ntick_nohz_exit_idle() and also call explicitly:\n\n- rcu_idle_enter() after its last use of RCU before the CPU is put\nto sleep.\n- rcu_idle_exit() before the first use of RCU after the CPU is woken\nup.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "280f06774afedf849f0b34248ed6aff57d0f6908",
      "tree": "62ef683226d0569c0e6c3ba34ab2e6d85b2e047f",
      "parents": [
        "867f236bd12f5091df6dc7cc75f94d7fd982d78a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 07 18:22:06 2011 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:35 2011 -0800"
      },
      "message": "nohz: Separate out irq exit and idle loop dyntick logic\n\nThe tick_nohz_stop_sched_tick() function, which tries to delay\nthe next timer tick as long as possible, can be called from two\nplaces:\n\n- From the idle loop to start the dytick idle mode\n- From interrupt exit if we have interrupted the dyntick\nidle mode, so that we reprogram the next tick event in\ncase the irq changed some internal state that requires this\naction.\n\nThere are only few minor differences between both that\nare handled by that function, driven by the ts-\u003einidle\ncpu variable and the inidle parameter. The whole guarantees\nthat we only update the dyntick mode on irq exit if we actually\ninterrupted the dyntick idle mode, and that we enter in RCU extended\nquiescent state from idle loop entry only.\n\nSplit this function into:\n\n- tick_nohz_idle_enter(), which sets ts-\u003einidle to 1, enters\ndynticks idle mode unconditionally if it can, and enters into RCU\nextended quiescent state.\n\n- tick_nohz_irq_exit() which only updates the dynticks idle mode\nwhen ts-\u003einidle is set (ie: if tick_nohz_idle_enter() has been called).\n\nTo maintain symmetry, tick_nohz_restart_sched_tick() has been renamed\ninto tick_nohz_idle_exit().\n\nThis simplifies the code and micro-optimize the irq exit path (no need\nfor local_irq_save there). This also prepares for the split between\ndynticks and rcu extended quiescent state logics. We\u0027ll need this split to\nfurther fix illegal uses of RCU in extended quiescent states in the idle\nloop.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Guan Xuetao \u003cgxt@mprc.pku.edu.cn\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "9b2e4f1880b789be1f24f9684f7a54b90310b5c0",
      "tree": "1fa922e0616e298837a7079cb49118188a58186c",
      "parents": [
        "b804cb9e91c6c304959c69d4f9daeef4ffdba71c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Sep 30 12:10:22 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:24 2011 -0800"
      },
      "message": "rcu: Track idleness independent of idle tasks\n\nEarlier versions of RCU used the scheduling-clock tick to detect idleness\nby checking for the idle task, but handled idleness differently for\nCONFIG_NO_HZ\u003dy.  But there are now a number of uses of RCU read-side\ncritical sections in the idle task, for example, for tracing.  A more\nfine-grained detection of idleness is therefore required.\n\nThis commit presses the old dyntick-idle code into full-time service,\nso that rcu_idle_enter(), previously known as rcu_enter_nohz(), is\nalways invoked at the beginning of an idle loop iteration.  Similarly,\nrcu_idle_exit(), previously known as rcu_exit_nohz(), is always invoked\nat the end of an idle-loop iteration.  This allows the idle task to\nuse RCU everywhere except between consecutive rcu_idle_enter() and\nrcu_idle_exit() calls, in turn allowing architecture maintainers to\nspecify exactly where in the idle loop that RCU may be used.\n\nBecause some of the userspace upcall uses can result in what looks\nto RCU like half of an interrupt, it is not possible to expect that\nthe irq_enter() and irq_exit() hooks will give exact counts.  This\npatch therefore expands the -\u003edynticks_nesting counter to 64 bits\nand uses two separate bitfields to count process/idle transitions\nand interrupt entry/exit transitions.  It is presumed that userspace\nupcalls do not happen in the idle loop or from usermode execution\n(though usermode might do a system call that results in an upcall).\nThe counter is hard-reset on each process/idle transition, which\navoids the interrupt entry/exit error from accumulating.  Overflow\nis avoided by the 64-bitness of the -\u003edyntick_nesting counter.\n\nThis commit also adds warnings if a non-idle task asks RCU to enter\nidle state (and these checks will need some adjustment before applying\nFrederic\u0027s OS-jitter patches (http://lkml.org/lkml/2011/10/7/246).\nIn addition, validation of -\u003edynticks and -\u003edynticks_nesting is added.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "69e1e811dcc436a6b129dbef273ad9ec22d095ce",
      "tree": "f07179af4989178733727683796927948db9059a",
      "parents": [
        "1c792db7f7957e2e34b9a164f08200e36a25dfd0"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Thu Dec 01 17:07:33 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 09:06:32 2011 +0100"
      },
      "message": "sched, nohz: Track nr_busy_cpus in the sched_group_power\n\nIntroduce nr_busy_cpus in the struct sched_group_power [Not in sched_group\nbecause sched groups are duplicated for the SD_OVERLAP scheduler domain]\nand for each cpu that enters and exits idle, this parameter will\nbe updated in each scheduler group of the scheduler domain that this cpu\nbelongs to.\n\nTo avoid the frequent update of this state as the cpu enters\nand exits idle, the update of the stat during idle exit is\ndelayed to the first timer tick that happens after the cpu becomes busy.\nThis is done using NOHZ_IDLE flag in the struct rq\u0027s nohz_flags.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20111202010832.555984323@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "39adff5f69d6849ca22353a88058c9f8630528c0",
      "tree": "b0c2d2de77ebc5c97fd19c29b81eeb03549553f8",
      "parents": [
        "8a4a8918ed6e4a361f4df19f199bbc2d0a89a46c",
        "e35f95b36e43f67a6f806172555a152c11ea0a78"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:15:03 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:15:03 2011 +0200"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)\n  time, s390: Get rid of compile warning\n  dw_apb_timer: constify clocksource name\n  time: Cleanup old CONFIG_GENERIC_TIME references that snuck in\n  time: Change jiffies_to_clock_t() argument type to unsigned long\n  alarmtimers: Fix error handling\n  clocksource: Make watchdog reset lockless\n  posix-cpu-timers: Cure SMP accounting oddities\n  s390: Use direct ktime path for s390 clockevent device\n  clockevents: Add direct ktime programming function\n  clockevents: Make minimum delay adjustments configurable\n  nohz: Remove \"Switched to NOHz mode\" debugging messages\n  proc: Consider NO_HZ when printing idle and iowait times\n  nohz: Make idle/iowait counter update conditional\n  nohz: Fix update_ts_time_stat idle accounting\n  cputime: Clean up cputime_to_usecs and usecs_to_cputime macros\n  alarmtimers: Rework RTC device selection using class interface\n  alarmtimers: Add try_to_cancel functionality\n  alarmtimers: Add more refined alarm state tracking\n  alarmtimers: Remove period from alarm structure\n  alarmtimers: Remove interval cap limit hack\n  ...\n"
    },
    {
      "commit": "fc0763f53e3ff6a6bfa66934662a3446b9ca6f16",
      "tree": "2671d3f6275c9707a620032658ecb05025e4e9fa",
      "parents": [
        "d7bd2d68aa2ee2738a10c8ad9346b805e4ab2e1c"
      ],
      "author": {
        "name": "Shi, Alex",
        "email": "alex.shi@intel.com",
        "time": "Thu Jul 28 14:56:12 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:29 2011 -0700"
      },
      "message": "nohz: Remove nohz_cpu_mask\n\nRCU no longer uses this global variable, nor does anyone else.  This\ncommit therefore removes this variable.  This reduces memory footprint\nand also removes some atomic instructions and memory barriers from\nthe dyntick-idle path.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "29c158e81c733ac7d6a75c5ee929f34fb9f92983",
      "tree": "ba15b52ae3474f2451b3c2301413da05606ccdaf",
      "parents": [
        "a25cac5198d4ff2842ccca63b423962848ad24b2"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Aug 23 13:20:46 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 08 11:10:55 2011 +0200"
      },
      "message": "nohz: Remove \"Switched to NOHz mode\" debugging messages\n\nWhen performing cpu hotplug tests the kernel printk log buffer gets flooded\nwith pointless \"Switched to NOHz mode...\" messages. Especially when afterwards\nanalyzing a dump this might have removed more interesting stuff out of the\nbuffer.\nAssuming that switching to NOHz mode simply works just remove the printk.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20110823112046.GB2540@osiris.boeblingen.de.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "09a1d34f8535ecf9a347ea76f7597730c2bc0c8d",
      "tree": "5de69591f64e995737a62cf26d8bb3a927b27d79",
      "parents": [
        "6beea0cda8ce71c01354e688e5735c47e331e84f"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Wed Aug 24 09:39:30 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 08 11:10:55 2011 +0200"
      },
      "message": "nohz: Make idle/iowait counter update conditional\n\nget_cpu_{idle,iowait}_time_us update idle/iowait counters\nunconditionally if the given CPU is in the idle loop.\n\nThis doesn\u0027t work well outside of CPU governors which are singletons\nso nobody (except for IRQ) can race with them.\n\nWe will need to use both functions from /proc/stat handler to properly\nhandle nohz idle/iowait times.\n\nMake the update depend on a non NULL last_update_time argument.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nLink: http://lkml.kernel.org/r/11f23179472635ce52e78921d47a20216b872f23.1314172057.git.mhocko@suse.cz\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6beea0cda8ce71c01354e688e5735c47e331e84f",
      "tree": "7556787053d608134184d98413cce744d54507fc",
      "parents": [
        "ef0e0f5ed9bde6d1e3376169785a463ad2160e6d"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Wed Aug 24 09:37:48 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 08 11:10:55 2011 +0200"
      },
      "message": "nohz: Fix update_ts_time_stat idle accounting\n\nupdate_ts_time_stat currently updates idle time even if we are in\niowait loop at the moment. The only real users of the idle counter\n(via get_cpu_idle_time_us) are CPU governors and they expect to get\ncumulative time for both idle and iowait times.\nThe value (idle_sleeptime) is also printed to userspace by print_cpu\nbut it prints both idle and iowait times so the idle part is misleading.\n\nLet\u0027s clean this up and fix update_ts_time_stat to account both counters\nproperly and update consumers of idle to consider iowait time as well.\nIf we do this we might use get_cpu_{idle,iowait}_time_us from other\ncontexts as well and we will get expected values.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nLink: http://lkml.kernel.org/r/e9c909c221a8da402c4da07e4cd968c3218f8eb1.1314172057.git.mhocko@suse.cz\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e2830b5c1b2b2217894370a3b95af87d4a958401",
      "tree": "9eec3de82a30fffc32beae7826e4a356220c52f7",
      "parents": [
        "d12b0e24c56c6fb2398609f26858e5278d688840"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Thu Jan 27 16:00:32 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 19:26:50 2011 +0100"
      },
      "message": "time: Make do_timer() and xtime_lock local to kernel/time/\n\nAll callers of do_timer() are converted to xtime_update(). The only\nusers of xtime_lock are in kernel/time/. Make both local to\nkernel/time/ and remove them from the global header files.\n\n[ tglx: Reuse tick-internal.h instead of creating another local header\n  \tfile. Massaged changelog ]\n\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: johnstul@us.ibm.com\nCc: yong.zhang0@gmail.com\nCc: hch@infradead.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2d0640b47da74cff7c11642c798d40de861ed524",
      "tree": "51d41c213dbd5b27c3eeb6fe7527d04d2918edbb",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue Jan 18 22:46:34 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 20:08:15 2011 +0100"
      },
      "message": "hrtimers: Notify hrtimer users of switches to NOHZ mode\n\nWhen NOHZ\u003dy and high res timers are disabled (via cmdline or\nKconfig) tick_nohz_switch_to_nohz() will notify the user about\nswitching into NOHZ mode. Nothing is printed for the case where\nHIGH_RES_TIMERS\u003dy. Fix this for the HIGH_RES_TIMERS\u003dy case by\nduplicating the printk from the low res NOHZ path in the high\nres NOHZ path.\n\nThis confused me since I was thinking \u0027dmesg | grep -i NOHZ\u0027 would\ntell me if NOHZ was enabled, but if I have hrtimers there is\nnothing.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1295419594-13085-1-git-send-email-sboyd@codeaurora.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af390084359a5de20046c901529b2b6a50b941cb",
      "tree": "b73a6261d1b1f9fb34432cc9a47411a49330b8dc",
      "parents": [
        "7645e4320497b35ce9fb6c2269ebcd57af9fe735",
        "0fcb80818bc3ade5befd409051089f710adcf7b0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 13:12:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 13:12:36 2010 -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  Documentation: Add timers/timers-howto.txt\n  timer: Added usleep_range timer\n  Revert \"timer: Added usleep[_range] timer\"\n  clockevents: Remove the per cpu tick skew\n  posix_timer: Move copy_to_user(created_timer_id) down in timer_create()\n  timer: Added usleep[_range] timer\n  timers: Document meaning of deferrable timer\n"
    },
    {
      "commit": "0bcfe75807944106a3aa655a54bb610d62f3a7f5",
      "tree": "d48d848e09d1bf48fe7fa23e9226f38ef342eed4",
      "parents": [
        "eebef74695e1498e04e5f85be9c6f84bd2e7358a",
        "396e894d289d69bacf5acd983c97cd6e21a14c08"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 05 09:46:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 05 09:46:29 2010 +0200"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nConflicts:\n\tinclude/linux/sched.h\n\nMerge reason: Add the leftover .35 urgent bits, fix the conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af5ab277ded04bd9bc6b048c5a2f0e7d70ef0867",
      "tree": "7c593610e47096dd6592b8dbfe166428cc079ed6",
      "parents": [
        "2b08de0073a5697cf84d6f448d6dbc6cf02fc6b5"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Jul 27 21:02:10 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 02 21:45:58 2010 +0200"
      },
      "message": "clockevents: Remove the per cpu tick skew\n\nHistorically, Linux has tried to make the regular timer tick on the\nvarious CPUs not happen at the same time, to avoid contention on\nxtime_lock.\n\nNowadays, with the tickless kernel, this contention no longer happens\nsince time keeping and updating are done differently. In addition,\nthis skew is actually hurting power consumption in a measurable way on\nmany-core systems.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nLKML-Reference: \u003c20100727210210.58d3118c@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "dca45ad8af54963c005393a484ad117b8ba6150f",
      "tree": "7c9a6966283a6bb12b54e5680a67d203be292930",
      "parents": [
        "68c38fc3cb4e5a60f502ee9c45f3dfe70e5165ad",
        "cd5b8f8755a89a57fc8c408d284b8b613f090345"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 21 21:45:02 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 21 21:45:08 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: Move from the -rc3 to the almost-rc6 base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "396e894d289d69bacf5acd983c97cd6e21a14c08",
      "tree": "ec3e3ba19e332a799e1229f62663625d9c7583dd",
      "parents": [
        "f469461df6ff822f71b8737bda86eea20f16ff93"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 09 15:12:27 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 17 12:05:44 2010 +0200"
      },
      "message": "sched: Revert nohz_ratelimit() for now\n\nNorbert reported that nohz_ratelimit() causes his laptop to burn about\n4W (40%) extra. For now back out the change and see if we can adjust\nthe power management code to make better decisions.\n\nReported-by: Norbert Preining \u003cpreining@logic.at\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "123f94f22e3d283dfe68742b269c245b0501ad82",
      "tree": "1d40043b0909f309cf77204ea87be9e61f143e79",
      "parents": [
        "4b78c119f0ba715b4e29b190bf4d7bce810ea0d6",
        "8c215bd3890c347dfb6a2db4779755f8b9c298a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 02 09:52:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 02 09:52:58 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Cure nr_iowait_cpu() users\n  init: Fix comment\n  init, sched: Fix race between init and kthreadd\n"
    },
    {
      "commit": "8c215bd3890c347dfb6a2db4779755f8b9c298a9",
      "tree": "e6bd5de8a028babe9ec75f744977bd1424df106c",
      "parents": [
        "9715856922bf8475f5428c29b6f4a9eebc97d391"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jul 01 09:07:17 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 01 09:39:48 2010 +0200"
      },
      "message": "sched: Cure nr_iowait_cpu() users\n\nCommit 0224cf4c5e (sched: Intoduce get_cpu_iowait_time_us())\nbroke things by not making sure preemption was indeed disabled\nby the callers of nr_iowait_cpu() which took the iowait value of\nthe current cpu.\n\nThis resulted in a heap of preempt warnings. Cure this by making\nnr_iowait_cpu() take a cpu number and fix up the callers to pass\nin the right number.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: linux-pm@lists.linux-foundation.org\nLKML-Reference: \u003c1277968037.1868.120.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3310d4d38fbc514e7b18bd3b1eea8effdd63b5aa",
      "tree": "14e2a5b6126c9b1341a3d4bf5299545ce4b1999a",
      "parents": [
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jun 17 18:02:37 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 17 19:37:29 2010 +0200"
      },
      "message": "nohz: Fix nohz ratelimit\n\nChris Wedgwood reports that 39c0cbe (sched: Rate-limit nohz) causes a\nserial console regression, unresponsiveness, and indeed it does. The\nreason is that the nohz code is skipped even when the tick was already\nstopped before the nohz_ratelimit(cpu) condition changed.\n\nMove the nohz_ratelimit() check to the other conditions which prevent\nlong idle sleeps.\n\nReported-by: Chris Wedgwood \u003ccw@f00f.org\u003e\nTested-by: Brian Bloniarz \u003cbmb@athenacr.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Jef Driesen \u003cjefdriesen@telenet.be\u003e\nLKML-Reference: \u003c1276790557.27822.516.camel@twins\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "83cd4fe27ad8446619b2e030b171b858501de87d",
      "tree": "81c7d26f4f00139ae355017239371d91cc4b2aef",
      "parents": [
        "fdf3e95d3916f18bf8703fb065499fdbc4dfe34c"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Fri May 21 17:09:41 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 10:34:52 2010 +0200"
      },
      "message": "sched: Change nohz idle load balancing logic to push model\n\nIn the new push model, all idle CPUs indeed go into nohz mode. There is\nstill the concept of idle load balancer (performing the load balancing\non behalf of all the idle cpu\u0027s in the system). Busy CPU kicks the nohz\nbalancer when any of the nohz CPUs need idle load balancing.\nThe kickee CPU does the idle load balancing on behalf of all idle CPUs\ninstead of the normal idle balance.\n\nThis addresses the below two problems with the current nohz ilb logic:\n* the idle load balancer continued to have periodic ticks during idle and\n  wokeup frequently, even though it did not have any rebalancing to do on\n  behalf of any of the idle CPUs.\n* On x86 and CPUs that have APIC timer stoppage on idle CPUs, this\n  periodic wakeup can result in a periodic additional interrupt on a CPU\n  doing the timer broadcast.\n\nAlso currently we are migrating the unpinned timers from an idle to the cpu\ndoing idle load balancing (when all the cpus in the system are idle,\nthere is no idle load balancing cpu and timers get added to the same idle cpu\nwhere the request was made. So the existing optimization works only on semi idle\nsystem).\n\nAnd In semi idle system, we no longer have periodic ticks on the idle load\nbalancer CPU. Using that cpu will add more delays to the timers than intended\n(as that cpu\u0027s timer base may not be uptodate wrt jiffies etc). This was\ncausing mysterious slowdowns during boot etc.\n\nFor now, in the semi idle case, use the nearest busy cpu for migrating timers\nfrom an idle cpu.  This is good for power-savings anyway.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c1274486981.2840.46.camel@sbs-t61.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0224cf4c5ee0d7faec83956b8e21f7d89e3df3bd",
      "tree": "daac87f9766d1a6c71bcff021414d3deaae40da1",
      "parents": [
        "e0e37c200f1357db0dd986edb359c41c57d24f6e"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:25:23 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:27 2010 +0200"
      },
      "message": "sched: Intoduce get_cpu_iowait_time_us()\n\nFor the ondemand cpufreq governor, it is desired that the iowait\ntime is microaccounted in a similar way as idle time is.\n\nThis patch introduces the infrastructure to account and expose\nthis information via the get_cpu_iowait_time_us() function.\n\n[akpm@linux-foundation.org: fix CONFIG_NO_HZ\u003dn build]\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082523.284feab6@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0e37c200f1357db0dd986edb359c41c57d24f6e",
      "tree": "9f799889b2166528e4b264f3c58a52d1edbd4bdf",
      "parents": [
        "8d63bf949e330588b80d30ca8f0a27a45297a9e9"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:24:39 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:26 2010 +0200"
      },
      "message": "sched: Eliminate the ts-\u003eidle_lastupdate field\n\nNow that the only user of ts-\u003eidle_lastupdate is\nupdate_ts_time_stats(), the entire field can be eliminated.\n\nIn update_ts_time_stats(), idle_lastupdate is first set to\n\"now\", and a few lines later, the only user is an if() statement\nthat assigns a variable either to \"now\" or to\nts-\u003eidle_lastupdate, which has the value of \"now\" at that point.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082439.2fab0b4f@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8d63bf949e330588b80d30ca8f0a27a45297a9e9",
      "tree": "e416fe04ddacdf3fc3e2c9ec6938da0ebbab7ff1",
      "parents": [
        "8c7b09f43f4bf570654bcc458ce96819a932303c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:24:03 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:26 2010 +0200"
      },
      "message": "sched: Fold updating of the last_update_time_info into update_ts_time_stats()\n\nThis patch folds the updating of the last_update_time into the\nupdate_ts_time_stats() function, and updates the callers.\n\nThis allows for further cleanups that are done in the next\npatch.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082403.60072967@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c7b09f43f4bf570654bcc458ce96819a932303c",
      "tree": "33eb6f860fa9a31ea63b67247890a6762439fde2",
      "parents": [
        "595aac488b546c7185be7e29c8ae165a588b2a9f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:23:23 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:26 2010 +0200"
      },
      "message": "sched: Update the idle statistics in get_cpu_idle_time_us()\n\nRight now, get_cpu_idle_time_us() only reports the idle\nstatistics upto the point the CPU entered last idle; not what is\nvalid right now.\n\nThis patch adds an update of the idle statistics to\nget_cpu_idle_time_us(), so that calling this function always\nreturns statistics that are accurate at the point of the call.\n\nThis includes resetting the start of the idle time for\naccounting purposes to avoid double accounting.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082323.2d2f1945@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "595aac488b546c7185be7e29c8ae165a588b2a9f",
      "tree": "5037879b01cbcb7cf84f4ab99a114aca687f0300",
      "parents": [
        "b1f724c3055fa75a31d272222213647547a2d3d4"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:22:45 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:25 2010 +0200"
      },
      "message": "sched: Introduce a function to update the idle statistics\n\nCurrently, two places update the idle statistics (and more to\ncome later in this series).\n\nThis patch creates a helper function for updating these\nstatistics.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082245.163e67ed@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b1f724c3055fa75a31d272222213647547a2d3d4",
      "tree": "9f9e9105a01405e252b5214e83bdbfcd10921f43",
      "parents": [
        "e7858f52a5cb868289a72264534a1f05f3340c6c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:22:08 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:25 2010 +0200"
      },
      "message": "sched: Add a comment to get_cpu_idle_time_us()\n\nThe exported function get_cpu_idle_time_us() has no comment\ndescribing it; add a kerneldoc comment\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082208.7cb721f0@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "39c0cbe2150cbd848a25ba6cdb271d1ad46818ad",
      "tree": "7b9c356b39a2b50219398ce534d7d64e7ab4bf06",
      "parents": [
        "41acab8851a0408c1d5ad6c21a07456f88b54d40"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Mar 11 17:17:13 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 18:32:49 2010 +0100"
      },
      "message": "sched: Rate-limit nohz\n\nEntering nohz code on every micro-idle is costing ~10% throughput for netperf\nTCP_RR when scheduling cross-cpu.  Rate limiting entry fixes this, but raises\nticks a bit.  On my Q6600, an idle box goes from ~85 interrupts/sec to 128.\n\nThe higher the context switch rate, the more nohz entry costs.  With this patch\nand some cycle recovery patches in my tree, max cross cpu context switch rate is\nimproved by ~16%, a large portion of which of which is this ratelimiting.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1268301003.6785.28.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "60d8ce2cd6c283132928c11f3fd57ff4187287e0",
      "tree": "36d08a2ead7a7d8c3c081d484215ccca00bf6aab",
      "parents": [
        "849e8dea099aafa56db9e74b580b0d858b956533",
        "feae3203d711db0a9965300ee6d592257fdaae4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 19:27:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 19:27:08 2009 -0800"
      },
      "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  timers, init: Limit the number of per cpu calibration bootup messages\n  posix-cpu-timers: optimize and document timer_create callback\n  clockevents: Add missing include to pacify sparse\n  x86: vmiclock: Fix printk format\n  x86: Fix printk format due to variable type change\n  sparc: fix printk for change of variable type\n  clocksource/events: Fix fallout of generic code changes\n  nohz: Allow 32-bit machines to sleep for more than 2.15 seconds\n  nohz: Track last do_timer() cpu\n  nohz: Prevent clocksource wrapping during idle\n  nohz: Type cast printk argument\n  mips: Use generic mult/shift factor calculation for clocks\n  clocksource: Provide a generic mult/shift factor calculation\n  clockevents: Use u32 for mult and shift factors\n  nohz: Introduce arch_needs_cpu\n  nohz: Reuse ktime in sub-functions of tick_check_idle.\n  time: Remove xtime_cache\n  time: Implement logarithmic time accumulation\n"
    },
    {
      "commit": "27185016b806d5a1181ff501cae120582b2b27dd",
      "tree": "44b0da428fccaea1ad83c537bcc99a80b9251227",
      "parents": [
        "98962465ed9e6ea99c38e0af63fe1dcb5a79dc25"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 12 22:12:06 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 13 20:46:24 2009 +0100"
      },
      "message": "nohz: Track last do_timer() cpu\n\nThe previous patch which limits the sleep time to the maximum\ndeferment time of the time keeping clocksource has some limitations on\nSMP machines: if all CPUs are idle then for all CPUs the maximum sleep\ntime is limited.\n\nSolve this by keeping track of which cpu had the do_timer() duty\nassigned last and limit the sleep time only for this cpu.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nCc: Jon Hunter \u003cjon-hunter@ti.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\n"
    },
    {
      "commit": "98962465ed9e6ea99c38e0af63fe1dcb5a79dc25",
      "tree": "f3f69ad8f6cd47e72a75da6de49eb3402f15cd9b",
      "parents": [
        "529eaccd900a59724619b4a6ef6579fd518d5218"
      ],
      "author": {
        "name": "Jon Hunter",
        "email": "jon-hunter@ti.com",
        "time": "Tue Aug 18 12:45:10 2009 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 13 20:46:24 2009 +0100"
      },
      "message": "nohz: Prevent clocksource wrapping during idle\n\nThe dynamic tick allows the kernel to sleep for periods longer than a\nsingle tick, but it does not limit the sleep time currently. In the\nworst case the kernel could sleep longer than the wrap around time of\nthe time keeping clock source which would result in losing track of\ntime.\n\nPrevent this by limiting it to the safe maximum sleep time of the\ncurrent time keeping clock source. The value is calculated when the\nclock source is registered.\n\n[ tglx: simplified the code a bit and massaged the commit msg ]\n\nSigned-off-by: Jon Hunter \u003cjon-hunter@ti.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1250617512-23567-2-git-send-email-jon-hunter@ti.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "529eaccd900a59724619b4a6ef6579fd518d5218",
      "tree": "c2d9986df5dc18ef5b412036a0d897194bad12e7",
      "parents": [
        "e3a4fab0c0c30e21e104712f4e9cb39f175d0f21"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 13 14:32:19 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 13 20:46:24 2009 +0100"
      },
      "message": "nohz: Type cast printk argument\n\nOn some archs local_softirq_pending() has a data type of unsigned long\non others its unsigned int. Type cast it to (unsigned int) in the\nprintk to avoid the compiler warning.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\n"
    },
    {
      "commit": "3c5d92a0cfb5103c0d5ab74d4ae6373d3af38148",
      "tree": "c8b50351568601428b6f9396ebfdd65e486b3097",
      "parents": [
        "eed3b9cf3fe3fcc7a50238dfcab63a63914e8f42"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Sep 29 14:25:16 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 05 07:53:53 2009 +0100"
      },
      "message": "nohz: Introduce arch_needs_cpu\n\nAllow the architecture to request a normal jiffy tick when the system\ngoes idle and tick_nohz_stop_sched_tick is called . On s390 the hook is\nused to prevent the system going fully idle if there has been an\ninterrupt other than a clock comparator interrupt since the last wakeup.\n\nOn s390 the HiperSockets response time for 1 connection ping-pong goes\ndown from 42 to 34 microseconds. The CPU cost decreases by 27%.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nLKML-Reference: \u003c20090929122533.402715150@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eed3b9cf3fe3fcc7a50238dfcab63a63914e8f42",
      "tree": "b8db321400bc9a17e7cfefb82dbfb515a841fab2",
      "parents": [
        "7bc7d637452383d56ba4368d4336b0dde1bb476d"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Sep 29 14:25:15 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 05 07:53:53 2009 +0100"
      },
      "message": "nohz: Reuse ktime in sub-functions of tick_check_idle.\n\nOn a system with NOHZ\u003dy tick_check_idle calls tick_nohz_stop_idle and\ntick_nohz_update_jiffies. Given the right conditions (ts-\u003eidle_active\nand/or ts-\u003etick_stopped) both function get a time stamp with ktime_get.\nThe same time stamp can be reused if both function require one.\n\nOn s390 this change has the additional benefit that gcc inlines the\ntick_nohz_stop_idle function into tick_check_idle. The number of\ninstructions to execute tick_check_idle drops from 225 to 144\n(without the ktime_get optimization it is 367 vs 215 instructions).\n\nbefore:\n\n 0)               |  tick_check_idle() {\n 0)               |    tick_nohz_stop_idle() {\n 0)               |      ktime_get() {\n 0)               |        read_tod_clock() {\n 0)   0.601 us    |        }\n 0)   1.765 us    |      }\n 0)   3.047 us    |    }\n 0)               |    ktime_get() {\n 0)               |      read_tod_clock() {\n 0)   0.570 us    |      }\n 0)   1.727 us    |    }\n 0)               |    tick_do_update_jiffies64() {\n 0)   0.609 us    |    }\n 0)   8.055 us    |  }\n\nafter:\n\n 0)               |  tick_check_idle() {\n 0)               |    ktime_get() {\n 0)               |      read_tod_clock() {\n 0)   0.617 us    |      }\n 0)   1.773 us    |    }\n 0)               |    tick_do_update_jiffies64() {\n 0)   0.593 us    |    }\n 0)   4.477 us    |  }\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c20090929122533.206589318@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fdc6f192e7e1ae80565af23cc33dc88e3dcdf184",
      "tree": "431a47d5fe9b737cc5dd5fe40e178d06f7d579ed",
      "parents": [
        "0eca52a92735f43462165efe00a7e394345fb38e"
      ],
      "author": {
        "name": "Eero Nurkkala",
        "email": "ext-eero.nurkkala@nokia.com",
        "time": "Wed Oct 07 11:54:26 2009 +0300"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 07 13:05:05 2009 +0200"
      },
      "message": "NOHZ: update idle state also when NOHZ is inactive\n\nCommit f2e21c9610991e95621a81407cdbab881226419b had unfortunate side\neffects with cpufreq governors on some systems.\n\nIf the system did not switch into NOHZ mode ts-\u003einidle is not set when\ntick_nohz_stop_sched_tick() is called from the idle routine. Therefor\nall subsequent calls from irq_exit() to tick_nohz_stop_sched_tick()\nfail to call tick_nohz_start_idle(). This results in bogus idle\naccounting information which is passed to cpufreq governors.\n\nSet the inidle flag unconditionally of the NOHZ active state to keep\nthe idle time accounting correct in any case.\n\n[ tglx: Added comment and tweaked the changelog ]\n\nReported-by: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Eero Nurkkala \u003cext-eero.nurkkala@nokia.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Steven Noonan \u003csteven@uplinklabs.net\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c1254907901.30157.93.camel@eenurkka-desktop\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "38df92b8cee936334f686c06df0e5fbb92e252df",
      "tree": "ffdfd4e5e746300f38a1267b207b293710b3c9a9",
      "parents": [
        "c4c5ab3089c8a794eb0bdaa9794d0f055dd82412",
        "f2e21c9610991e95621a81407cdbab881226419b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:51:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 20 10:51:44 2009 -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: Properly feed cpufreq ondemand governor\n"
    },
    {
      "commit": "f2e21c9610991e95621a81407cdbab881226419b",
      "tree": "00967210caf3b2ab82d0d0d29da0816d8978b8aa",
      "parents": [
        "cd86a536c81e9300d984327517548ca0652eebf9"
      ],
      "author": {
        "name": "Eero Nurkkala",
        "email": "ext-eero.nurkkala@nokia.com",
        "time": "Mon May 25 09:57:37 2009 +0300"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 27 15:33:43 2009 +0200"
      },
      "message": "NOHZ: Properly feed cpufreq ondemand governor\n\nA call from irq_exit() may occasionally pause the timing\ninfo for cpufreq ondemand governor. This results in the\ncpufreq ondemand governor to fail to calculate the \nsystem load properly. Thus, relocate the checks for this\nparticular case to keep the governor always functional.\n\nSigned-off-by: Eero Nurkkala \u003cext-eero.nurkkala@nokia.com\u003e\nReported-by: Tero Kristo \u003ctero.kristo@nokia.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5c333864a6ba811052d52ef14fbed056b9ac3512",
      "tree": "b0efe8d72c1cd5c555d528c0155251026425e695",
      "parents": [
        "597d0275736dad9c3bda6f0a00a1c477dc0f37b1"
      ],
      "author": {
        "name": "Arun R Bharadwaj",
        "email": "arun@linux.vnet.ibm.com",
        "time": "Thu Apr 16 12:14:37 2009 +0530"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 13 16:52:42 2009 +0200"
      },
      "message": "timers: Identifying the existing pinned timers\n\n* Arun R Bharadwaj \u003carun@linux.vnet.ibm.com\u003e [2009-04-16 12:11:36]:\n\nThe following pinned hrtimers have been identified and marked:\n1)sched_rt_period_timer\n2)tick_sched_timer\n3)stack_trace_timer_fn\n\n[ tglx: fixup the hrtimer pinned mode ]\n\nSigned-off-by: Arun R Bharadwaj \u003carun@linux.vnet.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "934d96eafadcf3eb3ccd094af9919f020907fc41",
      "tree": "8ccda81ddd77195ebe22d38b98d13f97452eedc6",
      "parents": [
        "6d612b0f943289856c6e8186c564cda922cd040e"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@infradead.org",
        "time": "Wed Jan 14 20:38:17 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 12:06:56 2009 +0100"
      },
      "message": "time-sched.c: tick_nohz_update_jiffies should be static\n\nImpact: cleanup, reduce kernel size a bit, avoid sparse warning\n\nFixes sparse warning:\n\n kernel/time/tick-sched.c:137:6: warning: symbol \u0027tick_nohz_update_jiffies\u0027 was not declared. Should it be static?\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "61420f59a589c0668f70cbe725785837c78ece90",
      "tree": "79ae77d731cd2425677b9527d50079d8cf34c3b2",
      "parents": [
        "d97106ab53f812910a62d18afb9dbe882819c1ba",
        "c742b31c03f37c5c499178f09f57381aa6c70131"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:56:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:56:24 2009 -0800"
      },
      "message": "Merge branch \u0027cputime\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027cputime\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6:\n  [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID\n  [PATCH] improve idle cputime accounting\n  [PATCH] improve precision of idle time detection.\n  [PATCH] improve precision of process accounting.\n  [PATCH] idle cputime accounting\n  [PATCH] fix scaled \u0026 unscaled cputime accounting\n"
    },
    {
      "commit": "b840d79631c882786925303c2b0f4fefc31845ed",
      "tree": "cda60a95d4507fe1321fc285af38982d7eb9693b",
      "parents": [
        "597b0d21626da4e6f09f132442caf0cc2b0eb47c",
        "c3d80000e3a812fe5a200d6bde755fbd7fa65481"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)\n  x86: export vector_used_by_percpu_irq\n  x86: use logical apicid in x2apic_cluster\u0027s x2apic_cpu_mask_to_apicid_and()\n  sched: nominate preferred wakeup cpu, fix\n  x86: fix lguest used_vectors breakage, -v2\n  x86: fix warning in arch/x86/kernel/io_apic.c\n  sched: fix warning in kernel/sched.c\n  sched: move test_sd_parent() to an SMP section of sched.h\n  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc\u003e0\n  sched: activate active load balancing in new idle cpus\n  sched: bias task wakeups to preferred semi-idle packages\n  sched: nominate preferred wakeup cpu\n  sched: favour lower logical cpu number for sched_mc balance\n  sched: framework for sched_mc/smt_power_savings\u003dN\n  sched: convert BALANCE_FOR_xx_POWER to inline functions\n  x86: use possible_cpus\u003dNUM to extend the possible cpus allowed\n  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask\n  x86: update io_apic.c to the new cpumask code\n  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()\n  x86: xen: use smp_call_function_many()\n  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c\n  ...\n\nFixed up trivial conflict in kernel/time/tick-sched.c manually\n"
    },
    {
      "commit": "79741dd35713ff4f6fd0eafd59fa94e8a4ba922d",
      "tree": "73c6b503fbd274cb3fcca7a0a68c6f636e3a53ad",
      "parents": [
        "457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:38 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:46 2008 +0100"
      },
      "message": "[PATCH] idle cputime accounting\n\nThe cpu time spent by the idle process actually doing something is\ncurrently accounted as idle time. This is plain wrong, the architectures\nthat support VIRT_CPU_ACCOUNTING\u003dy can do better: distinguish between the\ntime spent doing nothing and the time spent by idle doing work. The first\nis accounted with account_idle_time and the second with account_system_time.\nThe architectures that use the account_xxx_time interface directly and not\nthe account_xxx_ticks interface now need to do the check for the idle\nprocess in their arch code. In particular to improve the system vs true\nidle time accounting the arch code needs to measure the true idle time\ninstead of just testing for the idle process.\nTo improve the tick based accounting as well we would need an architecture\nprimitive that can tell us if the pt_regs of the interrupted context\npoints to the magic instruction that halts the cpu.\n\nIn addition idle time is no more added to the stime of the idle process.\nThis field now contains the system time of the idle process as it should\nbe. On systems without VIRT_CPU_ACCOUNTING this will always be zero as\nevery tick that occurs while idle is running will be accounted as idle\ntime.\n\nThis patch contains the necessary common code changes to be able to\ndistinguish idle system time and true idle time. The architectures with\nsupport for VIRT_CPU_ACCOUNTING need some changes to exploit this.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4",
      "tree": "cbe69310a66176dea2a9e7bd201db95efe4a2890",
      "parents": [
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:37 2008 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Wed Dec 31 15:11:46 2008 +0100"
      },
      "message": "[PATCH] fix scaled \u0026 unscaled cputime accounting\n\nThe utimescaled / stimescaled fields in the task structure and the\nglobal cpustat should be set on all architectures. On s390 the calls\nto account_user_time_scaled and account_system_time_scaled never have\nbeen added. In addition system time that is accounted as guest time\nto the user time of a process is accounted to the scaled system time\ninstead of the scaled user time.\nTo fix the bugs and to prevent future forgetfulness this patch merges\naccount_system_time_scaled into account_system_time and\naccount_user_time_scaled into account_user_time.\n\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Michael Neuling \u003cmikey@neuling.org\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "32e8d18683adb322c994d1a0fe02d66380991f45",
      "tree": "1c697f6d1c042dc560b096dca76680f4acf415b3",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "0a57b783018a77ca16097198844438bdff4d012e",
        "39c04b55240342d0742ac48538d3d8c71bfc0a94",
        "b2e3c0adec918ea22b6c9d7c76193dd3aaba9bd4",
        "001474491fabeca233168a8598f721c808040f90",
        "c29541b24fb2c6301021637229ae5347c877330a",
        "8187926bdae98648db24db3391c4efd21ec669b1",
        "a5a64498c194c82ecad3a2d67cff6231cda8d3dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hpet\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/rtc\u0027 into timers/core\n"
    },
    {
      "commit": "001474491fabeca233168a8598f721c808040f90",
      "tree": "858467ce6aed38ba2bd1ea8682e12bbdb182d0f1",
      "parents": [
        "fa116ea35ec7f40e890972324409e99eed008d56"
      ],
      "author": {
        "name": "Woodruff, Richard",
        "email": "r-woodruff2@ti.com",
        "time": "Mon Dec 01 14:18:11 2008 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 12 16:55:31 2008 +0100"
      },
      "message": "nohz: suppress needless timer reprogramming\n\nIn my device I get many interrupts from a high speed USB device in a very\nshort period of time.  The system spends a lot of time reprogramming the\nhardware timer which is in a slower timing domain as compared to the CPU. \nThis results in the CPU spending a huge amount of time waiting for the\ntimer posting to be done.  All of this reprogramming is useless as the\nwake up time has not changed.\n\nAs measured using ETM trace this drops my reprogramming penalty from\nalmost 60% CPU load down to 15% during high interrupt rate.  I can send\ntraces to show this.\n\nSuppress setting of duplicate timer event when timer already stopped. \nTimer programming can be very costly and can result in long cpu stall/wait\ntimes.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[tglx@linutronix.de: move the check to the right place and avoid raising\n\t\t     the softirq for nothing]\n\nSigned-off-by: Richard Woodruff \u003cr-woodruff2@ti.com\u003e\nCc: johnstul@us.ibm.com\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fa116ea35ec7f40e890972324409e99eed008d56",
      "tree": "60747cb2e78fbd66abdce1f133816ab22a078d34",
      "parents": [
        "6c34bc2976b30dc8b56392c020e25bae1f363cab"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Dec 11 17:04:11 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 07:27:01 2008 +0100"
      },
      "message": "nohz: no softirq pending warnings for offline cpus\n\nImpact: remove false positive warning\n\nAfter a cpu was taken down during cpu hotplug (read: disabled for interrupts)\nit still might have pending softirqs. However take_cpu_down makes sure\nthat the idle task will run next instead of ksoftirqd on the taken down cpu.\nThe idle task will call tick_nohz_stop_sched_tick which might warn about\npending softirqs just before the cpu kills itself completely.\n\nHowever the pending softirqs on the dead cpu aren\u0027t a problem because they\nwill be moved to an online cpu during CPU_DEAD handling.\n\nSo make sure we warn only for online cpus.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca109491f612aab5c8152207631c0444f63da97f",
      "tree": "46d0a90e79c75fc039bda7d01862062e0ac39900",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Nov 25 12:43:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 15:45:46 2008 +0100"
      },
      "message": "hrtimer: removing all ur callback modes\n\nImpact: cleanup, move all hrtimer processing into hardirq context\n\nThis is an attempt at removing some of the hrtimer complexity by\nreducing the number of callback modes to 1.\n\nThis means that all hrtimer callback functions will be ran from HARD-irq\ncontext.\n\nI went through all the 30 odd hrtimer callback functions in the kernel\nand saw only one that I\u0027m not quite sure of, which is the one in\nnet/can/bcm.c - hence I\u0027m CC-ing the folks responsible for that code.\n\nFurthermore, the hrtimer core now calls callbacks directly with IRQs\ndisabled in case you try to enqueue an expired timer. If this timer is a\nperiodic timer (which should use hrtimer_forward() to advance its time)\nthen it might be possible to end up in an inf. recursive loop due to the\nfact that hrtimer_forward() doesn\u0027t round up to the next timer\ngranularity, and therefore keeps on calling the callback - obviously\nthis needs a fix.\n\nAside from that, this seems to compile and actually boot on my dual core\ntest box - although I\u0027m sure there are some bugs in, me not hitting any\nmakes me certain :-)\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a7b3dc3440f7b5a9b67594af01ed562cdeb41e4",
      "tree": "fdbe54d2c9cd665c6a76ed09e9e4b7c51fb4df20",
      "parents": [
        "6c99e9ad47d9c082bd096f42fb49e397b05d58a8"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:04 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:51:10 2008 +0100"
      },
      "message": "sched: convert nohz_cpu_mask to cpumask_var_t.\n\nImpact: (future) size reduction for large NR_CPUS.\n\nDynamically allocating cpumasks (when CONFIG_CPUMASK_OFFSTACK) saves\nspace for small nr_cpu_ids but big CONFIG_NR_CPUS.  cpumask_var_t\nis just a struct cpumask for !CONFIG_CPUMASK_OFFSTACK.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae99286b4f1be7788f2d6947c66a91dbd6351eec",
      "tree": "a403ffaeaad1cb38afa79e2cca40ecc00ea694ab",
      "parents": [
        "ee5f80a993539490a07477ff2526bf62c503fbb4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 10 13:20:23 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Mon Nov 10 22:39:27 2008 +0100"
      },
      "message": "nohz: disable tick_nohz_kick_tick() for now\n\nImpact: nohz powersavings and wakeup regression\n\ncommit fb02fbc14d17837b4b7b02dbb36142c16a7bf208 (NOHZ: restart tick\ndevice from irq_enter()) causes a serious wakeup regression.\n\nWhile the patch is correct it does not take into account that spurious\nwakeups happen on x86. A fix for this issue is available, but we just\nrevert to the .27 behaviour and let long running softirqs screw\nthemself.\n\nDisable it for now.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "268a3dcfea2077fca60d3715caa5c96f9b5e6ea7",
      "tree": "c2232774508424e677e27f296090a68c775e4669",
      "parents": [
        "c4bd822e7b12a9008241d76db45b665f2fef180c",
        "592aa999d6a272856c9bfbdaac0cfba1bb37c24c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 22 09:48:06 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 22 09:48:06 2008 +0200"
      },
      "message": "Merge branch \u0027timers/range-hrtimers\u0027 into v28-range-hrtimers-for-linus-v2\n\nConflicts:\n\n\tkernel/time/tick-sched.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c4bd822e7b12a9008241d76db45b665f2fef180c",
      "tree": "bd4b7b4e2e7db065c971eb264196f02e0b01ecff",
      "parents": [
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 21 20:17:35 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 21 20:53:24 2008 +0200"
      },
      "message": "NOHZ: fix thinko in the timer restart code path\n\ncommit fb02fbc14d17837b4b7b02dbb36142c16a7bf208 (NOHZ: restart tick\ndevice from irq_enter())\n\nsolves the problem of stale jiffies when long running softirqs happen\nin a long idle sleep period, but it has a major thinko in it:\n\nWhen the interrupt which came in _is_ the timer interrupt which should\nexpire ts-\u003esched_timer then we cancel and rearm the timer _before_ it\ngets expired in hrtimer_interrupt() to the next period. That means the\ncall back function is not called. This game can go on for ever :(\n\nPrevent this by making sure to only rearm the timer when the expiry\ntime is more than one tick_period away. Otherwise keep it running as\nit is either already expired or will expiry at the right point to\nupdate jiffies.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Venkatesch Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\n"
    },
    {
      "commit": "651dab4264e4ba0e563f5ff56f748127246e9065",
      "tree": "016630974bdcb00fe529b673f96d389e0fd6dc94",
      "parents": [
        "40b8606253552109815786e5d4b0de98782d31f5",
        "2e532d68a2b3e2aa6b19731501222069735c741c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Oct 17 09:20:26 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Oct 17 09:20:26 2008 -0700"
      },
      "message": "Merge commit \u0027linus/master\u0027 into merge-linus\n\nConflicts:\n\n\tarch/x86/kvm/i8254.c\n"
    },
    {
      "commit": "fb02fbc14d17837b4b7b02dbb36142c16a7bf208",
      "tree": "9df1d069c5612047c38a9f6d6dc801ee0369ae3c",
      "parents": [
        "c34bec5a44e9486597d78e7a686b2f9088a0564c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 17 10:01:23 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Fri Oct 17 18:13:38 2008 +0200"
      },
      "message": "NOHZ: restart tick device from irq_enter()\n\nWe did not restart the tick device from irq_enter() to avoid double\nreprogramming and extra events in the return immediate to idle case.\n\nBut long lasting softirqs can lead to a situation where jiffies become\nstale:\n\nidle()\n  tick stopped (reprogrammed to next pending timer)\n  halt()\n   interrupt\n     jiffies updated from irq_enter()\n     interrupt handler\n     softirq function 1 runs 20ms\n     softirq function 2 arms a 10ms timer with a stale jiffies value\n     jiffies updated from irq_exit()\n     timer wheel has now an already expired timer\n     (the one added in function 2)\n     timer fires and timer softirq runs\n\nThis was discovered when debugging a timer problem which happend only\nwhen the ath5k driver is active. The debugging proved that there is a\nsoftirq function running for more than 20ms, which is a bug by itself.\n\nTo solve this we restart the tick timer right from irq_enter(), but do\nnot go through the other functions which are necessary to return from\nidle when need_resched() is set.\n\nReported-by: Elias Oltmanns \u003ceo@nebensachen.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Elias Oltmanns \u003ceo@nebensachen.de\u003e\n"
    },
    {
      "commit": "c34bec5a44e9486597d78e7a686b2f9088a0564c",
      "tree": "dd538560814ea54ce8d3f46b935dd24127fba04e",
      "parents": [
        "719254faa17ffedc87ba0fadb9b34e535c9758d5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 17 10:04:34 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Fri Oct 17 18:13:38 2008 +0200"
      },
      "message": "NOHZ: split tick_nohz_restart_sched_tick()\n\nSplit out the clock event device reprogramming. Preparatory\npatch.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "719254faa17ffedc87ba0fadb9b34e535c9758d5",
      "tree": "6afe1e9f2175aa5394cf6e0fc7c84afef0be3e9b",
      "parents": [
        "2e532d68a2b3e2aa6b19731501222069735c741c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 17 09:59:47 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Fri Oct 17 18:13:38 2008 +0200"
      },
      "message": "NOHZ: unify the nohz function calls in irq_enter()\n\nWe have two separate nohz function calls in irq_enter() for no good\nreason. Just call a single NOHZ function from irq_enter() and call\nthe bits in the tick code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6b2ada82101a08e2830fb29d7dc9b858be637dd4",
      "tree": "c0580c250211f8773674f3a4f7cd575818f153cc",
      "parents": [
        "278429cff8809958d25415ba0ed32b59866ab1a8",
        "3b7ecb5d2ffde82efd1b1bcc6780dc8a019acf02",
        "77af7e3403e7314c47b0c07fbc5e4ef21d939532",
        "15160716eea5591eb31f40fd4dba56d83bea4209",
        "1fa63a817d27af7dc0d5ed454eb8fe5dec65fac7",
        "85462323555dda749f1c5373a8d72679464c968d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "message": "Merge branches \u0027core/softlockup\u0027, \u0027core/softirq\u0027, \u0027core/resources\u0027, \u0027core/printk\u0027 and \u0027core/misc\u0027 into core-v28-for-linus\n"
    },
    {
      "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": "cc584b213f252bf698849cf4be2377cd3ec7501a",
      "tree": "621ba11da6a2ab8598f9ed453836cd2c44192260",
      "parents": [
        "23dd7bb09bd8d7efd8a602aed97b93d52f85e675"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 01 15:02:30 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Sep 05 21:35:13 2008 -0700"
      },
      "message": "hrtimer: convert kernel/* to the new hrtimer apis\n\nIn order to be able to do range hrtimers we need to use accessor functions\nto the \"expire\" member of the hrtimer struct.\nThis patch converts kernel/* to these accessors.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\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": "b845b517b5e3706a3729f6ea83b88ab85f0725b0",
      "tree": "4311e4c2e6c3fdbdbe89149d1501944294186455",
      "parents": [
        "796aadeb1b2db9b5d463946766c5bbfd7717158c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 08 21:47:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 13:46:53 2008 +0200"
      },
      "message": "printk: robustify printk\n\nAvoid deadlocks against rq-\u003elock and xtime_lock by deferring the klogd\nwakeup by polling from the timer tick.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\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"
    }
  ],
  "next": "bc5393a6c9c0e70b4b43fb2fb63e3315e9a15c8f"
}
