)]}'
{
  "log": [
    {
      "commit": "ab8177bc53e8ae3a3ba6d200ce2c2dae263f7ee5",
      "tree": "c8b370496497b4f96d6a17da906bdd9314e9a090",
      "parents": [
        "f24444b01bf6c51c300fd3ffc73423383d747882"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 13:05:15 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 23 13:59:54 2011 +0200"
      },
      "message": "hrtimers: Avoid touching inactive timer bases\n\nInstead of iterating over all possible timer bases avoid it by marking\nthe active bases in the cpu base.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "250f972d85effad5b6e10da4bbd877e6a4b503b6",
      "tree": "007393a6fc6439af7e0121dd99a6f9f9fb8405bc",
      "parents": [
        "7372b0b122af0f6675f3ab65bfd91c8a438e0480",
        "bbe7b8bef48c567f5ff3f6041c1fb011292e8f12"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 20:06:24 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 20:08:05 2011 +0200"
      },
      "message": "Merge branch \u0027timers/urgent\u0027 into timers/core\n\nReason: Get upstream fixes and kfree_rcu which is necessary for a\nfollow up patch.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c0e299b1a91cbdb21ae08e382a4176200398bc36",
      "tree": "096a6b082fcf1bd816d78654057d11af823361c5",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 10:50:52 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 20 10:50:52 2011 +0200"
      },
      "message": "clockevents/source: Use u64 to make 32bit happy\n\nunsigned long is not 64bit on 32bit machine.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "78c4def67e8eebe602655a3dec9aa08f0e2f7c4b",
      "tree": "8c0c756bbff7325f5c2a773f8cc64d8390ebe5b5",
      "parents": [
        "7e6628e4bcb3b3546c625ec63ca724f28ab14f0c",
        "942c3c5c329274fa6de5998cb911cf3d0a42d0b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:45:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:45:08 2011 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: Make lookup table const\n  RTC: Disable CONFIG_RTC_CLASS from being built as a module\n  timers: Fix alarmtimer build issues when CONFIG_RTC_CLASS\u003dn\n  timers: Remove delayed irqwork from alarmtimers implementation\n  timers: Improve alarmtimer comments and minor fixes\n  timers: Posix interface for alarm-timers\n  timers: Introduce in-kernel alarm-timer interface\n  timers: Add rb_init_node() to allow for stack allocated rb nodes\n  time: Add timekeeping_inject_sleeptime\n"
    },
    {
      "commit": "7e6628e4bcb3b3546c625ec63ca724f28ab14f0c",
      "tree": "111a94cefa9d800ec5c5e59520f4b5d1880965d0",
      "parents": [
        "0f1bdc1815c4cb29b3cd71a7091b478e426faa0b",
        "ab0e08f15d23628dd8d50bf6ce1a935a8840c7dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:44:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 17:44:40 2011 -0700"
      },
      "message": "Merge branch \u0027timers-clockevents-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-clockevents-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: hpet: Cleanup the clockevents init and register code\n  x86: Convert PIT to clockevents_config_and_register()\n  clockevents: Provide interface to reconfigure an active clock event device\n  clockevents: Provide combined configure and register function\n  clockevents: Restructure clock_event_device members\n  clocksource: Get rid of the hardcoded 5 seconds sleep time limit\n  clocksource: Restructure clocksource struct members\n"
    },
    {
      "commit": "80b816b736cfa5b9582279127099b20a479ab7d9",
      "tree": "94a2963c05e8e24d6153a0a2fae2f43fe05605bc",
      "parents": [
        "57f0fcbe1dea8a36c9d1673086326059991c5f81"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 21:33:42 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 19 14:24:16 2011 +0200"
      },
      "message": "clockevents: Provide interface to reconfigure an active clock event device\n\nSome ARM SoCs have clock event devices which have their frequency\nmodified due to frequency scaling. Provide an interface which allows\nto reconfigure an active device. After reconfiguration reprogram the\ncurrent pending event.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: LAK \u003clinux-arm-kernel@lists.infradead.org\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/%3C20110518210136.437459958%40linutronix.de%3E\n"
    },
    {
      "commit": "57f0fcbe1dea8a36c9d1673086326059991c5f81",
      "tree": "c56c00307052034a64d2577819fdf21271446ebe",
      "parents": [
        "847b2f42be203f3cff7f243fdd3ee50c1e06c882"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 21:33:41 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 19 14:24:15 2011 +0200"
      },
      "message": "clockevents: Provide combined configure and register function\n\nAll clockevent devices have the same open coded initialization\nfunctions. Provide an interface which does all necessary\ninitialization in the core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/%3C20110518210136.331975870%40linutronix.de%3E\n"
    },
    {
      "commit": "724ed53e8ac2c5278af8955673049714c1073464",
      "tree": "51762a734e564fb973758014997ee99406693541",
      "parents": [
        "369db4c9524b7487faf1ff89646eee396c1363e1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 21:33:40 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 19 14:24:15 2011 +0200"
      },
      "message": "clocksource: Get rid of the hardcoded 5 seconds sleep time limit\n\nSlow clocksources can have a way longer sleep time than 5 seconds and\neven fast ones can easily cope with 600 seconds and still maintain\nproper accuracy.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/%3C20110518210136.109811585%40linutronix.de%3E\n"
    },
    {
      "commit": "07f4beb0b5bbfaf36a64aa00d59e670ec578a95a",
      "tree": "13c0fbeb4586cd0a9c7cd8258575c39e0481ca7a",
      "parents": [
        "557d97d57446f55d2c4a66593794ea31ffd0a74d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 16 11:07:48 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 16 23:35:41 2011 +0200"
      },
      "message": "tick: Clear broadcast active bit when switching to oneshot\n\nThe first cpu which switches from periodic to oneshot mode switches\nalso the broadcast device into oneshot mode. The broadcast device\nserves as a backup for per cpu timers which stop in deeper\nC-states. To avoid starvation of the cpus which might be in idle and\ndepend on broadcast mode it marks the other cpus as broadcast active\nand sets the brodcast expiry value of those cpus to the next tick.\n\nThe oneshot mode broadcast bit for the other cpus is sticky and gets\nonly cleared when those cpus exit idle. If a cpu was not idle while\nthe bit got set in consequence the bit prevents that the broadcast\ndevice is armed on behalf of that cpu when it enters idle for the\nfirst time after it switched to oneshot mode.\n\nIn most cases that goes unnoticed as one of the other cpus has usually\na timer pending which keeps the broadcast device armed with a short\ntimeout. Now if the only cpu which has a short timer active has the\nbit set then the broadcast device will not be armed on behalf of that\ncpu and will fire way after the expected timer expiry. In the case of\nChristians bug report it took ~145 seconds which is about half of the\nwrap around time of HPET (the limit for that device) due to the fact\nthat all other cpus had no timers armed which expired before the 145\nseconds timeframe.\n\nThe solution is simply to clear the broadcast active bit\nunconditionally when a cpu switches to oneshot mode after the first\ncpu switched the broadcast device over. It\u0027s not idle at that point\notherwise it would not be executing that code.\n\n[ I fundamentally hate that broadcast crap. Why the heck thought some\n  folks that when going into deep idle it\u0027s a brilliant concept to\n  switch off the last device which brings the cpu back from that\n  state? ]\n\nThanks to Christian for providing all the valuable debug information!\n\nReported-and-tested-by: Christian Hoffmann \u003cemail@christianhoffmann.info\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/%3Calpine.LFD.2.02.1105161105170.3078%40ionos%3E\nCc: stable@kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7372b0b122af0f6675f3ab65bfd91c8a438e0480",
      "tree": "5dcd0f94e0064b76573837da09ca5277b7e5f068",
      "parents": [
        "179eb03268aa1da03d90f1566ea85dc1478d3ae3"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed May 04 15:09:27 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 05 17:32:13 2011 +0200"
      },
      "message": "clockevents: Move C3 stop test outside lock\n\nAvoid taking broadcast_lock in the idle path for systems where the\ntimer doesn\u0027t stop in C3.\n\n[ tglx: Removed the stale label and added comment ]\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Dave Kleikamp \u003cdkleikamp@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nCc: lenb@kernel.org\nCc: paulmck@us.ibm.com\nLink: http://lkml.kernel.org/r/%3C20110504234806.GF2925%40one.firstfloor.org%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "e05b2efb82596905ebfe88e8612ee81dec9b6592",
      "tree": "9b688eb473943588adf667729c0ffa3b9f032cac",
      "parents": [
        "5895198c56d131cc696556a45f7ff0ea99ac297b"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed May 04 18:16:50 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 05 15:23:26 2011 +0200"
      },
      "message": "clocksource: Install completely before selecting\n\nChristian Hoffmann reported that the command line clocksource override\nwith acpi_pm timer fails:\n\n Kernel command line: \u003cSNIP\u003e clocksource\u003dacpi_pm\n hpet clockevent registered\n Switching to clocksource hpet\n Override clocksource acpi_pm is not HRT compatible.\n Cannot switch while in HRT/NOHZ mode.\n\nThe watchdog code is what enables CLOCK_SOURCE_VALID_FOR_HRES, but we\nactually end up selecting the clocksource before we enqueue it into\nthe watchdog list, so that\u0027s why we see the warning and fail to switch\nto acpi_pm timer as requested. That\u0027s particularly bad when we want to\ndebug timekeeping related problems in early boot.\n\nPut the selection call last.\n\nReported-by: Christian Hoffmann \u003cemail@christianhoffmann.info\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: stable@kernel.org # 32...\nLink: http://lkml.kernel.org/r/%3C1304558210.2943.24.camel%40work-vm%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "179eb03268aa1da03d90f1566ea85dc1478d3ae3",
      "tree": "fda7d48258075bf84f12ce143ab7cd260bbc92e8",
      "parents": [
        "ce788f930b0cdf821de7ee8f84cfe8cf7fcb6311"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 04 08:18:34 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 04 08:18:34 2011 +0200"
      },
      "message": "alarmtimer: Drop device refcount after rtc_open()\n\nclass_find_device() takes a refcount on the rtc device. rtc_open()\ntakes another one, so we can drop it after the rtc_open() call.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ce788f930b0cdf821de7ee8f84cfe8cf7fcb6311",
      "tree": "4f4d451b4e81d6693199fcfb405f6133e6cae61c",
      "parents": [
        "99ee5315dac6211e972fa3f23bcc9a0343ff58c4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 04 08:00:47 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 04 08:18:17 2011 +0200"
      },
      "message": "alarmtimer: Check return value of class_find_device()\n\nalarmtimer_late_init() uses class_find_device() to find a alarm\ncapable rtc device. The match callback stores a pointer to the name in\nthe char pointer handed in from the call site. alarmtimer_late_init()\nchecks the char pointer for NULL, but the pointer is on the stack and\nnot initialized to NULL before the call. So it can have random content\nwhen the match function did not identify a device, which leads to\nrandom access in the following rtc_open() call where the pointer is\ndereferenced\n\nInstead of relying on the char pointer, check the return value of\nclass_find_device. If a device is found then the name pointer is valid\nas well.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "99ee5315dac6211e972fa3f23bcc9a0343ff58c4",
      "tree": "6663d6ceaabcb9bac03193e2781cdbe6a139f70c",
      "parents": [
        "b12a03ce4880bd13786a98db6de494a3e0123129"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 27 14:16:42 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 02 21:39:15 2011 +0200"
      },
      "message": "timerfd: Allow timers to be cancelled when clock was set\n\nSome applications must be aware of clock realtime being set\nbackward. A simple example is a clock applet which arms a timer for\nthe next minute display. If clock realtime is set backward then the\napplet displays a stale time for the amount of time which the clock\nwas set backwards. Due to that applications poll the time because we\ndon\u0027t have an interface.\n\nExtend the timerfd interface by adding a flag which puts the timer\nonto a different internal realtime clock. All timers on this clock are\nexpired whenever the clock was set.\n\nThe timerfd core records the monotonic offset when the timer is\ncreated. When the timer is armed, then the current offset is compared\nto the previous recorded offset. When it has changed, then\ntimerfd_settime returns -ECANCELED. When a timer is read the offset is\ncompared and if it changed -ECANCELED returned to user space. Periodic\ntimers are not rearmed in the cancelation case.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Friesen \u003cchris.friesen@genband.com\u003e\nTested-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nReviewed-by: Alexander Shishkin \u003cvirtuoso@slind.org\u003e\nLink: http://lkml.kernel.org/r/%3Calpine.LFD.2.02.1104271359580.3323%40ionos%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b12a03ce4880bd13786a98db6de494a3e0123129",
      "tree": "2a8f2cf0d1d6749b4a33cc07c9b7839a4a139e9a",
      "parents": [
        "942c3c5c329274fa6de5998cb911cf3d0a42d0b1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 02 16:48:57 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 02 21:37:58 2011 +0200"
      },
      "message": "hrtimers: Prepare for cancel on clock was set timers\n\nMake clock_was_set() unconditional and rename hres_timers_resume to\nhrtimers_resume. This is a preparatory patch for hrtimers which are\ncancelled when clock realtime was set.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "472647dcd7e351dbeda750e5ab3e8f7b06d1199a",
      "tree": "536842fa33d135d4b18e6d1dd5cf573a5b53719c",
      "parents": [
        "7068b7a16270f1e85a8893d74b0f3c58d7826883"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Apr 29 15:03:10 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 02 21:36:57 2011 +0200"
      },
      "message": "timers: Fix alarmtimer build issues when CONFIG_RTC_CLASS\u003dn\n\nIngo pointed out that the alarmtimers won\u0027t build if CONFIG_RTC_CLASS\u003dn.\nThis patch adds proper ifdefs to the alarmtimer code to disable the rtc\nusage if it is not built in.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7068b7a16270f1e85a8893d74b0f3c58d7826883",
      "tree": "114143f4724543c89d93e95bbb7d3f03f1abb5d6",
      "parents": [
        "180bf812ceaf01eb8ac69b86f3be0bd57f697668"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 28 13:29:18 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 28 13:39:18 2011 -0700"
      },
      "message": "timers: Remove delayed irqwork from alarmtimers implementation\n\nThomas asked about the delayed irq work in the alarmtimers code,\nand I realized that it was a legacy from when the alarmtimer base\nlock was a mutex (due to concerns that we\u0027d be interacting with\nthe RTC device, which is protected by mutexes).\n\nSince the alarmtimer base is now protected by a spinlock, we can\nsimply execute alarmtimer functions directly from the hrtimer\ncallback. Should any future alarmtimer functions sleep, they can\nsimply manage scheduling any delayed work themselves.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "180bf812ceaf01eb8ac69b86f3be0bd57f697668",
      "tree": "e61166d1267a15115dc602875ec03835afc1afe7",
      "parents": [
        "9a7adcf5c6dea63d2e47e6f6d2f7a6c9f48b9337"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 28 12:58:11 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 28 13:39:17 2011 -0700"
      },
      "message": "timers: Improve alarmtimer comments and minor fixes\n\nThis patch addresses a number of minor comment improvements and\nother minor issues from Thomas\u0027 review of the alarmtimers code.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "9a7adcf5c6dea63d2e47e6f6d2f7a6c9f48b9337",
      "tree": "151f7fbb135053945fc6eae99c9175e860ad343c",
      "parents": [
        "ff3ead96d17f47ee70c294a5cc2cce9b61e82f0f"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 11 09:54:33 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Apr 26 14:01:46 2011 -0700"
      },
      "message": "timers: Posix interface for alarm-timers\n\nThis patch exposes alarm-timers to userland via the posix clock\nand timers interface, using two new clockids: CLOCK_REALTIME_ALARM\nand CLOCK_BOOTTIME_ALARM. Both clockids behave identically to\nCLOCK_REALTIME and CLOCK_BOOTTIME, respectively, but timers\nset against the _ALARM suffixed clockids will wake the system if\nit is suspended.\n\nSome background can be found here:\n\thttps://lwn.net/Articles/429925/\n\nThe concept for Alarm-timers was inspired by the Android Alarm\ndriver (by Arve Hjønnevåg) found in the Android kernel tree.\n\nSee: http://android.git.kernel.org/?p\u003dkernel/common.git;a\u003dblob;f\u003ddrivers/rtc/alarm.c;h\u003d1250edfbdf3302f5e4ea6194847c6ef4bb7beb1c;hb\u003dandroid-2.6.36\n\nWhile the in-kernel interface is pretty similar between\nalarm-timers and Android alarm driver, the user-space interface\nfor the Android alarm driver is via ioctls to a new char device.\nAs mentioned above, I\u0027ve instead chosen to export this functionality\nvia the posix interface, as it seemed a little simpler and avoids\ncreating duplicate interfaces to things like CLOCK_REALTIME and\nCLOCK_MONOTONIC under alternate names (ie:ANDROID_ALARM_RTC and\nANDROID_ALARM_SYSTEMTIME).\n\nThe semantics of the Android alarm driver are different from what\nthis posix interface provides. For instance, threads other then\nthe thread waiting on the Android alarm driver are able to modify\nthe alarm being waited on. Also this interface does not allow\nthe same wakelock semantics that the Android driver provides\n(ie: kernel takes a wakelock on RTC alarm-interupt, and holds it\nthrough process wakeup, and while the process runs, until the\nprocess either closes the char device or calls back in to wait\non a new alarm).\n\nOne potential way to implement similar semantics may be via\nthe timerfd infrastructure, but this needs more research.\n\nThere may also need to be some sort of sysfs system level policy\nhooks that allow alarm timers to be disabled to keep them\nfrom firing at inappropriate times (ie: laptop in a well insulated\nbag, mid-flight).\n\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ff3ead96d17f47ee70c294a5cc2cce9b61e82f0f",
      "tree": "e87fc16e1fc4a80b9591c2b1d02c99459254aa95",
      "parents": [
        "88d19cf37952a7e1e38b2bf87a00f0e857e63180"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 11 09:42:13 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Apr 26 14:01:44 2011 -0700"
      },
      "message": "timers: Introduce in-kernel alarm-timer interface\n\nThis provides the in kernel interface and infrastructure for\nalarm-timers.\n\nAlarm-timers are a hybrid style timer, similar to hrtimers,\nbut when the system is suspended, the RTC device is set to\nfire and wake the system for when the soonest alarm-timer\nexpires.\n\nThe concept for Alarm-timers was inspired by the Android Alarm\ndriver (by Arve Hjønnevåg) found in the Android kernel tree.\n\nSee: http://android.git.kernel.org/?p\u003dkernel/common.git;a\u003dblob;f\u003ddrivers/rtc/alarm.c;h\u003d1250edfbdf3302f5e4ea6194847c6ef4bb7beb1c;hb\u003dandroid-2.6.36\n\nThis in-kernel interface should be fairly compatible with the\nAndroid alarm driver in-kernel interface, but has the advantage\nof utilizing the new RTC timerqueue code instead of doing direct\nRTC manipulation.\n\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "304529b1b6f8612ccbb4582e997051b48b94f4a4",
      "tree": "025b53989f39b463621e9a9eb8e903dc54dd87e1",
      "parents": [
        "4175242c0dc1d92e821d2b45bc8fe06d4650a7b5"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Apr 01 14:32:09 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Apr 26 14:01:41 2011 -0700"
      },
      "message": "time: Add timekeeping_inject_sleeptime\n\nSome platforms cannot implement read_persistent_clock, as\ntheir RTC devices are only accessible when interrupts are enabled.\nThis keeps them from being used by the timekeeping code on resume\nto measure the time in suspend.\n\nThe RTC layer tries to work around this, by calling do_settimeofday\non resume after irqs are reenabled to set the time properly. However,\nthis only corrects CLOCK_REALTIME, and does not properly adjust\nthe sleep time value. This causes btime in /proc/stat to be incorrect\nas well as making the new CLOCK_BOTTTIME inaccurate.\n\nThis patch resolves the issue by introducing a new timekeeping hook\nto allow the RTC layer to inject the sleep time on resume.\n\nThe code also checks to make sure that read_persistent_clock is\nnonfunctional before setting the sleep time, so that should the RTC\u0027s\nHCTOSYS option be configured in on a system that does support\nread_persistent_clock we will not increase the total_sleep_time twice.\n\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "1791f881435fab951939ad700e947b66c062e083",
      "tree": "53739cfe3847e425b9bb64f22bc7526da26a9a0c",
      "parents": [
        "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Wed Mar 30 15:24:21 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 18 10:39:38 2011 +0200"
      },
      "message": "posix clocks: Replace mutex with reader/writer semaphore\n\nA dynamic posix clock is protected from asynchronous removal by a mutex.\nHowever, using a mutex has the unwanted effect that a long running clock\noperation in one process will unnecessarily block other processes.\n\nFor example, one process might call read() to get an external time stamp\ncoming in at one pulse per second. A second process calling clock_gettime\nwould have to wait for almost a whole second.\n\nThis patch fixes the issue by using a reader/writer semaphore instead of\na mutex.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLink: http://lkml.kernel.org/r/%3C20110330132421.GA31771%40riccoc20.at.omicron.at%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "4352d9d44b935e4d000be6ec89ddb55c2bf35f24",
      "tree": "26b9d37f5a41b4c01d800a444ad230eafb48e47a",
      "parents": [
        "b3b896c73b4b04b506816a09994192e3a54f0fef"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Mon Apr 04 08:31:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:31:23 2011 -0700"
      },
      "message": "ntp: fix non privileged system time shifting\n\nThe ADJ_SETOFFSET bit added in commit 094aa188 (\"ntp: Add ADJ_SETOFFSET\nmode bit\") also introduced a way for any user to change the system time.\nSneaky or buggy calls to adjtimex() could set\n\n    ADJ_OFFSET_SS_READ | ADJ_SETOFFSET\n\nwhich would result in a successful call to timekeeping_inject_offset().\nThis patch fixes the issue by adding the capability check.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "e1a85b2c519551d4792180cdab4074d7e99bf2c9",
      "tree": "ee53aed254043d06a7e30151af6500eab3bf0407",
      "parents": [
        "f3c6ea1b06c71b43f751b36bd99345369fe911af"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 23 22:16:04 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 23 22:16:04 2011 +0100"
      },
      "message": "timekeeping: Use syscore_ops instead of sysdev class and sysdev\n\nThe timekeeping subsystem uses a sysdev class and a sysdev for\nexecuting timekeeping_suspend() after interrupts have been turned off\non the boot CPU (during system suspend) and for executing\ntimekeeping_resume() before turning on interrupts on the boot CPU\n(during system resume).  However, since both of these functions\nignore their arguments, the entire mechanism may be replaced with a\nstruct syscore_ops object which is simpler.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "420c1c572d4ceaa2f37b6311b7017ac6cf049fe2",
      "tree": "df04e6b4b756b7a46d9887462d54a3ad0e1f91d5",
      "parents": [
        "9620639b7ea3843983f4ced8b4c81eb4d8974838",
        "6e6823d17b157f185be09f4c70181299f9273f0b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:53:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:53:35 2011 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (62 commits)\n  posix-clocks: Check write permissions in posix syscalls\n  hrtimer: Remove empty hrtimer_init_hres_timer()\n  hrtimer: Update hrtimer-\u003estate documentation\n  hrtimer: Update base[CLOCK_BOOTTIME].offset correctly\n  timers: Export CLOCK_BOOTTIME via the posix timers interface\n  timers: Add CLOCK_BOOTTIME hrtimer base\n  time: Extend get_xtime_and_monotonic_offset() to also return sleep\n  time: Introduce get_monotonic_boottime and ktime_get_boottime\n  hrtimers: extend hrtimer base code to handle more then 2 clockids\n  ntp: Remove redundant and incorrect parameter check\n  mn10300: Switch do_timer() to xtimer_update()\n  posix clocks: Introduce dynamic clocks\n  posix-timers: Cleanup namespace\n  posix-timers: Add support for fd based clocks\n  x86: Add clock_adjtime for x86\n  posix-timers: Introduce a syscall for clock tuning.\n  time: Splitout compat timex accessors\n  ntp: Add ADJ_SETOFFSET mode bit\n  time: Introduce timekeeping_inject_offset\n  posix-timer: Update comment\n  ...\n\nFix up new system-call-related conflicts in\n\tarch/x86/ia32/ia32entry.S\n\tarch/x86/include/asm/unistd_32.h\n\tarch/x86/include/asm/unistd_64.h\n\tarch/x86/kernel/syscall_table_32.S\n(name_to_handle_at()/open_by_handle_at() vs clock_adjtime()), and some\ndue to movement of get_jiffies_64() in:\n\tkernel/time.c\n"
    },
    {
      "commit": "6e6823d17b157f185be09f4c70181299f9273f0b",
      "tree": "8a9009e2d54955c1a9c5a033493c8668915d09f8",
      "parents": [
        "a9e7acfff0a279792918b7b0de74106e576e9988"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Thu Mar 03 18:26:14 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 12 21:27:07 2011 +0100"
      },
      "message": "posix-clocks: Check write permissions in posix syscalls\n\npc_clock_settime() and pc_clock_adjtime() do not check whether the fd\nwas opened in write mode, so a clock can be set with a read only fd.\n\n[ tglx: We deliberately do not return -EPERM as we want this to be\n  \tdistingushable from the capability based permission check ]\n\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nLKML-Reference: \u003c1299173174-348-4-git-send-email-torbenh@gmx.de\u003e\nCc: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3a142a0672b48a853f00af61f184c7341ac9c99d",
      "tree": "e84f2647dc2ae71f2e54f2256ebce87624c11d97",
      "parents": [
        "493f3358cb289ccf716c5a14fa5bb52ab75943e5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 25 22:34:23 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 26 09:45:28 2011 +0100"
      },
      "message": "clockevents: Prevent oneshot mode when broadcast device is periodic\n\nWhen the per cpu timer is marked CLOCK_EVT_FEAT_C3STOP, then we only\ncan switch into oneshot mode, when the backup broadcast device\nsupports oneshot mode as well. Otherwise we would try to switch the\nbroadcast device into an unsupported mode unconditionally. This went\nunnoticed so far as the current available broadcast devices support\noneshot mode. Seth unearthed this problem while debugging and working\naround an hpet related BIOS wreckage.\n\nAdd the necessary check to tick_is_oneshot_available().\n\nReported-and-tested-by: Seth Forshee \u003cseth.forshee@canonical.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1102252231200.2701@localhost6.localdomain6\u003e\nCc: stable@kernel.org # .21 -\u003e\n"
    },
    {
      "commit": "314ac37150011ebb398f522db528d2dbcc611189",
      "tree": "0731fced7713d3889bd783577673068a6bc93796",
      "parents": [
        "abb3a4ea2e0ea7114a4475745da2f32bd9ad5b73"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 14 18:43:08 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 21 12:53:07 2011 -0800"
      },
      "message": "time: Extend get_xtime_and_monotonic_offset() to also return sleep\n\nExtend get_xtime_and_monotonic_offset to\nget_xtime_and_monotonic_and_sleep_offset().\n\nCC: Jamie Lokier \u003cjamie@shareable.org\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alexander Shishkin \u003cvirtuoso@slind.org\u003e\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "abb3a4ea2e0ea7114a4475745da2f32bd9ad5b73",
      "tree": "ba78d928a1b58faf16c2507777b8430d54666f52",
      "parents": [
        "e06383db9ec591696a06654257474b85bac1f8cb"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 14 17:52:09 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 21 12:53:05 2011 -0800"
      },
      "message": "time: Introduce get_monotonic_boottime and ktime_get_boottime\n\nThis adds new functions that return the monotonic time since boot\n(in other words, CLOCK_MONOTONIC + suspend time).\n\nCC: Jamie Lokier \u003cjamie@shareable.org\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alexander Shishkin \u003cvirtuoso@slind.org\u003e\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "db1c1cce4a653dcbe6949c72ae7b9f42cab1b929",
      "tree": "c90203be70d8fbe19e462e45f0573e34208a8927",
      "parents": [
        "22b7fcdae562b6792b3f5517e89fd7e0337180ae"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Fri Feb 18 10:07:25 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 18 17:01:12 2011 +0100"
      },
      "message": "ntp: Remove redundant and incorrect parameter check\n\nThe ADJ_SETOFFSET code redundantly checks the range of the nanoseconds\nfield of the time value. This field is checked again in the subsequent\ncall to timekeeping_inject_offset(). Also, as is, the check will not\ndetect whether the number of microseconds is out of range.\n\nLet timekeeping_inject_offset() do the error checking.\n \nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nCc: johnstul@us.ibm.com\nLKML-Reference: \u003c20110218090724.GA2924@riccoc20.at.omicron.at\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "f590308536db432e4747f562b29e5858123938e9",
      "tree": "ece1e37bcd1f62b22801f43e72cd097b2fc1eee9",
      "parents": [
        "d2478521afc20227658a10a8c5c2bf1a2aa615b3"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Fri Feb 11 19:21:25 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 12 14:11:56 2011 +0100"
      },
      "message": "timer debug: Hide kernel addresses via %pK in /proc/timer_list\n\nIn the continuing effort to avoid kernel addresses leaking to\nunprivileged users, this patch switches to %pK for\n/proc/timer_list reporting.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110212032125.GA23571@outflux.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0606f422b453f76c31ab2b1bd52943ff06a2dcf2",
      "tree": "14f4859e8492f01e97140248a28ab98355c415cf",
      "parents": [
        "527087374faa488776a789375a7d6ea74fda6f71"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Tue Feb 01 13:52:35 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 15:28:20 2011 +0100"
      },
      "message": "posix clocks: Introduce dynamic clocks\n\nThis patch adds support for adding and removing posix clocks. The\nclock lifetime cycle is patterned after usb devices. Each clock is\nrepresented by a standard character device. In addition, the driver\nmay optionally implement custom character device operations.\n\nThe posix clock and timer system calls listed below now work with\ndynamic posix clocks, as well as the traditional static clocks.\nThe following system calls are affected:\n\n   - clock_adjtime (brand new syscall)\n   - clock_gettime\n   - clock_getres\n   - clock_settime\n   - timer_create\n   - timer_delete\n   - timer_gettime\n   - timer_settime\n\n[ tglx: Adapted to the posix-timer cleanup. Moved clock_posix_dynamic\n  \tto posix-clock.c and made all referenced functions static ]\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c20110201134420.164172635@linutronix.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "094aa1881fdc1b8889b442eb3511b31f3ec2b762",
      "tree": "2eec808286e2f57eff45178741ba3ea048de7c37",
      "parents": [
        "c528f7c6c208f1fae6b4025957173dec045e5f21"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Tue Feb 01 13:52:20 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 15:28:18 2011 +0100"
      },
      "message": "ntp: Add ADJ_SETOFFSET mode bit\n\nThis patch adds a new mode bit into the timex structure. When set, the bit\ninstructs the kernel to add the given time value to the current time.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c20110201134320.688829863@linutronix.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c528f7c6c208f1fae6b4025957173dec045e5f21",
      "tree": "86986bf39f82622ea81179dad3382fc4580875a8",
      "parents": [
        "0061748dd2400d0bcd4d49d258db5d7b5d106ca0"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Feb 01 13:52:17 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 15:28:18 2011 +0100"
      },
      "message": "time: Introduce timekeeping_inject_offset\n\nThis adds a kernel-internal timekeeping interface to add or subtract\na fixed amount from CLOCK_REALTIME. This makes it so kernel users or\ninterfaces trying to do so do not have to read the time, then add an\noffset and then call settimeofday(), which adds some extra error in\ncomparision to just simply adding the offset in the kernel timekeeping\ncore.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nLKML-Reference: \u003c20110201134419.584311693@linutronix.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1e6d767924c74929c0cfe839ae8f37bcee9e544e",
      "tree": "4ace06971e2b3519e556bea2f7e3e999e860eedd",
      "parents": [
        "7cf37e87dd2cfa17a64f28ea7f31eed4525f79e4"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richard.cochran@omicron.at",
        "time": "Tue Feb 01 13:50:58 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 15:28:11 2011 +0100"
      },
      "message": "time: Correct the *settime* parameters\n\nBoth settimeofday() and clock_settime() promise with a \u0027const\u0027\nattribute not to alter the arguments passed in. This patch adds the\nmissing \u0027const\u0027 attribute into the various kernel functions\nimplementing these calls.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c20110201134417.545698637@linutronix.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7cf37e87dd2cfa17a64f28ea7f31eed4525f79e4",
      "tree": "fd802bad0c724185f6cb8e8790fc8d3bf0466494",
      "parents": [
        "e2830b5c1b2b2217894370a3b95af87d4a958401"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 01 09:34:58 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 01 09:46:47 2011 +0100"
      },
      "message": "time: Fix legacy arch fallout\n\nThe xtime/dotimer cleanup broke architectures which do not implement\nclockevents. Time to send out another __do_IRQ threat.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: johnstul@us.ibm.com\nCc: yong.zhang0@gmail.com\nCc: hch@infradead.org\nLKML-Reference: \u003c20110127145905.23248.30458.stgit@localhost\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e2830b5c1b2b2217894370a3b95af87d4a958401",
      "tree": "9eec3de82a30fffc32beae7826e4a356220c52f7",
      "parents": [
        "d12b0e24c56c6fb2398609f26858e5278d688840"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Thu Jan 27 16:00:32 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 19:26:50 2011 +0100"
      },
      "message": "time: Make do_timer() and xtime_lock local to kernel/time/\n\nAll callers of do_timer() are converted to xtime_update(). The only\nusers of xtime_lock are in kernel/time/. Make both local to\nkernel/time/ and remove them from the global header files.\n\n[ tglx: Reuse tick-internal.h instead of creating another local header\n  \tfile. Massaged changelog ]\n\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: johnstul@us.ibm.com\nCc: yong.zhang0@gmail.com\nCc: hch@infradead.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f0af911a9dec9de702645182c8d269449e24d24b",
      "tree": "17cd5683ab3878479b59d9786102fcf699d3051a",
      "parents": [
        "79ecaf0d15344d78904becf0f25de3fc9b49d430"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Thu Jan 27 15:59:10 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 14:55:43 2011 +0100"
      },
      "message": "time: Provide xtime_update()\n\nxtime_update() takes xtime_lock write locked and calls\ndo_timer(). Provided to replace the do_timer() calls in the\narchitecture code.\n\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: johnstul@us.ibm.com\nCc: yong.zhang0@gmail.com\nCc: hch@infradead.org\nLKML-Reference: \u003c20110127145910.23248.21379.stgit@localhost\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "79ecaf0d15344d78904becf0f25de3fc9b49d430",
      "tree": "1fb8b5f73c86dbb2636c9a6e3458212f0843e378",
      "parents": [
        "48cf76f7104f655bbd48a75c7759dce82c3e1ab6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 11:07:54 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 14:55:43 2011 +0100"
      },
      "message": "time: Remove unused __get_wall_to_monotonic()\n\nNo users left. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "48cf76f7104f655bbd48a75c7759dce82c3e1ab6",
      "tree": "2b3cf138fd277ba9c551d75ccbe575a40974560a",
      "parents": [
        "fbad1ea94159a71bc0f68b00e57ae803606af9fb"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Thu Jan 27 15:59:05 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 14:55:42 2011 +0100"
      },
      "message": "time: Provide get_xtime_and_monotonic_offset()\n\nThe hrtimer code accesses timekeeping variables under\nxtime_lock. Provide a sensible accessor function and use it.\n\n[ tglx: Removed the conditionals, unused variable, fixed codingstyle\n  \tand massaged changelog ]\n\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: johnstul@us.ibm.com\nCc: yong.zhang0@gmail.com\nCc: hch@infradead.org\nLKML-Reference: \u003c20110127145905.23248.30458.stgit@localhost\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fbad1ea94159a71bc0f68b00e57ae803606af9fb",
      "tree": "bcd350cc5faa6d3607d2c279d66fa58e96c53425",
      "parents": [
        "871cf1e5f2a17702f58539a3af8b18fc8666ad4c"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Thu Jan 27 15:59:00 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 14:55:42 2011 +0100"
      },
      "message": "time: Move get_jiffies_64 to kernel/time/jiffies.c\n\nMove the jiffies access functions to the jiffies clocksource code.\n\n[ tglx: Add missing include ]\n\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: johnstul@us.ibm.com\nCc: yong.zhang0@gmail.com\nCc: hch@infradead.org\nLKML-Reference: \u003c20110127145900.23248.73352.stgit@localhost\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "871cf1e5f2a17702f58539a3af8b18fc8666ad4c",
      "tree": "da80fbad2c79dee33d4ac559c8881ce4c77476b7",
      "parents": [
        "70d1f365568e0cdbc9f4ab92428e1830fdb09ab0"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Thu Jan 27 15:58:55 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 14:55:41 2011 +0100"
      },
      "message": "time: Move do_timer() to kernel/time/timekeeping.c\n\ndo_timer() is primary timekeeping related. calc_global_load() is\ncalled from do_timer() as well, but that\u0027s more for historical\nreasons.\n\n[ tglx: Fixed up the calc_global_load() reject andmassaged changelog ]\n\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: johnstul@us.ibm.com\nCc: yong.zhang0@gmail.com\nCc: hch@infradead.org\nLKML-Reference: \u003c20110127145855.23248.56933.stgit@localhost\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2d0640b47da74cff7c11642c798d40de861ed524",
      "tree": "51d41c213dbd5b27c3eeb6fe7527d04d2918edbb",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue Jan 18 22:46:34 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 20:08:15 2011 +0100"
      },
      "message": "hrtimers: Notify hrtimer users of switches to NOHZ mode\n\nWhen NOHZ\u003dy and high res timers are disabled (via cmdline or\nKconfig) tick_nohz_switch_to_nohz() will notify the user about\nswitching into NOHZ mode. Nothing is printed for the case where\nHIGH_RES_TIMERS\u003dy. Fix this for the HIGH_RES_TIMERS\u003dy case by\nduplicating the printk from the low res NOHZ path in the high\nres NOHZ path.\n\nThis confused me since I was thinking \u0027dmesg | grep -i NOHZ\u0027 would\ntell me if NOHZ was enabled, but if I have hrtimers there is\nnothing.\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1295419594-13085-1-git-send-email-sboyd@codeaurora.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9ee7f60d6f37ae0184812b4c59b3869f875768b",
      "tree": "6c30a7e94b90cfa3a43cda45f4bdb2f254f3ba10",
      "parents": [
        "16c1020362083b320868c0deef492249089c3cd3",
        "1161ec944916069ceec21c487e30247d9ff22857",
        "76d1f7bfcd5872056902c5a88b5fcd5d4d00a7a9",
        "afa14e7c553ebe45844d76208f66017a43abd0e2",
        "7c46d8da09df22361d1d43465c4f1b06cecaf25f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027x86-fixes-for-linus\u0027, \u0027timers-fixes-for-linus\u0027 and \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: avoid pointless blocked-task warnings\n  rcu: demote SRCU_SYNCHRONIZE_DELAY from kernel-parameter status\n  rtmutex: Fix comment about why new_owner can be NULL in wake_futex_pi()\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, olpc: Add missing Kconfig dependencies\n  x86, mrst: Set correct APB timer IRQ affinity for secondary cpu\n  x86: tsc: Fix calibration refinement conditionals to avoid divide by zero\n  x86, ia64, acpi: Clean up x86-ism in drivers/acpi/numa.c\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timekeeping: Make local variables static\n  time: Rename misnamed minsec argument of clocks_calc_mult_shift()\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove syscall_exit_fields\n  tracing: Only process module tracepoints once\n  perf record: Add \"nodelay\" mode, disabled by default\n  perf sched: Fix list of events, dropping unsupported \u0027:r\u0027 modifier\n  Revert \"perf tools: Emit clearer message for sys_perf_event_open ENOENT return\"\n  perf top: Fix annotate segv\n  perf evsel: Fix order of event list deletion\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "e2c18e49a0d4f822ffc29fb4958943beb1ff08b7",
      "tree": "227dbb544277f7908fa1666ce21a15e6b2282ccb",
      "parents": [
        "025b40abe715d638e60516a657d354e8560c1a85"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "lasaine@lvk.cs.msu.su",
        "time": "Wed Jan 12 17:00:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:21 2011 -0800"
      },
      "message": "pps: capture MONOTONIC_RAW timestamps as well\n\nMONOTONIC_RAW clock timestamps are ideally suited for frequency\ncalculation and also fit well into the original NTP hardpps design.  Now\nphase and frequency can be adjusted separately: the former based on\nREALTIME clock and the latter based on MONOTONIC_RAW clock.\n\nA new function getnstime_raw_and_real is added to timekeeping subsystem to\ncapture both timestamps at the same time and atomically.\n\nSigned-off-by: Alexander Gordeev \u003clasaine@lvk.cs.msu.su\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@enneenne.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "025b40abe715d638e60516a657d354e8560c1a85",
      "tree": "9320d3993c65c4eb56d3ab30337d590eb8c892fd",
      "parents": [
        "12f9b1f9c11700893a7b453705d95b260d78f268"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "lasaine@lvk.cs.msu.su",
        "time": "Wed Jan 12 17:00:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:20 2011 -0800"
      },
      "message": "ntp: add hardpps implementation\n\nThis commit adds hardpps() implementation based upon the original one from\nthe NTPv4 reference kernel code from David Mills.  However, it is highly\noptimized towards very fast syncronization and maximum stickness to PPS\nsignal.  The typical error is less then a microsecond.\n\nTo make it sync faster I had to throw away exponential phase filter so\nthat the full phase offset is corrected immediately.  Then I also had to\nthrow away median phase filter because it gives a bigger error itself if\nused without exponential filter.\n\nMaybe we will find an appropriate filtering scheme in the future but it\u0027s\nnot necessary if the signal quality is ok.\n\nSigned-off-by: Alexander Gordeev \u003clasaine@lvk.cs.msu.su\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@enneenne.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afa14e7c553ebe45844d76208f66017a43abd0e2",
      "tree": "2f1d13e996ba3db9be9d34b793edb432f6368bdd",
      "parents": [
        "5fdade95f26372154459347dfb9f60721d22cfc7"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Jan 11 17:59:38 2011 -0600"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 12 12:23:13 2011 +0100"
      },
      "message": "timekeeping: Make local variables static\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c0D753D10438DA54287A00B027084269764CE0E54B7@AUSP01VMBX24.collaborationhost.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "5fdade95f26372154459347dfb9f60721d22cfc7",
      "tree": "17575b462302904b9b2c0a912d245f0fa3572aa8",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@fluxnic.net",
        "time": "Tue Jan 11 12:18:12 2011 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 12 12:23:12 2011 +0100"
      },
      "message": "time: Rename misnamed minsec argument of clocks_calc_mult_shift()\n\nThe minsec argument to clocks_calc_mult_shift() is misnamed. It is used \nto clamp the magnitude of the mult factor so that a multiplication with \nany value in the given range won\u0027t overflow a 64 bit result.  Let\u0027s \nrename it to match the actual usage.\n\nSigned-off-by: Nicolas Pitre \u003cnicolas.pitre@linaro.org\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1101111207140.17086@xanadu.home\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "72eb6a791459c87a0340318840bb3bd9252b627b",
      "tree": "3bfb8ad99f9c7e511f37f72d57b56a2cea06d753",
      "parents": [
        "23d69b09b78c4876e134f104a3814c30747c53f1",
        "55ee4ef30241a62b700f79517e6d5ef2ddbefa67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 07 17:02:58 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-2.6.38\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (30 commits)\n  gameport: use this_cpu_read instead of lookup\n  x86: udelay: Use this_cpu_read to avoid address calculation\n  x86: Use this_cpu_inc_return for nmi counter\n  x86: Replace uses of current_cpu_data with this_cpu ops\n  x86: Use this_cpu_ops to optimize code\n  vmstat: User per cpu atomics to avoid interrupt disable / enable\n  irq_work: Use per cpu atomics instead of regular atomics\n  cpuops: Use cmpxchg for xchg to avoid lock semantics\n  x86: this_cpu_cmpxchg and this_cpu_xchg operations\n  percpu: Generic this_cpu_cmpxchg() and this_cpu_xchg support\n  percpu,x86: relocate this_cpu_add_return() and friends\n  connector: Use this_cpu operations\n  xen: Use this_cpu_inc_return\n  taskstats: Use this_cpu_ops\n  random: Use this_cpu_inc_return\n  fs: Use this_cpu_inc_return in buffer.c\n  highmem: Use this_cpu_xx_return() operations\n  vmstat: Use this_cpu_inc_return for vm statistics\n  x86: Support for this_cpu_add, sub, dec, inc_return\n  percpu: Generic support for this_cpu_add, sub, dec, inc_return\n  ...\n\nFixed up conflicts: in arch/x86/kernel/{apic/nmi.c, apic/x2apic_uv_x.c, process.c}\nas per Tejun.\n"
    },
    {
      "commit": "3c0cb7c31c206aaedb967e44b98442bbeb17a6c4",
      "tree": "3ecba45d7ffae4fba4a5aafaef4af5b0b1105bde",
      "parents": [
        "f70f5b9dc74ca7d0a64c4ead3fb28da09dc1b234",
        "404a02cbd2ae8bf256a2fa1169bdfe86bb5ebb34"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 16:50:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 16:50:35 2011 -0800"
      },
      "message": "Merge branch \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (416 commits)\n  ARM: DMA: add support for DMA debugging\n  ARM: PL011: add DMA burst threshold support for ST variants\n  ARM: PL011: Add support for transmit DMA\n  ARM: PL011: Ensure IRQs are disabled in UART interrupt handler\n  ARM: PL011: Separate hardware FIFO size from TTY FIFO size\n  ARM: PL011: Allow better handling of vendor data\n  ARM: PL011: Ensure error flags are clear at startup\n  ARM: PL011: include revision number in boot-time port printk\n  ARM: vexpress: add sched_clock() for Versatile Express\n  ARM i.MX53: Make MX53 EVK bootable\n  ARM i.MX53: Some bug fix about MX53 MSL code\n  ARM: 6607/1: sa1100: Update platform device registration\n  ARM: 6606/1: sa1100: Fix platform device registration\n  ARM i.MX51: rename IPU irqs\n  ARM i.MX51: Add ipu clock support\n  ARM: imx/mx27_3ds: Add PMIC support\n  ARM: DMA: Replace page_to_dma()/dma_to_page() with pfn_to_dma()/dma_to_pfn()\n  mx51: fix usb clock support\n  MX51: Add support for usb host 2\n  arch/arm/plat-mxc/ehci.c: fix errors/typos\n  ...\n"
    },
    {
      "commit": "b5776c4a6d0afc13697e8452b9ebe1cc4d961b74",
      "tree": "0b60b679d636a9759849fea1cd36a33438fff5ef",
      "parents": [
        "5e06b6492e53ab2a4e467763a9ee9f70b032c301"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Thu Dec 16 19:03:27 2010 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Wed Dec 22 22:44:43 2010 +0000"
      },
      "message": "Fix rounding in clocks_calc_mult_shift()\n\nRussell King reports:\n| On the ARM dev boards, we have a 32-bit counter running at 24MHz.  Calling\n| clocks_calc_mult_shift(\u0026mult, \u0026shift, 24MHz, NSEC_PER_SEC, 60) gives\n| us a multiplier of 2796202666 and a shift of 26.\n|\n| Over a large counter delta, this produces an error - lets take a count\n| from 362976315 to 4280663372:\n|\n| (4280663372-362976315) * 2796202666 / 2^26 - (4280663372-362976315) * (1000/24)\n|  \u003d\u003e -38.91872422891230269990\n|\n| Can we do better?\n|\n| (4280663372-362976315) * 2796202667 / 2^26 - (4280663372-362976315) * (1000/24)\n| 19.45936211449532822051\n|\n| which is about twice as good as the 2796202666 multiplier.\n|\n| Looking at the equivalent divisions obtained, 2796202666 / 2^26 gives\n| 41.66666665673255920410ns per tick, whereas 2796202667 / 2^26 gives\n| 41.66666667163372039794ns.  The actual value wanted is 1000/24 \u003d\n| 41.66666666666666666666ns.\n\nFix this by ensuring we round to nearest when calculating the\nmultiplier.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nTested-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nTested-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nTested-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\nTested-by: Jamie Iles \u003cjamie@jamieiles.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "909ea96468096b07fbb41aaf69be060d92bd9271",
      "tree": "a7e015edd96b5f674874fe78cdd889769e130a2a",
      "parents": [
        "780f36d8b3fa9572f731d4fb85067b2e45e6f993"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Wed Dec 08 16:22:55 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Dec 17 15:07:19 2010 +0100"
      },
      "message": "core: Replace __get_cpu_var with __this_cpu_read if not used for an address.\n\n__get_cpu_var() can be replaced with this_cpu_read and will then use a\nsingle read instruction with implied address calculation to access the\ncorrect per cpu instance.\n\nHowever, the address of a per cpu variable passed to __this_cpu_read()\ncannot be determined (since it\u0027s an implied address conversion through\nsegment prefixes).  Therefore apply this only to uses of __get_cpu_var\nwhere the address of the variable is not used.\n\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "998adc3dda59f811966b3ccb21eb223680b25ec4",
      "tree": "791597e9afe00877a3fb1a71c1178e8573767647",
      "parents": [
        "9bb99b147018945366c763b3d4d7008927dc8557"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 20 19:19:17 2010 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Dec 10 11:54:35 2010 -0800"
      },
      "message": "hrtimers: Convert hrtimers to use timerlist infrastructure\n\nConverts the hrtimer code to use the new timerlist infrastructure\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLKML Reference: \u003c1290136329-18291-3-git-send-email-john.stultz@linaro.org\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\n"
    },
    {
      "commit": "b595076a180a56d1bb170e6eceda6eb9d76f4cd3",
      "tree": "bc01ec7283808013e0b8ce7713fd6fc40f810429",
      "parents": [
        "6aaccece1c483f189f76f1282b3984ff4c7ecb0a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "message": "tree-wide: fix comment/printk typos\n\n\"gadget\", \"through\", \"command\", \"maintain\", \"maintain\", \"controller\", \"address\",\n\"between\", \"initiali[zs]e\", \"instead\", \"function\", \"select\", \"already\",\n\"equal\", \"access\", \"management\", \"hierarchy\", \"registration\", \"interest\",\n\"relative\", \"memory\", \"offset\", \"already\",\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "2bf1c05e3c406925e498d06da66b4828f0209ea6",
      "tree": "4125c428e84e66c825020f7b41671de6b6af5574",
      "parents": [
        "aaabe31c25a439b92cc281b14ca18b85bae7e7a6"
      ],
      "author": {
        "name": "Nikitas Angelinas",
        "email": "nikitasangelinas@googlemail.com",
        "time": "Wed Oct 20 15:57:31 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 21 17:30:06 2010 +0200"
      },
      "message": "time: Use ARRAY_SIZE macro in timecompare.c\n\nReplace sizeof(buffer)/sizeof(buffer[0]) with ARRAY_SIZE(buffer) in\nkernel/time/timecompare.c\n\nSigned-off-by: Nikitas Angelinas \u003cnikitasangelinas@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a386b5af8edda1c742ce9f77891e112eefffc005",
      "tree": "8a74b512d751758144b219988f60d69a5fd028f9",
      "parents": [
        "8af3c153baf95374eff20a37f00c59a295b52756"
      ],
      "author": {
        "name": "Kasper Pedersen",
        "email": "kkp2010@kasperkp.dk",
        "time": "Wed Oct 20 15:55:15 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 21 17:30:05 2010 +0200"
      },
      "message": "time: Compensate for rounding on odd-frequency clocksources\n\nWhen the clocksource is not a multiple of HZ, the clock will be off.  For\nacpi_pm, HZ\u003d1000 the error is 127.111 ppm:\n\nThe rounding of cycle_interval ends up generating a false error term in\nntp_error accumulation since xtime_interval is not exactly 1/HZ.  So, we\nsubtract out the error caused by the rounding.\n\nThis has been visible since 2.6.32-rc2\n\tcommit a092ff0f90cae22b2ac8028ecd2c6f6c1a9e4601\n\ttime: Implement logarithmic time accumulation\nThat commit raised NTP_INTERVAL_FREQ and exposed the rounding error.\n\ntesting tool: http://n1.taur.dk/permanent/testpmt.c\nAlso tested with ntpd and a frequency counter.\n\nSigned-off-by: Kasper Pedersen \u003ckkp2010@kasperkp.dk\u003e\nAcked-by: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8af3c153baf95374eff20a37f00c59a295b52756",
      "tree": "db80f770b668f7067c3e95af92cc92933edce4e0",
      "parents": [
        "d56557af19867edb8c0e96f8e26399698a08857f"
      ],
      "author": {
        "name": "Miroslav Lichvar",
        "email": "mlichvar@redhat.com",
        "time": "Tue Sep 07 16:43:46 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 09 20:48:37 2010 +0200"
      },
      "message": "ntp: Clamp PLL update interval\n\nClamp update interval to reduce PLL gain with low sampling rate (e.g.\nintermittent network connection) to avoid instability.\n\nThe clamp roughly corresponds to the loop time constant, it\u0027s 8 * poll\ninterval for SHIFT_PLL 2 and 32 * poll interval for SHIFT_PLL 4. This\ngives good results without affecting the gain in normal conditions where\nntpd skips only up to seven consecutive samples.\n\nSigned-off-by: Miroslav Lichvar \u003cmlichvar@redhat.com\u003e\nAcked-by: john stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1283870626-9472-1-git-send-email-mlichvar@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c7dcf87a6881bf796faee83003163eb3de41a309",
      "tree": "1e4333e588ad6e8e69e310d8ae71798af1c0bdb5",
      "parents": [
        "2be1f3a73dd02e38e181cf5abacb3d45a6a2d6b8"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Aug 13 11:30:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 12:03:24 2010 -0700"
      },
      "message": "time: Workaround gcc loop optimization that causes 64bit div errors\n\nEarly 4.3 versions of gcc apparently aggressively optimize the raw\ntime accumulation loop, replacing it with a divide.\n\nOn 32bit systems, this causes the following link errors:\n\tundefined reference to `__umoddi3\u0027\n\tundefined reference to `__udivdi3\u0027\n\nThe gcc issue has been fixed in 4.4 and greater.\n\nThis patch replaces the accumulation loop with a do_div, as suggested\nby Linus.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCC: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCC: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "deda2e81961e96be4f2c09328baca4710a2fd1a0",
      "tree": "da1968f7e6791cb96735e8f2c602aa55e76fec21",
      "parents": [
        "95f4572737da469b66ebfd1badd69d9adc340409"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 09 14:20:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 09:53:39 2010 -0700"
      },
      "message": "timekeeping: Fix overflow in rawtime tv_nsec on 32 bit archs\n\nThe tv_nsec is a long and when added to the shifted interval it can wrap\nand become negative which later causes looping problems in the\ngetrawmonotonic().  The edge case occurs when the system has slept for\na short period of time of ~2 seconds.\n\nA trace printk of the values in this patch illustrate the problem:\n\nftrace time stamp: log\n43.716079: logarithmic_accumulation: raw: 3d0913 tv_nsec d687faa\n43.718513: logarithmic_accumulation: raw: 3d0913 tv_nsec da588bd\n43.722161: logarithmic_accumulation: raw: 3d0913 tv_nsec de291d0\n46.349925: logarithmic_accumulation: raw: 7a122600 tv_nsec e1f9ae3\n46.349930: logarithmic_accumulation: raw: 1e848980 tv_nsec 8831c0e3\n\nThe kernel starts looping at 46.349925 in the getrawmonotonic() due to\nthe negative value from adding the raw value to tv_nsec.\n\nA simple solution is to accumulate into a u64, and then normalize it\nto a timespec_t.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n [ Reworked variable names and simplified some of the code. - John ]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b62ad9ab181a67207a4c8c373461b587c4861a68",
      "tree": "ace1572964d81f5f9bbc10b7960c1f742832d744",
      "parents": [
        "af390084359a5de20046c901529b2b6a50b941cb",
        "b29230769e3482bbd62a07d6d9485371ee66a18f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 13:18:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 13:18:29 2010 -0700"
      },
      "message": "Merge branch \u0027timers-timekeeping-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-timekeeping-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  um: Fix read_persistent_clock fallout\n  kgdb: Do not access xtime directly\n  powerpc: Clean up obsolete code relating to decrementer and timebase\n  powerpc: Rework VDSO gettimeofday to prevent time going backwards\n  clocksource: Add __clocksource_updatefreq_hz/khz methods\n  x86: Convert common clocksources to use clocksource_register_hz/khz\n  timekeeping: Make xtime and wall_to_monotonic static\n  hrtimer: Cleanup direct access to wall_to_monotonic\n  um: Convert to use read_persistent_clock\n  timkeeping: Fix update_vsyscall to provide wall_to_monotonic offset\n  powerpc: Cleanup xtime usage\n  powerpc: Simplify update_vsyscall\n  time: Kill off CONFIG_GENERIC_TIME\n  time: Implement timespec_add\n  x86: Fix vtime/file timestamp inconsistencies\n\nTrivial conflicts in Documentation/feature-removal-schedule.txt\n\nMuch less trivial conflicts in arch/powerpc/kernel/time.c resolved as\nper Thomas\u0027 earlier merge commit 47916be4e28c (\"Merge branch\n\u0027powerpc.cherry-picks\u0027 into timers/clocksource\")\n"
    },
    {
      "commit": "af390084359a5de20046c901529b2b6a50b941cb",
      "tree": "b73a6261d1b1f9fb34432cc9a47411a49330b8dc",
      "parents": [
        "7645e4320497b35ce9fb6c2269ebcd57af9fe735",
        "0fcb80818bc3ade5befd409051089f710adcf7b0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 13:12:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 13:12:36 2010 -0700"
      },
      "message": "Merge branch \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  Documentation: Add timers/timers-howto.txt\n  timer: Added usleep_range timer\n  Revert \"timer: Added usleep[_range] timer\"\n  clockevents: Remove the per cpu tick skew\n  posix_timer: Move copy_to_user(created_timer_id) down in timer_create()\n  timer: Added usleep[_range] timer\n  timers: Document meaning of deferrable timer\n"
    },
    {
      "commit": "c4efd6b569b2646e1346a08a4c40286f8bcb5f11",
      "tree": "bf33e8594ac4e628cc95f2ef25513788b8273601",
      "parents": [
        "4aed2fd8e3181fea7c09ba79cf64e7e3f4413bf9",
        "0bcfe75807944106a3aa655a54bb610d62f3a7f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:39:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:39:22 2010 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)\n  sched: Use correct macro to display sched_child_runs_first in /proc/sched_debug\n  sched: No need for bootmem special cases\n  sched: Revert nohz_ratelimit() for now\n  sched: Reduce update_group_power() calls\n  sched: Update rq-\u003eclock for nohz balanced cpus\n  sched: Fix spelling of sibling\n  sched, cpuset: Drop __cpuexit from cpu hotplug callbacks\n  sched: Fix the racy usage of thread_group_cputimer() in fastpath_timer_check()\n  sched: run_posix_cpu_timers: Don\u0027t check -\u003eexit_state, use lock_task_sighand()\n  sched: thread_group_cputime: Simplify, document the \"alive\" check\n  sched: Remove the obsolete exit_state/signal hacks\n  sched: task_tick_rt: Remove the obsolete -\u003esignal !\u003d NULL check\n  sched: __sched_setscheduler: Read the RLIMIT_RTPRIO value lockless\n  sched: Fix comments to make them DocBook happy\n  sched: Fix fix_small_capacity\n  powerpc: Exclude arch_sd_sibiling_asym_packing() on UP\n  powerpc: Enable asymmetric SMT scheduling on POWER7\n  sched: Add asymmetric group packing option for sibling domain\n  sched: Fix capacity calculations for SMT4\n  sched: Change nohz idle load balancing logic to push model\n  ...\n"
    },
    {
      "commit": "0bcfe75807944106a3aa655a54bb610d62f3a7f5",
      "tree": "d48d848e09d1bf48fe7fa23e9226f38ef342eed4",
      "parents": [
        "eebef74695e1498e04e5f85be9c6f84bd2e7358a",
        "396e894d289d69bacf5acd983c97cd6e21a14c08"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 05 09:46:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 05 09:46:29 2010 +0200"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nConflicts:\n\tinclude/linux/sched.h\n\nMerge reason: Add the leftover .35 urgent bits, fix the conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f",
      "tree": "854ab394486288d40fa8179cbfaf66e8bdc44b0f",
      "parents": [
        "73b2c7165b76b20eb1290e7efebc33cfd21db1ca",
        "3a09b1be53d23df780a0cd0e4087a05e2ca4a00c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Aug 04 15:14:38 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "af5ab277ded04bd9bc6b048c5a2f0e7d70ef0867",
      "tree": "7c593610e47096dd6592b8dbfe166428cc079ed6",
      "parents": [
        "2b08de0073a5697cf84d6f448d6dbc6cf02fc6b5"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Jul 27 21:02:10 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 02 21:45:58 2010 +0200"
      },
      "message": "clockevents: Remove the per cpu tick skew\n\nHistorically, Linux has tried to make the regular timer tick on the\nvarious CPUs not happen at the same time, to avoid contention on\nxtime_lock.\n\nNowadays, with the tickless kernel, this contention no longer happens\nsince time keeping and updating are done differently. In addition,\nthis skew is actually hurting power consumption in a measurable way on\nmany-core systems.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nLKML-Reference: \u003c20100727210210.58d3118c@infradead.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "852db46d55e85b475a72e665ca08d3317769ceef",
      "tree": "3802273b1135f0f650868fe9e048d7c0594195fe",
      "parents": [
        "f12a15be63d1de9a35971f35f06b73088fa25c3a"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:28 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:55 2010 +0200"
      },
      "message": "clocksource: Add __clocksource_updatefreq_hz/khz methods\n\nTo properly handle clocksources that change frequencies\nat the clocksource-\u003eenable() point, this patch adds\na method that will update the clocksource\u0027s mult/shift and\nmax_idle_ns values.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1279068988-21864-12-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "0fb86b06298b6cd3205cac2e68a499f269282dac",
      "tree": "3adcd4149fbe643ea8cae88578e169d02b7a9e5f",
      "parents": [
        "8ab4351a4c888016620f43bde605b3d0964af339"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:26 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:55 2010 +0200"
      },
      "message": "timekeeping: Make xtime and wall_to_monotonic static\n\nThis patch makes xtime and wall_to_monotonic static, as planned in\nDocumentation/feature-removal-schedule.txt. This will allow for\nfurther cleanups to the timekeeping core.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1279068988-21864-10-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "8ab4351a4c888016620f43bde605b3d0964af339",
      "tree": "9d92ee7fbf9391bfcfdc1e49fecc31b9fa4e03c0",
      "parents": [
        "9f31f5774961a735687fee17953ab505b3df3abf"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:25 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:55 2010 +0200"
      },
      "message": "hrtimer: Cleanup direct access to wall_to_monotonic\n\nProvides an accessor function to replace hrtimer.c\u0027s\ndirect access of wall_to_monotonic.\n\nThis will allow wall_to_monotonic to be made static as\nplanned in Documentation/feature-removal-schedule.txt\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1279068988-21864-9-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7615856ebfee52b080c22d263ca4debbd0df0ac1",
      "tree": "beb06e60af7560c28d5bad41f03a5238636e91fc",
      "parents": [
        "06d518e3dfb25334282c7e38b4d7a4eada215f6d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:23 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:54 2010 +0200"
      },
      "message": "timkeeping: Fix update_vsyscall to provide wall_to_monotonic offset\n\nupdate_vsyscall() did not provide the wall_to_monotoinc offset,\nso arch specific implementations tend to reference wall_to_monotonic\ndirectly. This limits future cleanups in the timekeeping core, so\nthis patch fixes the update_vsyscall interface to provide\nwall_to_monotonic, allowing wall_to_monotonic to be made static\nas planned in Documentation/feature-removal-schedule.txt\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nLKML-Reference: \u003c1279068988-21864-7-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "592913ecb87a9e06f98ddb55b298f1a66bf94c6b",
      "tree": "0f63f5535fe517faf418e0f7e69800fcf1e4d8db",
      "parents": [
        "ce3bf7ab22527183634a76512d9854a38615e4d5"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:20 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:54 2010 +0200"
      },
      "message": "time: Kill off CONFIG_GENERIC_TIME\n\nNow that all arches have been converted over to use generic time via\nclocksources or arch_gettimeoffset(), we can remove the GENERIC_TIME\nconfig option and simplify the generic code.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1279068988-21864-4-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ce3bf7ab22527183634a76512d9854a38615e4d5",
      "tree": "79e48c7c84618d968664bd660c75e03fc98e7d11",
      "parents": [
        "8c73626ab28527b7eb7f3061c027fbfe530c488c"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:19 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:53 2010 +0200"
      },
      "message": "time: Implement timespec_add\n\nAfter accidentally misusing timespec_add_safe, I wanted to make sure\nwe don\u0027t accidently trip over that issue again, so I created a simple\ntimespec_add() function which we can use to replace the instances\nof timespec_add_safe() that don\u0027t want the overflow detection.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1279068988-21864-3-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "dca45ad8af54963c005393a484ad117b8ba6150f",
      "tree": "7c9a6966283a6bb12b54e5680a67d203be292930",
      "parents": [
        "68c38fc3cb4e5a60f502ee9c45f3dfe70e5165ad",
        "cd5b8f8755a89a57fc8c408d284b8b613f090345"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 21 21:45:02 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 21 21:45:08 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: Move from the -rc3 to the almost-rc6 base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "396e894d289d69bacf5acd983c97cd6e21a14c08",
      "tree": "ec3e3ba19e332a799e1229f62663625d9c7583dd",
      "parents": [
        "f469461df6ff822f71b8737bda86eea20f16ff93"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 09 15:12:27 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 17 12:05:44 2010 +0200"
      },
      "message": "sched: Revert nohz_ratelimit() for now\n\nNorbert reported that nohz_ratelimit() causes his laptop to burn about\n4W (40%) extra. For now back out the change and see if we can adjust\nthe power management code to make better decisions.\n\nReported-by: Norbert Preining \u003cpreining@logic.at\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "698f93159a735bd29a8767c9f60d9b2d75870f8e",
      "tree": "1ea0556201e4fa79c75db621e33c722eedececda",
      "parents": [
        "b27d63d8f8d34af57805f56005e217c150187531"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Jul 02 20:41:51 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Jul 11 21:45:40 2010 +0200"
      },
      "message": "fix comment/printk typos concerning \"already\"\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "123f94f22e3d283dfe68742b269c245b0501ad82",
      "tree": "1d40043b0909f309cf77204ea87be9e61f143e79",
      "parents": [
        "4b78c119f0ba715b4e29b190bf4d7bce810ea0d6",
        "8c215bd3890c347dfb6a2db4779755f8b9c298a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 02 09:52:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 02 09:52:58 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Cure nr_iowait_cpu() users\n  init: Fix comment\n  init, sched: Fix race between init and kthreadd\n"
    },
    {
      "commit": "8c215bd3890c347dfb6a2db4779755f8b9c298a9",
      "tree": "e6bd5de8a028babe9ec75f744977bd1424df106c",
      "parents": [
        "9715856922bf8475f5428c29b6f4a9eebc97d391"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jul 01 09:07:17 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 01 09:39:48 2010 +0200"
      },
      "message": "sched: Cure nr_iowait_cpu() users\n\nCommit 0224cf4c5e (sched: Intoduce get_cpu_iowait_time_us())\nbroke things by not making sure preemption was indeed disabled\nby the callers of nr_iowait_cpu() which took the iowait value of\nthe current cpu.\n\nThis resulted in a heap of preempt warnings. Cure this by making\nnr_iowait_cpu() take a cpu number and fix up the callers to pass\nin the right number.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: linux-pm@lists.linux-foundation.org\nLKML-Reference: \u003c1277968037.1868.120.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3310d4d38fbc514e7b18bd3b1eea8effdd63b5aa",
      "tree": "14e2a5b6126c9b1341a3d4bf5299545ce4b1999a",
      "parents": [
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jun 17 18:02:37 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 17 19:37:29 2010 +0200"
      },
      "message": "nohz: Fix nohz ratelimit\n\nChris Wedgwood reports that 39c0cbe (sched: Rate-limit nohz) causes a\nserial console regression, unresponsiveness, and indeed it does. The\nreason is that the nohz code is skipped even when the tick was already\nstopped before the nohz_ratelimit(cpu) condition changed.\n\nMove the nohz_ratelimit() check to the other conditions which prevent\nlong idle sleeps.\n\nReported-by: Chris Wedgwood \u003ccw@f00f.org\u003e\nTested-by: Brian Bloniarz \u003cbmb@athenacr.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Jef Driesen \u003cjefdriesen@telenet.be\u003e\nLKML-Reference: \u003c1276790557.27822.516.camel@twins\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "83cd4fe27ad8446619b2e030b171b858501de87d",
      "tree": "81c7d26f4f00139ae355017239371d91cc4b2aef",
      "parents": [
        "fdf3e95d3916f18bf8703fb065499fdbc4dfe34c"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Fri May 21 17:09:41 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 10:34:52 2010 +0200"
      },
      "message": "sched: Change nohz idle load balancing logic to push model\n\nIn the new push model, all idle CPUs indeed go into nohz mode. There is\nstill the concept of idle load balancer (performing the load balancing\non behalf of all the idle cpu\u0027s in the system). Busy CPU kicks the nohz\nbalancer when any of the nohz CPUs need idle load balancing.\nThe kickee CPU does the idle load balancing on behalf of all idle CPUs\ninstead of the normal idle balance.\n\nThis addresses the below two problems with the current nohz ilb logic:\n* the idle load balancer continued to have periodic ticks during idle and\n  wokeup frequently, even though it did not have any rebalancing to do on\n  behalf of any of the idle CPUs.\n* On x86 and CPUs that have APIC timer stoppage on idle CPUs, this\n  periodic wakeup can result in a periodic additional interrupt on a CPU\n  doing the timer broadcast.\n\nAlso currently we are migrating the unpinned timers from an idle to the cpu\ndoing idle load balancing (when all the cpus in the system are idle,\nthere is no idle load balancing cpu and timers get added to the same idle cpu\nwhere the request was made. So the existing optimization works only on semi idle\nsystem).\n\nAnd In semi idle system, we no longer have periodic ticks on the idle load\nbalancer CPU. Using that cpu will add more delays to the timers than intended\n(as that cpu\u0027s timer base may not be uptodate wrt jiffies etc). This was\ncausing mysterious slowdowns during boot etc.\n\nFor now, in the semi idle case, use the nearest busy cpu for migrating timers\nfrom an idle cpu.  This is good for power-savings anyway.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c1274486981.2840.46.camel@sbs-t61.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "164d44fd92e79d5bce54d0d62df9f856f7b23925",
      "tree": "9f21607849b7e684b255578ffdf41951bc31787e",
      "parents": [
        "5bfec46baa3a752393433b8d89d3b2c70820f61d",
        "d7e81c269db899b800e0963dc4aceece1f82a680"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:11:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:11:10 2010 -0700"
      },
      "message": "Merge branch \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource: Add clocksource_register_hz/khz interface\n  posix-cpu-timers: Optimize run_posix_cpu_timers()\n  time: Remove xtime_cache\n  mqueue: Convert message queue timeout to use hrtimers\n  hrtimers: Provide schedule_hrtimeout for CLOCK_REALTIME\n  timers: Introduce the concept of timer slack for legacy timers\n  ntp: Remove tickadj\n  ntp: Make time_adjust static\n  time: Add xtime, wall_to_monotonic to feature-removal-schedule\n  timer: Try to survive timer callback preempt_count leak\n  timer: Split out timer function call\n  timer: Print function name for timer callbacks modifying preemption count\n  time: Clean up warp_clock()\n  cpu-timers: Avoid iterating over all threads in fastpath_timer_check()\n  cpu-timers: Change SIGEV_NONE timer implementation\n  cpu-timers: Return correct previous timer reload value\n  cpu-timers: Cleanup arm_timer()\n  cpu-timers: Simplify RLIMIT_CPU handling\n"
    },
    {
      "commit": "d7e81c269db899b800e0963dc4aceece1f82a680",
      "tree": "bf30c8c5ed86dbf3c71a25e0f3ab1093c19e516f",
      "parents": [
        "29f87b793da421a6ab816d991dc8dbf909dfb66a"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri May 07 18:07:38 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 10 14:24:26 2010 +0200"
      },
      "message": "clocksource: Add clocksource_register_hz/khz interface\n\nHow to pick good mult/shift pairs has always been difficult to\ndescribe to folks writing clocksource drivers, since it requires\ncareful tradeoffs in adjustment accuracy vs overflow limits.\n\nNow, with the clocks_calc_mult_shift function, its much\neasier. However, not many clocksources have converted to using that\nfunction, and there is still the issue of the max interval length\nassumption being made by each clocksource driver independently.\n\nSo this patch simplifies the registration process by having\nclocksources be registered with a hz/khz value and the registration\nfunction taking care of setting mult/shift.\n\nThis should take most of the confusion out of writing a clocksource\ndriver.\n\nAdditionally it also keeps the shift size tradeoff (more accuracy vs\nlonger possible nohz times) centralized so the timekeeping core can\nkeep track of the assumptions being made.\n\n[ tglx: Coding style and comments fixed ]\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1273280858-30143-1-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dbb6be6d5e974c42bbecd183effaa0df69e1dd8b",
      "tree": "5735cb47e70853d057a9881dd0ce44b83e88fa63",
      "parents": [
        "6a867a395558a7f882d041783e4cdea6744ca2bf",
        "b57f95a38233a2e73b679bea4a5453a1cc2a1cc9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 10 11:59:37 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 10 14:20:42 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/core\n\nReason: Further posix_cpu_timer patches depend on mainline changes\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0224cf4c5ee0d7faec83956b8e21f7d89e3df3bd",
      "tree": "daac87f9766d1a6c71bcff021414d3deaae40da1",
      "parents": [
        "e0e37c200f1357db0dd986edb359c41c57d24f6e"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:25:23 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:27 2010 +0200"
      },
      "message": "sched: Intoduce get_cpu_iowait_time_us()\n\nFor the ondemand cpufreq governor, it is desired that the iowait\ntime is microaccounted in a similar way as idle time is.\n\nThis patch introduces the infrastructure to account and expose\nthis information via the get_cpu_iowait_time_us() function.\n\n[akpm@linux-foundation.org: fix CONFIG_NO_HZ\u003dn build]\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082523.284feab6@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0e37c200f1357db0dd986edb359c41c57d24f6e",
      "tree": "9f799889b2166528e4b264f3c58a52d1edbd4bdf",
      "parents": [
        "8d63bf949e330588b80d30ca8f0a27a45297a9e9"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:24:39 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:26 2010 +0200"
      },
      "message": "sched: Eliminate the ts-\u003eidle_lastupdate field\n\nNow that the only user of ts-\u003eidle_lastupdate is\nupdate_ts_time_stats(), the entire field can be eliminated.\n\nIn update_ts_time_stats(), idle_lastupdate is first set to\n\"now\", and a few lines later, the only user is an if() statement\nthat assigns a variable either to \"now\" or to\nts-\u003eidle_lastupdate, which has the value of \"now\" at that point.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082439.2fab0b4f@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8d63bf949e330588b80d30ca8f0a27a45297a9e9",
      "tree": "e416fe04ddacdf3fc3e2c9ec6938da0ebbab7ff1",
      "parents": [
        "8c7b09f43f4bf570654bcc458ce96819a932303c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:24:03 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:26 2010 +0200"
      },
      "message": "sched: Fold updating of the last_update_time_info into update_ts_time_stats()\n\nThis patch folds the updating of the last_update_time into the\nupdate_ts_time_stats() function, and updates the callers.\n\nThis allows for further cleanups that are done in the next\npatch.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082403.60072967@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c7b09f43f4bf570654bcc458ce96819a932303c",
      "tree": "33eb6f860fa9a31ea63b67247890a6762439fde2",
      "parents": [
        "595aac488b546c7185be7e29c8ae165a588b2a9f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:23:23 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:26 2010 +0200"
      },
      "message": "sched: Update the idle statistics in get_cpu_idle_time_us()\n\nRight now, get_cpu_idle_time_us() only reports the idle\nstatistics upto the point the CPU entered last idle; not what is\nvalid right now.\n\nThis patch adds an update of the idle statistics to\nget_cpu_idle_time_us(), so that calling this function always\nreturns statistics that are accurate at the point of the call.\n\nThis includes resetting the start of the idle time for\naccounting purposes to avoid double accounting.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082323.2d2f1945@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "595aac488b546c7185be7e29c8ae165a588b2a9f",
      "tree": "5037879b01cbcb7cf84f4ab99a114aca687f0300",
      "parents": [
        "b1f724c3055fa75a31d272222213647547a2d3d4"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:22:45 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:25 2010 +0200"
      },
      "message": "sched: Introduce a function to update the idle statistics\n\nCurrently, two places update the idle statistics (and more to\ncome later in this series).\n\nThis patch creates a helper function for updating these\nstatistics.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082245.163e67ed@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b1f724c3055fa75a31d272222213647547a2d3d4",
      "tree": "9f9e9105a01405e252b5214e83bdbfcd10921f43",
      "parents": [
        "e7858f52a5cb868289a72264534a1f05f3340c6c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:22:08 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:25 2010 +0200"
      },
      "message": "sched: Add a comment to get_cpu_idle_time_us()\n\nThe exported function get_cpu_idle_time_us() has no comment\ndescribing it; add a kerneldoc comment\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082208.7cb721f0@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b257c14ceb1194a6181144210056d38f22127189",
      "tree": "c803925f1d5bf2237e7495d306bf43929df0c952",
      "parents": [
        "371fd7e7a56a5c136d31aa980011bd2f131c3ef5",
        "2ba3abd8186f24c7fb418927025b4e2120e3a362"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 15 09:35:24 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 15 09:36:16 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: merge the latest fixes, update to -rc4.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a867a395558a7f882d041783e4cdea6744ca2bf",
      "tree": "dfe350df25fba5fec6f7e1088b04d6b03f0974b3",
      "parents": [
        "9ca7d8e6834c40a99622bbe4a88aaf64313ae43c"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Apr 06 14:30:51 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 13 12:43:42 2010 +0200"
      },
      "message": "time: Remove xtime_cache\n\nWith the earlier logarithmic time accumulation patch, xtime will now\nalways be within one \"tick\" of the current time, instead of possibly\nhalf a second off.\n\nThis removes the need for the xtime_cache value, which always stored the\ntime at the last interrupt, so this patch cleans that up removing the\nxtime_cache related code.\n\nThis patch also addresses an issue with an earlier version of this change,\nwhere xtime_cache was normalizing xtime, which could in some cases be\nnot valid (ie: tv_nsec \u003d\u003d NSEC_PER_SEC). This is fixed by handling\nthe edge case in update_wall_time().\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Petr Titěra \u003cP.Titera@century.cz\u003e\nLKML-Reference: \u003c1270589451-30773-1-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c9494727cf293ae2ec66af57547a3e79c724fec2",
      "tree": "44ae197b64fa7530ee695a90ad31326dda06f1e1",
      "parents": [
        "6427462bfa50f50dc6c088c07037264fcc73eca1",
        "42be79e37e264557f12860fa4cc84b4de3685954"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 02 20:02:55 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 02 20:03:08 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: update to latest upstream\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "e1292ba164742e3a236e407148e00300b7196906",
      "tree": "67b924190ab7a64a64dad136de45932f8af1a970",
      "parents": [
        "12b8aeee3e51654fb95a3baff2e093f2513bb87d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Thu Mar 18 20:19:27 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 23 17:19:37 2010 +0100"
      },
      "message": "ntp: Make time_adjust static\n\nNow that no arches are accessing time_adjust directly,\nmake it static.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1268968769-19209-1-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "830ec0458c390f29c6c99e1ff7feab9e36368d12",
      "tree": "81a344892bd7696a42d87b76189b59f4e1af71ef",
      "parents": [
        "15365c108ea27598e265f8c13e7051d99ca5b0b9"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Thu Mar 18 14:47:30 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 23 16:41:01 2010 +0100"
      },
      "message": "time: Fix accumulation bug triggered by long delay.\n\nThe logarithmic accumulation done in the timekeeping has some overflow\nprotection that limits the max shift value. That means it will take\nmore then shift loops to accumulate all of the cycles. This causes\nthe shift decrement to underflow, which causes the loop to never exit.\n\nThe simplest fix would be simply to do a:\n\tif (shift)\n\t\tshift--;\n\nHowever that is not optimal, as we know the cycle offset is larger\nthen the interval \u003c\u003c shift, the above would make shift drop to zero,\nthen we would be spinning for quite awhile accumulating at interval\nchunks at a time.\n\nInstead, this patch only decreases shift if the offset is smaller\nthen cycle_interval \u003c\u003c shift.  This makes sure we accumulate using\nthe largest chunks possible without overflowing tick_length, and limits\nthe number of iterations through the loop.\n\nThis issue was found and reported by Sonic Zhang, who also tested the fix.\nMany thanks your explanation and testing!\n\nReported-by: Sonic Zhang \u003csonic.adi@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nTested-by: Sonic Zhang \u003csonic.adi@gmail.com\u003e\nLKML-Reference: \u003c1268948850-5225-1-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "80a05b9ffa7dc13f6693902dd8999a2b61a3a0d7",
      "tree": "5612eeb26804b135de66779d1a00eaf35a4ceca1",
      "parents": [
        "ad6759fbf35d104dbf573cd6f4c6784ad6823f7e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 12 17:34:14 2010 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 12 19:10:29 2010 +0100"
      },
      "message": "clockevents: Sanitize min_delta_ns adjustment and prevent overflows\n\nThe current logic which handles clock events programming failures can\nincrease min_delta_ns unlimited and even can cause overflows.\n\nSanitize it by:\n - prevent zero increase when min_delta_ns \u003d\u003d 1\n - limiting min_delta_ns to a jiffie\n - bail out if the jiffie limit is hit\n - add retries stats for /proc/timer_list so we can gather data\n\nReported-by: Uwe Kleine-Koenig \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "39c0cbe2150cbd848a25ba6cdb271d1ad46818ad",
      "tree": "7b9c356b39a2b50219398ce534d7d64e7ab4bf06",
      "parents": [
        "41acab8851a0408c1d5ad6c21a07456f88b54d40"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Mar 11 17:17:13 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 18:32:49 2010 +0100"
      },
      "message": "sched: Rate-limit nohz\n\nEntering nohz code on every micro-idle is costing ~10% throughput for netperf\nTCP_RR when scheduling cross-cpu.  Rate limiting entry fixes this, but raises\nticks a bit.  On my Q6600, an idle box goes from ~85 interrupts/sec to 128.\n\nThe higher the context switch rate, the more nohz entry costs.  With this patch\nand some cycle recovery patches in my tree, max cross cpu context switch rate is\nimproved by ~16%, a large portion of which of which is this ratelimiting.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1268301003.6785.28.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad6759fbf35d104dbf573cd6f4c6784ad6823f7e",
      "tree": "6eb4b1770d8875828c9693cdd510f43fb87da8b6",
      "parents": [
        "13dda80e48439b446d0bc9bab34b91484bc8f533"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Mar 01 12:34:43 2010 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 02 09:22:25 2010 +0100"
      },
      "message": "timekeeping: Prevent oops when GENERIC_TIME\u003dn\n\nAaro Koskinen reported an issue in kernel.org bugzilla #15366, where\non non-GENERIC_TIME systems, accessing\n/sys/devices/system/clocksource/clocksource0/current_clocksource\nresults in an oops.\n\nIt seems the timekeeper/clocksource rework missed initializing the\ncurr_clocksource value in the !GENERIC_TIME case.\n\nThanks to Aaro for reporting and diagnosing the issue as well as\ntesting the fix!\n\nReported-by: Aaro Koskinen \u003caaro.koskinen@iki.fi\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c1267475683.4216.61.camel@localhost.localdomain\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "e56425b135a8892d1e71ad5bb605d12c10efeb32",
      "tree": "9bb899e1b6b45a125bcc21554f3673878d932035",
      "parents": [
        "786f8ba2e9449a7f01ec6bc35838d0a335921061",
        "6622e670b26fbaa9c4ae7772a4d2d0abd3414b51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 01 08:48:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 01 08:48:25 2010 -0800"
      },
      "message": "Merge branch \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  posix-timers.c: Don\u0027t export local functions\n  clocksource: start CMT at clocksource resume\n  clocksource: add suspend callback\n  clocksource: add argument to resume callback\n  ntp: Cleanup xtime references in ntp.c\n  ntp: Make time_esterror and time_maxerror static\n"
    }
  ],
  "next": "c93d89f3dbf0202bf19c07960ca8602b48c2f9a0"
}
