)]}'
{
  "log": [
    {
      "commit": "c33fff0afbef4f0467c99e3f47ee7e98ae78c77e",
      "tree": "d6b5f8dc77aa21de95bbca76c6be6056026cc1d8",
      "parents": [
        "ac41cfd19bf77424519b962f8205ede51fceaac6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:22 2008 -0700"
      },
      "message": "kernel: use non-racy method for proc entries creation\n\nUse proc_create()/proc_create_data() to make sure that -\u003eproc_fops and -\u003edata\nbe setup before gluing PDE to main tree.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "5dfeaef89559d4968b0470adf749659f10d722f6",
      "tree": "e38f4177b8e2e12cd1aa2e9910beea1dc3578784",
      "parents": [
        "429f731dea577bdd43693940cdca524135287e6a",
        "259aae864ceeb2b34e7bafa1ce18d096a357fab2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:43:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:43:43 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  hrtimer: optimize the softirq time optimization\n  hrtimer: reduce calls to hrtimer_get_softirq_time()\n  clockevents: fix typo in tick-broadcast.c\n  jiffies: add time_is_after_jiffies and others which compare with jiffies\n"
    },
    {
      "commit": "ec965350bb98bd291eb34f6ecddfdcfc36da1e6e",
      "tree": "983bcaf33ed00b48a86f7f8790cc460cf15dd252",
      "parents": [
        "5f033bb9bc5cb3bb37a79e3ef131f50ecdcb72b0",
        "486fdae21458bd9f4e125099bb3c38a4064e450e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:40:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:40:24 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: (62 commits)\n  sched: build fix\n  sched: better rt-group documentation\n  sched: features fix\n  sched: /debug/sched_features\n  sched: add SCHED_FEAT_DEADLINE\n  sched: debug: show a weight tree\n  sched: fair: weight calculations\n  sched: fair-group: de-couple load-balancing from the rb-trees\n  sched: fair-group scheduling vs latency\n  sched: rt-group: optimize dequeue_rt_stack\n  sched: debug: add some debug code to handle the full hierarchy\n  sched: fair-group: SMP-nice for group scheduling\n  sched, cpuset: customize sched domains, core\n  sched, cpuset: customize sched domains, docs\n  sched: prepatory code movement\n  sched: rt: multi level group constraints\n  sched: task_group hierarchy\n  sched: fix the task_group hierarchy for UID grouping\n  sched: allow the group scheduler to have multiple levels\n  sched: mix tasks and groups\n  ...\n"
    },
    {
      "commit": "833df317f9ada91488898b005f4641bb674a3bae",
      "tree": "4d71c55616b3bd5648511a3c485324984c8c2472",
      "parents": [
        "3f34d024c12e49fbce4009d094ae1d287084e511"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Apr 18 13:38:58 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 21 07:59:51 2008 +0200"
      },
      "message": "clockevents: fix typo in tick-broadcast.c\n\nbraodcast -\u003e broadcast\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "d8bb6f4c1670c8324e4135c61ef07486f7f17379",
      "tree": "d53b676621b3bd6bb4d39a4b22588b58e1a7ea45",
      "parents": [
        "f1326973262382150c26bf4dfccd0fce310c4a9c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 01 19:45:18 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:19:55 2008 +0200"
      },
      "message": "x86: tsc prevent time going backwards\n\nWe already catch most of the TSC problems by sanity checks, but there\nis a subtle bug which has been in the code forever. This can cause\ntime jumps in the range of hours.\n\nThis was reported in:\n     http://lkml.org/lkml/2007/8/23/96\nand\n     http://lkml.org/lkml/2008/3/31/23\n\nI was able to reproduce the problem with a gettimeofday loop test on a\ndual core and a quad core machine which both have sychronized\nTSCs. The TSCs seems not to be perfectly in sync though, but the\nkernel is not able to detect the slight delta in the sync check. Still\nthere exists an extremly small window where this delta can be observed\nwith a real big time jump. So far I was only able to reproduce this\nwith the vsyscall gettimeofday implementation, but in theory this\nmight be observable with the syscall based version as well.\n\nCPU 0 updates the clock source variables under xtime/vyscall lock and\nCPU1, where the TSC is slighty behind CPU0, is reading the time right\nafter the seqlock was unlocked.\n\nThe clocksource reference data was updated with the TSC from CPU0 and\nthe value which is read from TSC on CPU1 is less than the reference\ndata. This results in a huge delta value due to the unsigned\nsubtraction of the TSC value and the reference value. This algorithm\ncan not be changed due to the support of wrapping clock sources like\npm timer.\n\nThe huge delta is converted to nanoseconds and added to xtime, which\nis then observable by the caller. The next gettimeofday call on CPU1\nwill show the correct time again as now the TSC has advanced above the\nreference value.\n\nTo prevent this TSC specific wreckage we need to compare the TSC value\nagainst the reference value and return the latter when it is larger\nthan the actual TSC value.\n\nI pondered to mark the TSC unstable when the readout is smaller than\nthe reference value, but this would render an otherwise good and fast\nclocksource unusable without a real good reason.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "73e3e6481f56b3b5b618671a8d32b19a35f84316",
      "tree": "44addba339ca1279a82d6d702e92e6cc2c183810",
      "parents": [
        "4adeaaf51ebcc3f629f5512b96aebb5089388bca",
        "6993fc5bbc5d63ccd55985b39c34417e430e75e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  clocksource: make clocksource watchdog cycle through online CPUs\n  Documentation: move timer related documentation to a single place\n  clockevents: optimise tick_nohz_stop_sched_tick() a bit\n  locking: remove unused double_spin_lock()\n  hrtimers: simplify lockdep handling\n  timers: simplify lockdep handling\n  posix-timers: fix shadowed variables\n  timer_list: add annotations to workqueue.c\n  hrtimer: use nanosleep specific restart_block fields\n  hrtimer: add nanosleep specific restart_block member\n"
    },
    {
      "commit": "9732b6112343df2872518ec6701c8ef729310a05",
      "tree": "9e3dcc461845038da4730c2062eee546348ca445",
      "parents": [
        "9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e",
        "1a9a3e76dde191f82f7a8a66059dcbb4a9f63ff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb:\n  kgdb: always use icache flush for sw breakpoints\n  kgdb: fix SMP NMI kgdb_handle_exception exit race\n  kgdb: documentation fixes\n  kgdb: allow static kgdbts boot configuration\n  kgdb: add documentation\n  kgdb: Kconfig fix\n  kgdb: add kgdb internal test suite\n  kgdb: fix several kgdb regressions\n  kgdb: kgdboc pl011 I/O module\n  kgdb: fix optional arch functions and probe_kernel_*\n  kgdb: add x86 HW breakpoints\n  kgdb: print breakpoint removed on exception\n  kgdb: clocksource watchdog\n  kgdb: fix NMI hangs\n  kgdb: fix kgdboc dynamic module configuration\n  kgdb: document parameters\n  x86: kgdb support\n  consoles: polling support, kgdboc\n  kgdb: core\n  uaccess: add probe_kernel_write()\n"
    },
    {
      "commit": "7c3078b637882303b1dcf6a16229d0e35f6b60a5",
      "tree": "4b1456f81627056eff8750e42481c0b00ac84cf0",
      "parents": [
        "d359752407f8916c29ad53a5c30ac73e338f2797"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Feb 15 14:55:54 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:38 2008 +0200"
      },
      "message": "kgdb: clocksource watchdog\n\nIn order to not trip the clocksource watchdog, kgdb must touch the\nclocksource watchdog on the return to normal system run state.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6993fc5bbc5d63ccd55985b39c34417e430e75e9",
      "tree": "6a1ea13d3f27a8063a9375689b729479c4e63e22",
      "parents": [
        "3833eecc183ce052e9ac96b39b45121a2d11ac16"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "clocksource: make clocksource watchdog cycle through online CPUs\n\nThis way it checks if the clocks are synchronized between CPUs too.\nThis might be able to detect slowly drifting TSCs which only\ngo wrong over longer time.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "d7b906897e9caae452947e33674df0a2d6f7e10f",
      "tree": "5df31094a1b24a46369bda89cdf54d5403b1caa9",
      "parents": [
        "43ca5c3a1cefdaa09231d64485b8f676118bf1e0"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Thu Apr 17 07:46:24 2008 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 17 07:47:05 2008 +0200"
      },
      "message": "[S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h\n\n\u003e Generic code is not supposed to include irq.h. Replace this include\n\u003e by linux/hardirq.h instead and add/replace an include of linux/irq.h\n\u003e in asm header files where necessary.\n\u003e This change should only matter for architectures that make use of\n\u003e GENERIC_CLOCKEVENTS.\n\u003e Architectures in question are mips, x86, arm, sh, powerpc, uml and sparc64.\n\u003e\n\u003e I did some cross compile tests for mips, x86_64, arm, powerpc and sparc64.\n\u003e This patch fixes also build breakages caused by the include replacement in\n\u003e tick-common.h.\n\nI generally dislike adding optional linux/* includes in asm/* includes -\nI\u0027m nervous about this causing include loops.\n\nHowever, there\u0027s a separate point to be discussed here.\n\nThat is, what interfaces are expected of every architecture in the kernel.\nIf generic code wants to be able to set the affinity of interrupts, then\nthat needs to become part of the interfaces listed in linux/interrupt.h\nrather than linux/irq.h.\n\nSo what I suggest is this approach instead (against Linus\u0027 tree of a\ncouple of days ago) - we move irq_set_affinity() and irq_can_set_affinity()\nto linux/interrupt.h, change the linux/irq.h includes to linux/interrupt.h\nand include asm/irq_regs.h where needed (asm/irq_regs.h is supposed to be\nrarely used include since not much touches the stacked parent context\nregisters.)\n\nBuild tested on ARM PXA family kernels and ARM\u0027s Realview platform\nkernels which both use genirq.\n\n[ tglx@linutronix.de: add GENERIC_HARDIRQ dependencies ]\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "898a19de1502649877091b398229026b4142c0e2",
      "tree": "14bb8190db30d356cb1da9e7467898e12bf26a29",
      "parents": [
        "a4083c9271e0a697278e089f2c0b9a95363ada0a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 25 09:01:51 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 25 20:13:25 2008 +0100"
      },
      "message": "clocksource: revert: use init_timer_deferrable for clocksource_watchdog\n\nRevert\n\ncommit 1077f5a917b7c630231037826b344b2f7f5b903f\nAuthor: Parag Warudkar \u003cparag.warudkar@gmail.com\u003e\nDate:   Wed Jan 30 13:30:01 2008 +0100\n\n    clocksource.c: use init_timer_deferrable for clocksource_watchdog\n    \n    clocksource_watchdog can use a deferrable timer - reduces wakeups from\n    idle per second.\n\nThe watchdog timer needs to run with the specified interval. Otherwise\nit will miss the possible wrap of the watchdog clocksource.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n\n"
    },
    {
      "commit": "92896bd9fd75b1c993b92874d339a8088bb75560",
      "tree": "2bd8bc5a8c8ee10a4b1fd62804281d2b486067f0",
      "parents": [
        "d2532dd20a126020de407c1c2476a75b53fce7ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:07:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:07:15 2008 -0700"
      },
      "message": "Don\u0027t \u0027printk()\u0027 while holding xtime lock for writing\n\nThe printk() can deadlock because it can wake up klogd(), and\ntask enqueueing will try to read the time in order to set a hrtimer.\n\nReported-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nDebugged-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3150e63df41450a795bbd0bd98a8e70da74e0285",
      "tree": "cee77b25ba25abc5c892cfb06fdac92bbd946991",
      "parents": [
        "cf821e8f53e3d147ebae03c8c710d2b8842d88a1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 19 17:01:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:37 2008 -0700"
      },
      "message": "revert \"clocksource: make clocksource watchdog cycle through online CPUs\"\n\nRevert commit 1ada5cba6a0318f90e45b38557e7b5206a9cba38 (\"clocksource:\nmake clocksource watchdog cycle through online CPUs\") due to the\nregression reported by Gabriel C at\n\n\thttp://lkml.org/lkml/2008/2/24/281\n\n(short vesion: it makes TSC be marked as always unstable on his\nmachine).\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Robert Hancock \u003chancockr@shaw.ca\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Gabriel C \u003cnix.or.die@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10a398d04c4a1fc395840f4d040493375f562302",
      "tree": "02096fe81b70e2baf8db35ebc9d303a1b13029c3",
      "parents": [
        "a79017660ea4597ec489fab3b5aaf71dd776dfc7"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue Mar 04 15:14:26 2008 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "time: remove obsolete CLOCK_TICK_ADJUST\n\nThe first version of the ntp_interval/tick_length inconsistent usage patch was\nrecently merged as bbe4d18ac2e058c56adb0cd71f49d9ed3216a405\n\nhttp://git.kernel.org/gitweb.cgi?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003dbbe4d18ac2e058c56adb0cd71f49d9ed3216a405\n\nWhile the fix did greatly improve the situation, it was correctly pointed out\nby Roman that it does have a small bug: If the users change clocksources after\nthe system has been running and NTP has made corrections, the correctoins made\nagainst the old clocksource will be applied against the new clocksource,\ncausing error.\n\nThe second attempt, which corrects the issue in the NTP_INTERVAL_LENGTH\ndefinition has also made it up-stream as commit\ne13a2e61dd5152f5499d2003470acf9c838eab84\n\nhttp://git.kernel.org/gitweb.cgi?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003de13a2e61dd5152f5499d2003470acf9c838eab84\n\nRoman has correctly pointed out that CLOCK_TICK_ADJUST is calculated\nbased on the PIT\u0027s frequency, and isn\u0027t really relevant to non-PIT\ndriven clocksources (that is, clocksources other then jiffies and pit).\n\nThis patch reverts both of those changes, and simply removes\nCLOCK_TICK_ADJUST.\n\nThis does remove the granularity error correction for users of PIT and Jiffies\nclocksource users, but the granularity error but for the majority of users, it\nshould be within the 500ppm range NTP can accommodate for.\n\nFor systems that have granularity errors greater then 500ppm, the\n\"ntp_tick_adj\u003d\" boot option can be used to compensate.\n\n[johnstul@us.ibm.com: provided changelog]\n[mattilinnanvuori@yahoo.com: maek ntp_tick_adj static]\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Matti Linnanvuori \u003cmattilinnanvuori@yahoo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: mingo@elte.hu\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": "e48af19f56eb47a1f908ee8f16df9d246f955b21",
      "tree": "39a6769d80f125f6cfd4721a900e4b897ea15fbb",
      "parents": [
        "84c6f6046c5a2189160a8f0dca8b90427bf690ea"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Feb 25 18:31:57 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "ntp: use unsigned input for do_div()\n\nThe kernel NTP code shouldn\u0027t hand 64-bit *signed* values to do_div().  Make it\ninstead hand 64-bit unsigned values.  This gets rid of a couple of warnings.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\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: 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": "db4315d6f53edc2cc0b0b06fce1beffebb119c71",
      "tree": "4c0c4a3f86e9f319e6aeda3210e33a51b38a7fba",
      "parents": [
        "1309d4e68497184d2fd87e892ddf14076c2bda98"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Tue Feb 05 00:48:13 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Feb 17 17:29:38 2008 +0100"
      },
      "message": "timer_list: print relative expiry time signed\n\nRelative expiry time can get negative, so it should be signed.\n\nSigned-off-by: Pavel Machek \u003cPavel@suse.cz\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "e13a2e61dd5152f5499d2003470acf9c838eab84",
      "tree": "4846b2ea392773f7a92d31334295d7aadbafd83e",
      "parents": [
        "25f666300625d894ebe04bac2b4b3aadb907c861"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Sun Feb 10 10:48:03 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Feb 10 10:48:03 2008 +0100"
      },
      "message": "ntp: correct inconsistent interval/tick_length usage\n\nclocksource initialization and error accumulation.  This corrects a 280ppm\ndrift seen on some systems using acpi_pm, and affects other clocksources as\nwell (likely to a lesser degree).\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\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": "3eb056764dd806bbe84eb604e45e7470feeaafd8",
      "tree": "97a8fe2123d2c9df2bcb48052ac33d445a00f64c",
      "parents": [
        "cf4fc6cb76e50b01666e28a9f4b2e6fbcbb96d5f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 08 04:19:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "time: fix typo in comments\n\nFix typo in comments.\n\nBTW: I have to fix coding style in arch/ia64/kernel/time.c also, otherwise\ncheckpatch.pl will be complaining.\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": "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": "0b858e6ff9a38b987a83d22e6f2a2f621c80608d",
      "tree": "71bea1f83730b25ef1a18d56e9b5e69261b884c4",
      "parents": [
        "818c357802e2791880057fe752dc9ce9e210f772"
      ],
      "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": "clockevent: simplify list operations\n\nlist_for_each_safe() suffices here.\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": "818c357802e2791880057fe752dc9ce9e210f772",
      "tree": "3694d26a887fea0cb96e843177d3281bc1cc7ef6",
      "parents": [
        "146a505d498c36de98ec161d791dd50beca7f9a3"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 08 04:19:23 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "clocksource: remove redundant code\n\nFlag CLOCK_SOURCE_WATCHDOG is cleared twice.  Note clocksource_change_rating()\nwon\u0027t do anyting with the cs flag.\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": "5e2cb1018a8a583b83d56c80f46507da6f3f2b57",
      "tree": "b9cbe718649c8be6e2d54aedcf75244fbe56bddd",
      "parents": [
        "be6c28e62e3a304b74013afab029af2021e1f50d"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Feb 06 01:36:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "time: fix sysfs_show_{available,current}_clocksources() buffer overflow problem\n\nI found that there is a buffer overflow problem in the following code.\n\nVersion:\t2.6.24-rc2,\nFile:\t\tkernel/time/clocksource.c:417-432\n--------------------------------------------------------------------\nstatic ssize_t\nsysfs_show_available_clocksources(struct sys_device *dev, char *buf)\n{\n\tstruct clocksource *src;\n\tchar *curr \u003d buf;\n\n\tspin_lock_irq(\u0026clocksource_lock);\n\tlist_for_each_entry(src, \u0026clocksource_list, list) {\n\t\tcurr +\u003d sprintf(curr, \"%s \", src-\u003ename);\n\t}\n\tspin_unlock_irq(\u0026clocksource_lock);\n\n\tcurr +\u003d sprintf(curr, \"\\n\");\n\n\treturn curr - buf;\n}\n-----------------------------------------------------------------------\n\nsysfs_show_current_clocksources() also has the same problem though in practice\nthe size of current clocksource\u0027s name won\u0027t exceed PAGE_SIZE.\n\nI fix the bug by using snprintf according to the specification of the kernel\n(Version:2.6.24-rc2,File:Documentation/filesystems/sysfs.txt)\n\nFix sysfs_show_available_clocksources() and sysfs_show_current_clocksources()\nbuffer overflow problem with snprintf().\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.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": "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": "1001d0a9ee74a468077dfd4da0565174e88de26b",
      "tree": "8775592b23e8049700ff98a7bdbcf9c802a0f127",
      "parents": [
        "3588a085cd52ef080bf72df772378e1ba6bb292f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 01 17:45:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 01 17:45:13 2008 +0100"
      },
      "message": "timekeeping: update xtime_cache when time(zone) changes\n\nxtime_cache needs to be updated whenever xtime and or wall_to_monotic\nare changed. Otherwise users of xtime_cache might see a stale (and in\nthe case of timezone changes utterly wrong) value until the next\nupdate happens.\n\nFixup the obvious places, which miss this update.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nTested-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\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": "bbe4d18ac2e058c56adb0cd71f49d9ed3216a405",
      "tree": "bc81b3a04cc01fed11ac47673475bf4019cc013f",
      "parents": [
        "37a47db8d7f0f38dac5acf5a13abbc8f401707fa"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "message": "NTP: correct inconsistent ntp interval/tick_length usage\n\nI recently noticed on one of my boxes that when synched with an NTP\nserver, the drift value reported for the system was ~283ppm. While in\nsome cases, clock hardware can be that bad, it struck me as unusual as\nthe system was using the acpi_pm clocksource, which is one of the more\ntrustworthy and accurate clocksources on x86 hardware.\n\nI brought up another system and let it sync to the same NTP server, and\nI noticed a similar 280some ppm drift.\n\nIn looking at the code, I found that the acpi_pm\u0027s constant frequency\nwas being computed correctly at boot-up, however once the system was up,\neven without the ntp daemon running, the clocksource\u0027s frequency was\nbeing modified by the clocksource_adjust() function.\n\nDigging deeper, I realized that in the code that keeps track of how much\nthe clocksource is skewing from the ntp desired time, we were using\ndifferent lengths to establish how long an time interval was.\n\nThe clocksource was being setup with the following interval:\n\tNTP_INTERVAL_LENGTH \u003d NSEC_PER_SEC/NTP_INTERVAL_FREQ\n\nWhile the ntp code was using the tick_length_base value:\n\ttick_length_base ~\u003d (tick_usec * NSEC_PER_USEC * USER_HZ)\n\t\t\t\t\t/NTP_INTERVAL_FREQ\n\nThe subtle difference is:\n\t(tick_usec * NSEC_PER_USEC * USER_HZ) !\u003d NSEC_PER_SEC\n\nThis difference in calculation was causing the clocksource correction\ncode to apply a correction factor to the clocksource so the two\nintervals were the same, however this results in the actual frequency of\nthe clocksource to be made incorrect. I believe this difference would\naffect all clocksources, although to differing degrees depending on the\nclocksource resolution.\n\nThe issue was introduced when my HZ free ntp patch landed in 2.6.21-rc1,\nso my apologies for the mistake, and for not noticing it until now.\n\nThe following patch, corrects the clocksource\u0027s initialization code so\nit uses the same interval length as the code in ntp.c. After applying\nthis patch, the drift value for the same system went from ~283ppm to\nonly 2.635ppm.\n\nI believe this patch to be good, however it does affect all arches and\nI\u0027ve only tested on x86, so some caution is advised. I do think it would\nbe a likely candidate for a stable 2.6.24.x release.\n\nAny thoughts or feedback would be appreciated.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "45fe4fe19120a22f7339f5bb110447170c25fca9",
      "tree": "06639135ca5bc60e952670dd7df40e195edb2ad9",
      "parents": [
        "1a0c009ac53de4a7664a1239936f0bc258133156"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "message": "x86: make clockevents more robust\n\ndetect zero event-device multiplicators - they then cause\ndivision-by-zero crashes if a clockevent has been initialized\nincorrectly.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4713e22ce81eb8b3353e16435362eb3d0ec95640",
      "tree": "6f96151bd9b182d6b9d706d3ad3b4fe8c99e7f7e",
      "parents": [
        "316da3b3fc8efa9a5d2c99e0d449f01ff38c6aba"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "message": "clocksource: add unregister function to disable unusable clocksources\n\nOn x86 the PIT might become an unusable clocksource. Add an unregister\nfunction to provide a possibilty to remove the PIT from the list of\navailable clock sources.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ada5cba6a0318f90e45b38557e7b5206a9cba38",
      "tree": "262886af88fe55e2de6fb1e878f68bd6b452a3aa",
      "parents": [
        "1077f5a917b7c630231037826b344b2f7f5b903f"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "message": "clocksource: make clocksource watchdog cycle through online CPUs\n\nThis way it checks if the clocks are synchronized between CPUs too.\nThis might be able to detect slowly drifting TSCs which only\ngo wrong over longer time.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1077f5a917b7c630231037826b344b2f7f5b903f",
      "tree": "e0083b73450d513b16d0f5c0704ad49961dce401",
      "parents": [
        "efd9ac8630e89b9ee7ce64008bd7783952374f37"
      ],
      "author": {
        "name": "Parag Warudkar",
        "email": "parag.warudkar@gmail.com",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "clocksource.c: use init_timer_deferrable for clocksource_watchdog\n\nclocksource_watchdog can use a deferrable timer - reduces wakeups from\nidle per second.\n\nSigned-off-by: Parag Warudkar \u003cparag.warudkar@gmail.com\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": "efd9ac8630e89b9ee7ce64008bd7783952374f37",
      "tree": "2b06184b9241770aff309a9940f6e400371003a4",
      "parents": [
        "1d76c2622813fbc692b0d323028cfef9ee36051a"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "time: fold __get_realtime_clock_ts() into getnstimeofday()\n\n  - getnstimeofday() was just a wrapper around __get_realtime_clock_ts()\n  - Replace calls to __get_realtime_clock_ts() by calls to getnstimeofday()\n  - Fix bogus reference to get_realtime_clock_ts(), which never existed\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\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": "186e3cb8a465bac010ee3b020768d2fa2b505aef",
      "tree": "c45dd774f91cf9095915c7e4bbec9084fcd06026",
      "parents": [
        "b10db7f0d2b589a7f88dc3026e150756cb437a28"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "timer: clean up tick-broadcast.c\n\nclean up tick-broadcast.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "af5ca3f4ec5cc4432a42a73b050dd8898ce8fd00",
      "tree": "3e5a3081b2802547f10da72c0026b4929d0e287b",
      "parents": [
        "528a4bf1d5ffed310d26fc1d82d45c02949f71cf"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Dec 20 02:09:39 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Driver core: change sysdev classes to use dynamic kobject names\n\nAll kobjects require a dynamically allocated name now. We no longer\nneed to keep track if the name is statically assigned, we can just\nunconditionally free() all kobject names on cleanup.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cdc6f27d9e3c2f7ca1a3e19c6eabb1ad6a2add5d",
      "tree": "d557b594cd5d180e1ce91cac25a29d81a42499a5",
      "parents": [
        "bd87f1f028ddaad45d4a9a3621dfe688c840ba41"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 18 18:05:58 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 18 18:05:58 2007 +0100"
      },
      "message": "clockevents: fix reprogramming decision in oneshot broadcast\n\nResolve the following regression of a choppy, almost unusable laptop:\n\n http://lkml.org/lkml/2007/12/7/299\n http://bugzilla.kernel.org/show_bug.cgi?id\u003d9525\n\nA previous version of the code did the reprogramming of the broadcast\ndevice in the return from idle code. This was removed, but the logic in\ntick_handle_oneshot_broadcast() was kept the same.\n\nWhen a broadcast interrupt happens we signal the expiry to all CPUs\nwhich have an expired event. If none of the CPUs has an expired event,\nwhich can happen in dyntick mode, then we reprogram the broadcast\ndevice. We do not reprogram otherwise, but this is only correct if all\nCPUs, which are in the idle broadcast state have been woken up.\n\nThe code ignores, that there might be pending not yet expired events on\nother CPUs, which are in the idle broadcast state. So the delivery of\nthose events can be delayed for quite a time.\n\nChange the tick_handle_oneshot_broadcast() function to check for CPUs,\nwhich are in broadcast state and are not woken up by the current event,\nand enforce the rearming of the broadcast device for those CPUs.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "167b1de3ee4e50d65a2bd0a2667c9cd48faf54f3",
      "tree": "f1bdad90f0bb39fcaa9b2d6eed12fe2a0bb9d48e",
      "parents": [
        "62f0f61e6673e67151a7c8c0f9a09c7ea43fe2b5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 07 19:16:17 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 07 19:16:17 2007 +0100"
      },
      "message": "clockevents: warn once when program_event() is called with negative expiry\n\nThe hrtimer problem with large relative timeouts resulting in a\nnegative expiry time went unnoticed as there is no check in the\nclockevents_program_event() code. Put a check there with a WARN_ONCE\nto avoid such problems in the future.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "52bfb36050c8529d9031d2c2513b281a360922ec",
      "tree": "7d116ece2ed21b8319e800efc0c2fd70818f01d3",
      "parents": [
        "8232fd625217dc641ed05dd238a8bb5c82828082"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Nov 26 20:42:19 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 26 20:42:19 2007 +0100"
      },
      "message": "time: add ADJ_OFFSET_SS_READ\n\nMichael Kerrisk reported that a long standing bug in the adjtimex()\nsystem call causes glibc\u0027s adjtime(3) function to deliver the wrong\nresults if \u0027delta\u0027 is NULL.\n\nadd the ADJ_OFFSET_SS_READ API detail, which will be used by glibc\nto fix this API compatibility bug.\n\nAlso see: http://bugzilla.kernel.org/show_bug.cgi?id\u003d6761\n\n[ mingo@elte.hu: added patch description and made it backwards compatible ]\n\nNOTE: the new flag is defined 0xa001 so that it returns -EINVAL on\nolder kernels - this way glibc can use it safely. Suggested by Ulrich\nDrepper.\n\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fa6a1a554b50cbb7763f6907e6fef927ead480d9",
      "tree": "9af94b945a5f10eaf2670ac14595db057d98054c",
      "parents": [
        "d0974b11e0741034fc5d22838b9cb85402a280d6"
      ],
      "author": {
        "name": "David P. Reed",
        "email": "dpreed@reed.com",
        "time": "Wed Nov 14 17:49:21 2007 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Sat Nov 17 16:27:01 2007 +0100"
      },
      "message": "ntp: fix typo that makes sync_cmos_clock erratic\n\nFix a typo in ntp.c that has caused updating of the persistent (RTC)\nclock when synced to NTP to behave erratically.\n\nWhen debugging a freeze that arises on my AMD64 machines when I\nrun the ntpd service, I added a number of printk\u0027s to monitor the\nsync_cmos_clock procedure.  I discovered that it was not syncing to\ncmos RTC every 11 minutes as documented, but instead would keep trying\nevery second for hours at a time.  The reason turned out to be a typo\nin sync_cmos_clock, where it attempts to ensure that\nupdate_persistent_clock is called very close to 500 msec. after a 1\nsecond boundary (required by the PC RTC\u0027s spec). That typo referred to\n\"xtime\" in one spot, rather than \"now\", which is derived from \"xtime\"\nbut not equal to it.  This makes the test erratic, creating a\n\"coin-flip\" that decides when update_persistent_clock is called - when\nit is called, which is rarely, it may be at any time during the one\nsecond period, rather than close to 500 msec, so the value written is\nneedlessly incorrect, too.\n\nSigned-off-by: David P. Reed\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\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": "129f1d2c5352eea3f7c8af9f8c1006dc0da7be52",
      "tree": "7037fc1981edb3797d31f1ba49b922e7b9bf0dfd",
      "parents": [
        "64e38eb082bd845d6758079f65b191203986336d"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Thu Oct 11 08:23:34 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 29 09:39:38 2007 +0100"
      },
      "message": "timer_list: Fix printk format strings\n\nThis makes sure printk format strings contain no more than a single\nline.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\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": "2e1975868ac9d41211fcaa6f2c5e44c4e7ff9e5b",
      "tree": "fdf1304a9bcd092c63df6423327f33fcf5c3d44b",
      "parents": [
        "03ff17979c58a0b63b0fe30a373f41b719731bd2"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Thu Oct 18 23:39:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "kernel/time/clocksource.c: Use list_for_each_entry instead of list_for_each\n\nkernel/time/clocksource.c: Convert list_for_each to\nlist_for_each_entry in clocksource_resume(),\nsysfs_override_clocksource() and show_available_clocksources()\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nAcked-by: 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": "3dfbc88464934fb6924a388bc03961d44f387926",
      "tree": "3ddb9a50bb2df909d6e629783bd41301541feceb",
      "parents": [
        "e6d5a11dad44b8ae18ca8fc4ecb72ccccfa0a2d2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 17 18:04:32 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Wed Oct 17 20:15:13 2007 +0200"
      },
      "message": "x86: C1E late detection fix. Really switch off lapic timer\n\nDoh, I completely missed that devices marked DUMMY are not running\nthe set_mode function. So we force broadcasting, but we keep the\nlocal APIC timer running.\n\nLet the clock event layer mark the device _after_ switching it off.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\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": "ba2a631b14fe8a9c122801c648c49a543d020d8d",
      "tree": "7f89f02d314c9aec6959066a1285fcd16f5bc2b1",
      "parents": [
        "f44ec6f3f89889a469773b1fd894f8fcc07c29cf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Oct 16 23:27:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:53 2007 -0700"
      },
      "message": "kernel/time/timekeeping.c: cleanups\n\n- remove the no longer required __attribute__((weak)) of xtime_lock\n- remove the following no longer used EXPORT_SYMBOL\u0027s:\n  - xtime\n  - xtime_lock\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\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": "bf020cb7b3918e186309db21d75cb91ebafc9d6f",
      "tree": "7a03b7a566ce3f3119812e092b72e3c65fc8b91a",
      "parents": [
        "a9022e9cb9e919e31d5bc15fcef5c7186740645e"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Oct 16 23:26:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:48 2007 -0700"
      },
      "message": "time: simplify smp_call_function_single() call sequence\n\nsmp_call_function_single() now knows how to call the function on the\ncurrent cpu.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f20bf6125605acbbc7eb8c9420d7221c91aa83eb",
      "tree": "ce3dd753431dd32b346aa19f2f7b6bb84bb1f22e",
      "parents": [
        "8636225e8d23e6079d43f56faf415bd71b589dc0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 16 16:09:20 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 10:01:50 2007 -0700"
      },
      "message": "time: introduce xtime_seconds\n\nimprove performance of sys_time(). sys_time() returns time in seconds,\nbut it does so by calling do_gettimeofday() and then returning the\ntv_sec portion of the GTOD time. But the data structure \"xtime\", which\nis updated by every timer/scheduler tick, already offers HZ granularity\ntime.\n\nthe patch improves the sysbench oltp macrobenchmark by 4-5% on an AMD\ndual-core system:\n\nv2.6.23:\n\n#threads\n\n   1:     transactions:                        4073   (407.23 per sec.)\n   2:     transactions:                        8530   (852.81 per sec.)\n   3:     transactions:                        8321   (831.88 per sec.)\n   4:     transactions:                        8407   (840.58 per sec.)\n   5:     transactions:                        8070   (806.74 per sec.)\n\nv2.6.23 + sys_time-speedup.patch:\n\n   1:     transactions:                        4281   (428.09 per sec.)\n   2:     transactions:                        8910   (890.85 per sec.)\n   3:     transactions:                        8659   (865.79 per sec.)\n   4:     transactions:                        8676   (867.34 per sec.)\n   5:     transactions:                        8532   (852.91 per sec.)\n\nand by 4-5% on an Intel dual-core system too:\n\n2.6.23:\n\n  1:     transactions:                        4560   (455.94 per sec.)\n  2:     transactions:                        10094  (1009.30 per sec.)\n  3:     transactions:                        9755   (975.36 per sec.)\n  4:     transactions:                        9859   (985.78 per sec.)\n  5:     transactions:                        9701   (969.72 per sec.)\n\n2.6.23 + sys_time-speedup.patch:\n\n  1:     transactions:                        4779   (477.84 per sec.)\n  2:     transactions:                        10103  (1010.14 per sec.)\n  3:     transactions:                        10141  (1013.93 per sec.)\n  4:     transactions:                        10371  (1036.89 per sec.)\n  5:     transactions:                        10178  (1017.50 per sec.)\n\n(the more CPUs the system has, the more speedup this patch gives for\nthis particular workload.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1595f452f3d8daa066bfd3ba4120754bed3329e1",
      "tree": "86fa49114c03e0f2dc7c7987b2a5be6adace140f",
      "parents": [
        "b097976e8d6f6e6220161fa6b72b0798ce9f4f4c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Oct 14 22:57:45 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Sun Oct 14 22:57:45 2007 +0200"
      },
      "message": "clockevents: introduce force broadcast notifier\n\nThe 64bit SMP bootup is slightly different to the 32bit one. It enables\nthe boot CPU local APIC timer before all CPUs are brought up. Some AMD C1E\nsystems have the C1E feature flag only set in the secondary CPU. Due to\nthe early enable of the boot CPU local APIC timer the APIC timer is\nregistered as a fully functional device. When we detect the wreckage during\nthe bringup of the secondary CPU, we need to force the boot CPU into\nbroadcast mode. \n\nAdd a new notifier reason and implement the force broadcast in the clock\nevents layer.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "4a93232dab0a07074bcc5291a0f1f39919916f31",
      "tree": "34dbc3209474b2cf5065726dd295c25584f4ce6a",
      "parents": [
        "31c435d75e7d15a5f965c5eb0e33fe0e236f49a4"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Fri Oct 12 23:04:23 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Fri Oct 12 23:04:23 2007 +0200"
      },
      "message": "clock events: allow replacement of broadcast timer\n\nChange the broadcast timer, if a timer with higher rating becomes available.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "c8a1d398de70a7774359b4720c392891cdd485f9",
      "tree": "d49de224f33705dd9549d338605578a84dbddf04",
      "parents": [
        "de68d9b173ee657115dd0e584c2365b7954253a5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 12 23:04:06 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Fri Oct 12 23:04:06 2007 +0200"
      },
      "message": "clockevents: fix periodic broadcast for oneshot devices\n\nThe next_event member of the clock event device is used to keep track\nof the next periodic event. For one shot only devices it is wrong to\nclear the variable, as the next event will be based on it.\n\nPointed out by Ralf Baechle\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n\n"
    },
    {
      "commit": "de68d9b173ee657115dd0e584c2365b7954253a5",
      "tree": "d2fec5a10dc4dcceb2f702832cb6080a2ec6ff0f",
      "parents": [
        "7f8033b76c8eea89dec9f658f4a31bcd4fe84bbb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 12 23:04:05 2007 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@inhelltoy.tec.linutronix.de",
        "time": "Fri Oct 12 23:04:05 2007 +0200"
      },
      "message": "clockevents: Allow build w/o run-tine usage for migration purposes\n\nMigration aid to allow preparatory patches which introduce not yet\nused parts of clock events code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n\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": "74922be1485818ed368c4cf4f0b100f70bf01e08",
      "tree": "b283c44086bd83dc7c61dbed25218efd01cc46b0",
      "parents": [
        "0c2043abefacac97b6d01129c1123a466c95b7c1"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sun Oct 07 00:24:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 07 16:28:43 2007 -0700"
      },
      "message": "Fix timer_stats printout of events/sec\n\nWhen using /proc/timer_stats on ppc64 I noticed the events/sec field wasnt\naccurate.  Sometimes the integer part was incorrect due to rounding (we\nwerent taking the fractional seconds into consideration).\n\nThe fraction part is also wrong, we need to pad the printf statement and\ntake the bottom three digits of 1000 times the value.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\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": "b7e113dc9d52c4a37d2da6fafe77959f3a28eccf",
      "tree": "51f7ff4350b684be360b9894b77f131933080145",
      "parents": [
        "b04e7bdb984e3b7f62fb7f44146a529f88cc7639"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Sep 22 22:29:06 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Sep 22 17:15:34 2007 -0700"
      },
      "message": "clockevents: remove the suspend/resume workaround^Wthinko\n\nIn a desparate attempt to fix the suspend/resume problem on Andrews\nVAIO I added a workaround which enforced the broadcast of the oneshot\ntimer on resume. This was actually resolving the problem on the VAIO\nbut was just a stupid workaround, which was not tackling the root\ncause: the assignement of lower idle C-States in the ACPI processor_idle\ncode. The cpuidle patches, which utilize the dynamic tick feature and\ngo faster into deeper C-states exposed the problem again. The correct\nsolution is the previous patch, which prevents lower C-states across\nthe suspend/resume.\n\nRemove the enforcement code, including the conditional broadcast timer\narming, which helped to pamper over the real problem for quite a time.\nThe oneshot broadcast flag for the cpu, which runs the resume code can\nnever be set at the time when this code is executed. It only gets set,\nwhen the CPU is entering a lower idle C-State.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "31d9b3938c0459e5e9755ce0a98ac1e24eeff972",
      "tree": "d397929e8d11626128c5c04cae43e5319a7be43a",
      "parents": [
        "07eec6af448d13a6a520d9c6f06f2e87f61b567a"
      ],
      "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: do not shutdown the oneshot broadcast device\n\nWhen a cpu goes offline it is removed from the broadcast masks. If the\nmask becomes empty the code shuts down the broadcast device. This is\nwrong, because the broadcast device needs to be ready for the online\ncpu going idle (into a c-state, which stops the local apic timer).\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "07eec6af448d13a6a520d9c6f06f2e87f61b567a",
      "tree": "eabd8fdf97ab76ff3abfa2c2804bb449f393ca01",
      "parents": [
        "729c6ba334771f28a54efd7e3b8f5ab9414ce7bc"
      ],
      "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: Enforce oneshot broadcast when broadcast mask is set on resume\n\nThe jinxed VAIO refuses to resume without hitting keys on the keyboard\nwhen this is not enforced. It is unclear why the cpu ends up in a lower\nC State without notifying the clock events layer, but enforcing the\noneshot broadcast here is safe.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "6a669ee8a790487b7ec1edda762d39615a78264b",
      "tree": "487270be1b035d75622f0f9b1e34f1c6b2cfbeae",
      "parents": [
        "3be9095063885d482b87d3875ea7f28e635882d0"
      ],
      "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": "timekeeping: Prevent time going backwards on resume\n\nTimekeeping resume adjusts xtime by adding the slept time in seconds and\nresets the reference value of the clock source (clock-\u003ecycle_last).\nclock-\u003ecycle last is used to calculate the delta between the last xtime\nupdate and the readout of the clock source in __get_nsec_offset(). xtime\nplus the offset is the current time. The resume code ignores the delta\nwhich had already elapsed between the last xtime update and the actual\ntime of suspend. If the suspend time is short, then we can see time\ngoing backwards on resume.\n\nSuspend:\noffs_s \u003d clock-\u003eread() - clock-\u003ecycle_last;\nnow \u003d xtime + offs_s;\ntimekeeping_suspend_time \u003d read_rtc();\n\nResume:\nsleep_time \u003d read_rtc() - timekeeping_suspend_time;\nxtime.tv_sec +\u003d sleep_time;\nclock-\u003ecycle_last \u003d clock-\u003eread();\noffs_r \u003d clock-\u003eread() - clock-\u003ecycle_last;\nnow \u003d xtime + offs_r;\n\nif sleep_time_seconds \u003d\u003d 0 and offs_r \u003c offs_s, then time goes\nbackwards.\n\nFix this by storing the offset from the last xtime update and add it to\nxtime during resume, when we reset clock-\u003ecycle_last:\n\nsleep_time \u003d read_rtc() - timekeeping_suspend_time;\nxtime.tv_sec +\u003d sleep_time;\nxtime +\u003d offs_s;\t/* Fixup xtime offset at suspend time */\nclock-\u003ecycle_last \u003d clock-\u003eread();\noffs_r \u003d clock-\u003eread() - clock-\u003ecycle_last;\nnow \u003d xtime + offs_r;\n\nThanks to Marcelo for tracking this down on the OLPC and providing the\nnecessary details to analyze the root cause.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Tosatti \u003cmarcelo@kvack.org\u003e\n\n"
    },
    {
      "commit": "3be9095063885d482b87d3875ea7f28e635882d0",
      "tree": "c29f9a90a244032515c4f830e1d73d4dd2a3f1ac",
      "parents": [
        "d0174640eedc1cd756754f03afe2dbb3d56de74e"
      ],
      "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": "timekeeping: access rtc outside of xtime lock\n\nLockdep complains about the access of rtc in timekeeping_suspend\ninside the interrupt disabled region of the write locked xtime lock.\nMove the access outside.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\n\n"
    },
    {
      "commit": "298a5df45d497e66064fda22ef0abf13766d3333",
      "tree": "b80a0fb05176987e6c41ab18b079629871ddfbbb",
      "parents": [
        "0e2f6db88a6900bc9db576d6b478b12ee60d61f7"
      ],
      "author": {
        "name": "Tony Breeds",
        "email": "tony@bakeyournoodle.com",
        "time": "Tue Sep 11 15:24:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 17:21:27 2007 -0700"
      },
      "message": "Fix \"no_sync_cmos_clock\" logic inversion in kernel/time/ntp.c\n\nSeems to me that this timer will only get started on platforms that say\nthey don\u0027t want it?\n\nSigned-off-by: Tony Breeds \u003ctony@bakeyournoodle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Gabriel Paubert \u003cpaubert@iram.es\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nAcked-by: 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": "6ddfca9548d8ecc26096a30667423ba919109533",
      "tree": "9ba14a9d610439d724e199e3770967be544a5dad",
      "parents": [
        "96ddbf504a05502800e7cbeb4d08abbcc206c51c"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Fri Aug 10 13:01:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:47:42 2007 -0700"
      },
      "message": "timer: remove clockevents_unregister_notifier\n\nI find a function(clockevents_unregister_notifier) which is not called by\nanything in tree.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.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": "5ea473a1dfeca2ee38c5dd458c1174d129e6b64e",
      "tree": "7ed66c900149f452ebeda379ce3264da9515b9dd",
      "parents": [
        "ff8e210a9550ad760a62e9803938cd04f9fb0851"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Jul 31 00:38:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:40 2007 -0700"
      },
      "message": "Fix leaks on /proc/{*/sched,sched_debug,timer_list,timer_stats}\n\nOn every open/close one struct seq_operations leaks.\nKudos to /proc/slab_allocators.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\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": "17c38b7490b3f0300c7812aefdae2ddda7ab4112",
      "tree": "0f7a9ee0c691aef3497030e38c3ba8e3c13a985c",
      "parents": [
        "2c6b47de17c75d553de3e2fb426d8298d2074585"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 24 18:38:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 25 10:17:44 2007 -0700"
      },
      "message": "Cache xtime every call to update_wall_time\n\nThis avoids xtime lag seen with dynticks, because while \u0027xtime\u0027 itself\nis still not updated often, we keep a \u0027xtime_cache\u0027 variable around that\ncontains the approximate real-time that _is_ updated each time we do a\n\u0027update_wall_time()\u0027, and is thus never off by more than one tick.\n\nIOW, this restores the original semantics for \u0027xtime\u0027 users, as long as\nyou use the proper abstraction functions (ie \u0027current_kernel_time()\u0027 or\n\u0027get_seconds()\u0027 depending on whether you want a timespec or just the\nseconds field).\n\n[ Updated Patch.  As penance for my sins I\u0027ve also yanked another #ifdef\n  that was added to avoid the xtime lag w/ hrtimers.  ]\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c6b47de17c75d553de3e2fb426d8298d2074585",
      "tree": "c8edc3d727d85cb3e1c043583c350a04a133e1a3",
      "parents": [
        "0de085bb474f64e4fdb2f1ff3268590792648c7b"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 24 17:47:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 25 10:09:20 2007 -0700"
      },
      "message": "Cleanup non-arch xtime uses, use get_seconds() or current_kernel_time().\n\nThis avoids use of the kernel-internal \"xtime\" variable directly outside\nof the actual time-related functions.  Instead, use the helper functions\nthat we already have available to us.\n\nThis doesn\u0027t actually change any behaviour, but this will allow us to\nfix the fact that \"xtime\" isn\u0027t updated very often with CONFIG_NO_HZ\n(because much of the realtime information is maintained as separate\noffsets to \u0027xtime\u0027), which has caused interfaces that use xtime directly\nto get a time that is out of sync with the real-time clock by up to a\nthird of a second or so.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82644459c592a28a3eab682f9b88d81019ddfe8b",
      "tree": "738e4edaf54658912e78a8bcdadc3e2165ecb77a",
      "parents": [
        "99bc2fcb283852931fb6bbef40f3df8316b59000"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 21 04:37:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:15 2007 -0700"
      },
      "message": "NTP: move the cmos update code into ntp.c\n\ni386 and sparc64 have the identical code to update the cmos clock.  Move it\ninto kernel/time/ntp.c as there are other architectures coming along with the\nsame requirements.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "820de5c39ef7f6866d2c9e6c7d208bcd2a6e1942",
      "tree": "be28af991bb9fa26ece3ffb44b01c7038aa70fa4",
      "parents": [
        "3704540b48295253bd9c87a5e7ff545f9d47a3b8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 21 04:37:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:15 2007 -0700"
      },
      "message": "highres: improve debug output\n\nAdd some more debug information to the hrtimer and clock events code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\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": "5590a536c0bc403fc73908c66c1c88cbed735ecb",
      "tree": "e07b89628885da86706a2ba0ce9d50cd7f4a0dfc",
      "parents": [
        "18de5bc4c1f1f1fa5e14f354a7603bd6e9d4e3b6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "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": "clockevents: fix device replacement\n\nWhen a device is replaced by a better rated device, then the broadcast\nmode needs to be evaluated again. When the new device has no requirement\nfor broadcasting, then the broadcast bits for the CPU must be cleared.\n\nSigned-off-by: 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": "18de5bc4c1f1f1fa5e14f354a7603bd6e9d4e3b6",
      "tree": "cb0ff399fb3f368adecf213318e32a499ada6ff9",
      "parents": [
        "93da56efcf8c6a111f0349f6b7651172d4745ca0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 21 04:37:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:15 2007 -0700"
      },
      "message": "clockevents: fix resume logic\n\nWe need to make sure, that the clockevent devices are resumed, before\nthe tick is resumed. The current resume logic does not guarantee this.\n\nAdd CLOCK_EVT_MODE_RESUME and call the set mode functions of the clock\nevent devices before resuming the tick / oneshot functionality.\n\nFixup the existing users.\n\nThanks to Nigel Cunningham for tracking down a long standing thinko,\nwhich affected the jinxed VAIO.\n\n[akpm@linux-foundation.org: xen build fix]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.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": "c36c282b88963d0957368a443168588e62301fda",
      "tree": "6343887ae42a65635a61b4ad99fd7f3e8dd24758",
      "parents": [
        "f4fbfb0dda5577075a049eec7fb7ad38abca1912",
        "1f564ad6d4182859612cbae452122e5eb2d62a76"
      ],
      "author": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jul 20 11:26:47 2007 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jul 20 11:26:47 2007 -0700"
      },
      "message": "Pull ia64-clocksource into release branch\n"
    },
    {
      "commit": "1f564ad6d4182859612cbae452122e5eb2d62a76",
      "tree": "ef98ce12ed64853437c35a81e29f0d1c09a4393b",
      "parents": [
        "0aa366f351d044703e25c8425e508170e80d83b1"
      ],
      "author": {
        "name": "Bob Picco",
        "email": "bob.picco@hp.com",
        "time": "Wed Jul 18 15:51:28 2007 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jul 20 11:23:02 2007 -0700"
      },
      "message": "[IA64] remove time interpolator\n\nRemove time_interpolator code (This is generic code, but\nonly user was ia64.  It has been superseded by the\nCONFIG_GENERIC_TIME code).\n\nSigned-off-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Peter Keilty \u003cpeter.keilty@hp.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "71120f183bff04ba4f7ba3cc554202061912d548",
      "tree": "3b8281d6d3c6034aab4c3fa1c15dfd95faf2c17f",
      "parents": [
        "10146801e8b960d7473e350b60458d9d5a2be1cf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jul 19 01:49:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "timekeeping: fixup shadow variable argument\n\nclocksource_adjust() has a clock argument, which shadows the file global clock\nvariable.  Fix this up.\n\nSigned-off-by: 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": "9281acea6a3687ff0f262e0be31eac34895b95d7",
      "tree": "f060d6e4f6a5da1c82bc789104683d39377a2e9a",
      "parents": [
        "b45d52797432bd6b5d9786dbda940eb8d0b9ed06"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jul 17 04:03:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "kallsyms: make KSYM_NAME_LEN include space for trailing \u0027\\0\u0027\n\nKSYM_NAME_LEN is peculiar in that it does not include the space for the\ntrailing \u0027\\0\u0027, forcing all users to use KSYM_NAME_LEN + 1 when allocating\nbuffer.  This is nonsense and error-prone.  Moreover, when the caller\nforgets that it\u0027s very likely to subtly bite back by corrupting the stack\nbecause the last position of the buffer is always cleared to zero.\n\nThis patch increments KSYM_NAME_LEN by one and updates code accordingly.\n\n* off-by-one bug in asm-powerpc/kprobes.h::kprobe_lookup_name() macro\n  is fixed.\n\n* Where MODULE_NAME_LEN and KSYM_NAME_LEN were used together,\n  MODULE_NAME_LEN was treated as if it didn\u0027t include space for the\n  trailing \u0027\\0\u0027.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa0ac36518be648dda3a32f0b37a8b2b546e1b24",
      "tree": "b37eac59221187c4dec9ce8445a21c4119d425fb",
      "parents": [
        "cb510b8172602a66467f3551b4be1911f5a7c8c2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Jul 15 23:40:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "Remove capability.h from mm.h\n\nI forgot to remove capability.h from mm.h while removing sched.h!  This\npatch remedies that, because the only inline function which was using\nCAP_something was made out of line.\n\nCross-compile tested without regressions on:\n\n\tall powerpc defconfigs\n\tall mips defconfigs\n\tall m68k defconfigs\n\tall arm defconfigs\n\tall ia64 defconfigs\n\n\talpha alpha-allnoconfig alpha-defconfig alpha-up\n\tarm\n\ti386 i386-allnoconfig i386-defconfig i386-up\n\tia64 ia64-allnoconfig ia64-defconfig ia64-up\n\tm68k\n\tmips\n\tparisc parisc-allnoconfig parisc-defconfig parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-allnoconfig s390-defconfig s390-up\n\tsparc sparc-allnoconfig sparc-defconfig sparc-up\n\tsparc64 sparc64-allnoconfig sparc64-defconfig sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-allnoconfig x86_64-defconfig x86_64-up\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5c061b8f9726bc2c25e19dec227933a13d1e6b7",
      "tree": "e99f68f70df1a01dd383007895befd114a1da8c4",
      "parents": [
        "e0807061908a7a9441d0f745deb444f7216904cb"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Sun Jul 15 23:40:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "Add a flag to indicate deferrable timers in /proc/timer_stats\n\nAdd a flag in /proc/timer_stats to indicate deferrable timers.  This will\nlet developers/users to differentiate between types of tiemrs in\n/proc/timer_stats.\n\nDeferrable timer and normal timer will appear in /proc/timer_stats as below.\n  10D,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n   10,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n\nAlso version of timer_stats changes from v0.1 to v0.2\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\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": "78c1b0657475dbafa008c71e3ccdc32141d8c7c7",
      "tree": "40ce25318e0d296b462836d0a7156cf284561081",
      "parents": [
        "506eb99a26e7af8b649faa135f648d1a2f1e4cdc"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sun Jul 15 23:40:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:43 2007 -0700"
      },
      "message": "Remove clockevents_{release,request}_device\n\nNot called by anything in tree.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\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": "7c3f1a573237b90ef331267260358a0ec4ac9079",
      "tree": "f308047c4f40022d4b8f7226fba73b067dcd2d70",
      "parents": [
        "35ef63f635aa0e414ad6cdb2a4092e1caf99272c"
      ],
      "author": {
        "name": "Tomas Janousek",
        "email": "tjanouse@redhat.com",
        "time": "Sun Jul 15 23:39:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "Introduce boot based time\n\nThe commits\n\n  411187fb05cd11676b0979d9fbf3291db69dbce2 (GTOD: persistent clock support)\n  c1d370e167d66b10bca3b602d3740405469383de (i386: use GTOD persistent clock\n    support)\n\nchanged the monotonic time so that it no longer jumps after resume, but it\u0027s\nnot possible to use it for boot time and process start time calculations then.\n Also, the uptime no longer increases during suspend.\n\nI add a variable to track the wall_to_monotonic changes, a function to get the\nreal boot time and a function to get the boot based time from the monotonic\none.\n\n[akpm@linux-foundation.org: remove exports, add comment]\nSigned-off-by: Tomas Janousek \u003ctjanouse@redhat.com\u003e\nCc: Tomas Smetana \u003ctsmetana@redhat.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: 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": "746976a301ac9c9aa10d7d42454f8d6cdad8ff2b",
      "tree": "8173b3b64542b81d94dbb4614b42db66fffbc4d2",
      "parents": [
        "872aad45d6174570dd2e1defc3efee50f2cfcc72"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 03 20:05:20 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 03 13:54:27 2007 -0700"
      },
      "message": "NTP: remove clock_was_set() call to prevent deadlock\n\nThe clock_was_set() call in seconds_overflow() which happens only when\nleap seconds are inserted / deleted is wrong in two aspects:\n\n1. it results in a call to on_each_cpu() with interrupts disabled\n2. it is potential deadlock source vs. call_lock in smp_call_function()\n\nThe only possible side effect of the removal might be, that an absolute\nCLOCK_REALTIME timer fires 1 second too late, in the rare case of leap\nsecond deletion and an absolute CLOCK_REALTIME timer which expires in\nthe affected time frame. It will never fire too early.\n\nThis was probably observed by the reporter of a June 30th -\u003e July 1st\nhang: http://lkml.org/lkml/2007/7/3/103\n\nA similar problem was observed by Dave Jones, who provided a screen shot\nwith a lockdep back trace, which allowed to analyse the problem.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1a834dc704763673df10282995257f2de93cbe9",
      "tree": "66a0bc5ffbf6732eaa5fc6f554c13b235005c4cd",
      "parents": [
        "9fcc15ec3c1c287a781a4620e52522b6186f26f6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 01 00:47:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 01 08:18:30 2007 -0700"
      },
      "message": "timer stats: speedups\n\nMake timer-stats have almost zero overhead when enabled in the config but\nnot used.  (this way distros can enable it more easily)\n\nAlso update the documentation about overhead of timer_stats - it was\nwritten for the first version which had a global lock and a linear list\nwalk based lookup ;-)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9fcc15ec3c1c287a781a4620e52522b6186f26f6",
      "tree": "86a0214fc404c0ca6e0ca283c83f22bd15aa2eb4",
      "parents": [
        "c79d9c9e9ace5eeae54f484f62fbd86bf27a344a"
      ],
      "author": {
        "name": "Bjorn Steinbrink",
        "email": "B.Steinbrink@gmx.de",
        "time": "Fri Jun 01 00:47:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jun 01 08:18:30 2007 -0700"
      },
      "message": "timer statistics: fix race\n\nFix two races in the timer stats lookup code.  One by ensuring that the\ninitialization of a new entry is finished upon insertion of that entry.\nThe other by cleaning up the hash table when the entries array is cleared,\nso that we don\u0027t have any \"pre-inserted\" entries.\n\nThanks to Eric Dumazet for reminding me of the memory barriers.\n\nSigned-off-by: Bjorn Steinbrink \u003cB.Steinbrink@gmx.de\u003e\nSigned-off-by: Ian Kumlien \u003cpomac@vapor.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "72fcde966252abd17d70e4e216a0411a34523a8f",
      "tree": "26980418ed1a6d6f528ca7681f420d48e2cb7842",
      "parents": [
        "88f18ba028b5939bb6f77bd690e5ad8d01bb24cc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 23 13:57:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 23 20:14:11 2007 -0700"
      },
      "message": "Ignore bogus ACPI info for offline CPUs\n\nBooting a SMP kernel with maxcpus\u003d1 on a SMP system leads to a hard hang,\nbecause ACPI ignores the maxcpus setting and sends timer broadcast info for\nthe offline CPUs.  This results in a stuck for ever call to\nsmp_call_function_single() on an offline CPU.\n\nIgnore the bogus information and print a kernel error to remind ACPI\nfolks to fix it.\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": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f89441b37536fea92b1ed7004e5e2dda011473d",
      "tree": "7587c859ea62fb3905613fc4265a8120b5384516",
      "parents": [
        "3c46bdcaec53eda069a8a9cd60621c7431aa7842"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 15 01:41:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 15 08:54:00 2007 -0700"
      },
      "message": "clocksource: fix lock order in the resume path\n\nlockdep complains about the lock nesting of clocksource and watchdog lock\nin the resume path.\n\nChange the resume marker to a bit operation and remove the lock from this\npath.\n\nSigned-off-by: 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": "d10ff3fb62bd38415c0f7be3d75d107e1f67e59a",
      "tree": "402df109059cb64f88fb26c0cf5eb86b8c9fdae3",
      "parents": [
        "705962ccc9d21a08b74b6b6e1d3cf10f98968a67"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 14 11:10:02 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 14 12:13:11 2007 -0700"
      },
      "message": "timekeeping fix patch got mis-applied\n\nThe time keeping code move to kernel/time/timekeeping.c broke the\nclocksource resume logic patch, which got applied to the old file by a\nfuzzy application.  Fix it up and move the clocksource_resume() call to\nthe appropriate place.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[ tssk, tssk, everybody should use --fuzz\u003d0 ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b52f52a093bb1e841e014c2087b5bee7162da413",
      "tree": "7b7135897195fc9d14473d3ab824d59a4b65e5ad",
      "parents": [
        "4037d452202e34214e8a939fa5621b2b3bbb45b7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 09 02:35:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "clocksource: fix resume logic\n\nWe need to make sure that the clocksources are resumed, when timekeeping is\nresumed.  The current resume logic does not guarantee this.\n\nAdd a resume function pointer to the clocksource struct, so clocksource\ndrivers which need to reinitialize the clocksource can provide a resume\nfunction.\n\nAdd a resume function, which calls the maybe available clocksource resume\nfunctions and resets the watchdog function, so a stable TSC can be used\naccross suspend/resume.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "9b04bd27564cfd7224e0135ba37df778f1d490bf",
      "tree": "fd62f8c1fe7f17a9e92796412c1657b83ebe3965",
      "parents": [
        "0366299bd2de283091f4394c0f446e58b5f94815"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 09 02:33:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:50 2007 -0700"
      },
      "message": "Fix printk format warnings in timer_list.c\n\nu64 and s64 are not necessarily \u0027long long\u0027 on some 64-bit\nplatforms, so explicit the type to kill the compiler warnings.\n\nAlso consistently use \u0027%Lu\u0027 which is unsigned.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: 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": "35c35d1afa8f9afe01d922ff9668a14c5d879b02",
      "tree": "5134d8447f5d25e8c8c32c7ed6f4cb0cd97c9da8",
      "parents": [
        "18d8362d517cb2bd97761294924fe6c2a6ee5e3c"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Wed May 09 02:33:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:49 2007 -0700"
      },
      "message": "clocksource: spelling error in watchdog code\n\nThere\u0027s more that need fixing, and fix my own subject spelling error too.\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\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"
    }
  ],
  "next": "d3ed782458f315c30ea679b919a2cc59f2b82565"
}
