)]}'
{
  "log": [
    {
      "commit": "080344b98805553f9b01de0f59a41b1533036d8d",
      "tree": "df56b37cca4b0ce233967682526158b58fa151b9",
      "parents": [
        "e13a2e61dd5152f5499d2003470acf9c838eab84"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 01 17:29:05 2008 +0300"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Feb 10 10:48:03 2008 +0100"
      },
      "message": "hrtimer: fix *rmtp handling in hrtimer_nanosleep()\n\nSpotted by Pavel Emelyanov and Alexey Dobriyan.\n\nhrtimer_nanosleep() sets restart_block-\u003earg1 \u003d rmtp, but this rmtp points to\nthe local variable which lives in the caller\u0027s stack frame. This means that\nif sys_restart_syscall() actually happens and it is interrupted as well, we\ndon\u0027t update the user-space variable, but write into the already dead stack\nframe.\n\nIntroduced by commit 04c227140fed77587432667a574b14736a06dd7f\nhrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier\n\nChange the callers to pass \"__user *rmtp\" to hrtimer_nanosleep(), and change\nhrtimer_nanosleep() to use copy_to_user() to actually update *rmtp.\n\nSmall problem remains. man 2 nanosleep states that *rtmp should be written if\nnanosleep() was interrupted (it says nothing whether it is OK to update *rmtp\nif nanosleep returns 0), but (with or without this patch) we can dirty *rem\neven if nanosleep() returns 0.\n\nNOTE: this patch doesn\u0027t change compat_sys_nanosleep(), because it has other\nbugs. Fixed by the next patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: Pavel Emelyanov \u003cxemul@sw.ru\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Toyo Abe \u003ctoyoa@mvista.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n include/linux/hrtimer.h |    2 -\n kernel/hrtimer.c        |   51 +++++++++++++++++++++++++-----------------------\n kernel/posix-timers.c   |   14 +------------\n 3 files changed, 30 insertions(+), 37 deletions(-)\n\n"
    },
    {
      "commit": "3eb056764dd806bbe84eb604e45e7470feeaafd8",
      "tree": "97a8fe2123d2c9df2bcb48052ac33d445a00f64c",
      "parents": [
        "cf4fc6cb76e50b01666e28a9f4b2e6fbcbb96d5f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 08 04:19:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "time: fix typo in comments\n\nFix typo in comments.\n\nBTW: I have to fix coding style in arch/ia64/kernel/time.c also, otherwise\ncheckpatch.pl will be complaining.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "151db1fc23800875c7ac353b106b7dab77061275",
      "tree": "b14f06bec7e45c9cd909df1dfb66b099d273b35c",
      "parents": [
        "145e9230760e4db27cf5f00fd04b005c79ca1c12"
      ],
      "author": {
        "name": "Tony Breeds",
        "email": "tony@bakeyournoodle.com",
        "time": "Fri Feb 08 09:24:52 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 14:54:45 2008 -0800"
      },
      "message": "Fix compilation of powerpc asm-offsets.c with old gcc\n\nCommit ad7f71674ad7c3c4467e48f6ab9e85516dae2720 (\"[POWERPC] Use a\nsensible default for clock_getres() in the VDSO\") corrected the clock\nresolution reported by the VDSO clock_getres() but introduced another\nproblem in that older versions of gcc (gcc-4.0 and earlier) fail to\ncompile the new code in arch/powerpc/kernel/asm-offsets.c.\n\nThis fixes it by introducing a new MONOTONIC_RES_NSEC define in the\ngeneric code which is equivalent to KTIME_MONOTONIC_RES but is just an\ninteger constant, not a ktime union.\n\nSigned-off-by: Tony Breeds \u003ctony@bakeyournoodle.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d672e7ac79b5ec5cdc90e450823441e20464691",
      "tree": "66da3aa0bf7f7ac80376a93f17edbb2246b2df06",
      "parents": [
        "5e05ad7d4e3b11f935998882b5d9c3b257137f1b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Mon Feb 04 22:27:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "timerfd: new timerfd API\n\nThis is the new timerfd API as it is implemented by the following patch:\n\nint timerfd_create(int clockid, int flags);\nint timerfd_settime(int ufd, int flags,\n\t\t    const struct itimerspec *utmr,\n\t\t    struct itimerspec *otmr);\nint timerfd_gettime(int ufd, struct itimerspec *otmr);\n\nThe timerfd_create() API creates an un-programmed timerfd fd.  The \"clockid\"\nparameter can be either CLOCK_MONOTONIC or CLOCK_REALTIME.\n\nThe timerfd_settime() API give new settings by the timerfd fd, by optionally\nretrieving the previous expiration time (in case the \"otmr\" parameter is not\nNULL).\n\nThe time value specified in \"utmr\" is absolute, if the TFD_TIMER_ABSTIME bit\nis set in the \"flags\" parameter.  Otherwise it\u0027s a relative time.\n\nThe timerfd_gettime() API returns the next expiration time of the timer, or\n{0, 0} if the timerfd has not been set yet.\n\nLike the previous timerfd API implementation, read(2) and poll(2) are\nsupported (with the same interface).  Here\u0027s a simple test program I used to\nexercise the new timerfd APIs:\n\nhttp://www.xmailserver.org/timerfd-test2.c\n\n[akpm@linux-foundation.org: coding-style cleanups]\n[akpm@linux-foundation.org: fix ia64 build]\n[akpm@linux-foundation.org: fix m68k build]\n[akpm@linux-foundation.org: fix mips build]\n[akpm@linux-foundation.org: fix alpha, arm, blackfin, cris, m68k, s390, sparc and sparc64 builds]\n[heiko.carstens@de.ibm.com: fix s390]\n[akpm@linux-foundation.org: fix powerpc build]\n[akpm@linux-foundation.org: fix sparc64 more]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e05ad7d4e3b11f935998882b5d9c3b257137f1b",
      "tree": "63b1b197f1ee68e656878257394d1ec8796ff3ea",
      "parents": [
        "ed5d2cac114202fe2978a9cbcab8f5032796d538"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Mon Feb 04 22:27:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "timerfd: introduce a new hrtimer_forward_now() function\n\nI think that advancing the timer against the timer\u0027s current \"now\" can be a\npretty common usage, so, w/out exposing hrtimer\u0027s internals, we add a new\nhrtimer_forward_now() function.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef08cce81d9be38063ec7796e36f2b32bdf82ff2",
      "tree": "b8b1d35bdbbd2b16141674913a91a254539da277",
      "parents": [
        "2e01e00e768ef42fb5b8804cd1b9b47b26d59ec5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sun Feb 03 16:20:13 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 16:20:13 2008 +0200"
      },
      "message": "time: delete comments that refer to noexistent symbols\n\nFunction do_timer_interrupt_hook() don\u0027t take argument regs,\nand structure hrtimer_sleeper don\u0027t have member cb_pending.\nSo delete comments refering to these symbols.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "d3d74453c34f8fd87674a8cf5b8a327c68f22e99",
      "tree": "cbbd46eb7b81f5c9d39a93604a206ac775084858",
      "parents": [
        "2d44ae4d7135b9aee26439b3523b43473381bc5f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "message": "hrtimer: fixup the HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback\n\nCurrently all highres\u003doff timers are run from softirq context, but\nHRTIMER_CB_IRQSAFE_NO_SOFTIRQ timers expect to run from irq context.\n\nFix this up by splitting it similar to the highres\u003don case.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f4d37ec073c17e2d4aa8851df5837d798606d6f",
      "tree": "a9ac9063eca53e4d0110e8086f55241ea70ba993",
      "parents": [
        "02b67cc3ba36bdba351d6c3a00593f4ec550d9d3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "message": "sched: high-res preemption tick\n\nUse HR-timers (when available) to deliver an accurate preemption tick.\n\nThe regular scheduler tick that runs at 1/HZ can be too coarse when nice\nlevel are used. The fairness system will still keep the cpu utilisation \u0027fair\u0027\nby then delaying the task that got an excessive amount of CPU time but try to\nminimize this by delivering preemption points spot-on.\n\nThe average frequency of this extra interrupt is sched_latency / nr_latency.\nWhich need not be higher than 1/HZ, its just that the distribution within the\nsched_latency period is important.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04c227140fed77587432667a574b14736a06dd7f",
      "tree": "56cc470fae9f0d78d499c9ab2ab526acb35440e4",
      "parents": [
        "d85714d81cc0408daddb68c10f7fd69eafe7c213"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Oct 15 16:06:04 2007 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 18 22:54:18 2007 +0200"
      },
      "message": "hrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier\n\nPull the copy_to_user out of hrtimer_nanosleep and into the callers\n(common_nsleep, sys_nanosleep) in preparation for converting\ncompat_sys_nanosleep to use hrtimers.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "c5c061b8f9726bc2c25e19dec227933a13d1e6b7",
      "tree": "e99f68f70df1a01dd383007895befd114a1da8c4",
      "parents": [
        "e0807061908a7a9441d0f745deb444f7216904cb"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Sun Jul 15 23:40:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "Add a flag to indicate deferrable timers in /proc/timer_stats\n\nAdd a flag in /proc/timer_stats to indicate deferrable timers.  This will\nlet developers/users to differentiate between types of tiemrs in\n/proc/timer_stats.\n\nDeferrable timer and normal timer will appear in /proc/timer_stats as below.\n  10D,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n   10,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n\nAlso version of timer_stats changes from v0.1 to v0.2\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "995f054f2a342f8505fed4f8395d12c0f5966414",
      "tree": "08ddf96e3365d2b0a9940914fdb179810fbca3a0",
      "parents": [
        "bbef618190fb484b28b7d441e6fc5d524027c4fa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 07 12:05:00 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Apr 07 10:03:43 2007 -0700"
      },
      "message": "[PATCH] high-res timers: resume fix\n\nSoeren Sonnenburg reported that upon resume he is getting\nthis backtrace:\n\n [\u003cc0119637\u003e] smp_apic_timer_interrupt+0x57/0x90\n [\u003cc0142d30\u003e] retrigger_next_event+0x0/0xb0\n [\u003cc0104d30\u003e] apic_timer_interrupt+0x28/0x30\n [\u003cc0142d30\u003e] retrigger_next_event+0x0/0xb0\n [\u003cc0140068\u003e] __kfifo_put+0x8/0x90\n [\u003cc0130fe5\u003e] on_each_cpu+0x35/0x60\n [\u003cc0143538\u003e] clock_was_set+0x18/0x20\n [\u003cc0135cdc\u003e] timekeeping_resume+0x7c/0xa0\n [\u003cc02aabe1\u003e] __sysdev_resume+0x11/0x80\n [\u003cc02ab0c7\u003e] sysdev_resume+0x47/0x80\n [\u003cc02b0b05\u003e] device_power_up+0x5/0x10\n\nit turns out that on resume we mistakenly re-enable interrupts too\nearly.  Do the timer retrigger only on the current CPU.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Soeren Sonnenburg \u003ckernel@nn7.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1d67174b42a02c7d106894df0ed155d595871f7",
      "tree": "9b5b8bebc36c0917ab9f146cb900beaf38f8d0a0",
      "parents": [
        "8437fdc7428eac363579bf0cce2526c35573735c"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@debian.org",
        "time": "Tue Mar 06 01:42:07 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:24 2007 -0800"
      },
      "message": "[PATCH] hrtimers: hrtimer_clock_base description typo\n\nThe description for the hrtimer_clock_base struct describes \"hrtimer_base\".\n That should be hrtimer_clock_base.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8437fdc7428eac363579bf0cce2526c35573735c",
      "tree": "a1ddfb89a6704be8af4677b60abbf742caf06efb",
      "parents": [
        "2272b0e03ea5731aca058eaf79c9955b36f0c083"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@debian.org",
        "time": "Tue Mar 06 01:42:06 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:24 2007 -0800"
      },
      "message": "[PATCH] hrtimers: fix HRTIMER_CB_IRQSAFE_NO_SOFTIRQ description\n\nThe description for HRTIMER_CB_IRQSAFE_NO_SOFTIRQ is backwards; \"NO\nSOFTIRQ\" sounds a whole lot like it means it must not be run in a softirq.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05fb6bf0b29552b64dc86f405a484de2514e0ac2",
      "tree": "cd3306512f98f73f7e846fc55b6e56aed4bfea61",
      "parents": [
        "328d24403d6a6b856722facd39d7b6ccb429353b"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Feb 28 20:12:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:37 2007 -0800"
      },
      "message": "[PATCH] kernel-doc fixes for 2.6.20-git15 (non-drivers)\n\nFix kernel-doc warnings in 2.6.20-git15 (lib/, mm/, kernel/, include/).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88ad0bf6890505cbd9ca1dbb79944a27b5c8697d",
      "tree": "e78711c47de9da92c8e4db8029f43542cecdf268",
      "parents": [
        "289f480af87e45f7a6de6ba9b4c061c2e259fe98"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 16 01:28:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] Add SysRq-Q to print timer_list debug info\n\nAdd SysRq-Q to print pending timers and other timer info.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82f67cd9fca8c8762c15ba7ed0d5747588c1e221",
      "tree": "1ff7e5cc496580b85bb42fb1d7b19dcbef7b7776",
      "parents": [
        "8bfd9a7a229b5f3d3eda5d7d45c2eebec5b4ba16"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 16 01:28:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] Add debugging feature /proc/timer_stat\n\nAdd /proc/timer_stats support: debugging feature to profile timer expiration.\nBoth the starting site, process/PID and the expiration function is captured.\nThis allows the quick identification of timer event sources in a system.\n\nSample output:\n\n# echo 1 \u003e /proc/timer_stats\n# cat /proc/timer_stats\nTimer Stats Version: v0.1\nSample period: 4.010 s\n  24,     0 swapper          hrtimer_stop_sched_tick (hrtimer_sched_tick)\n  11,     0 swapper          sk_reset_timer (tcp_delack_timer)\n   6,     0 swapper          hrtimer_stop_sched_tick (hrtimer_sched_tick)\n   2,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n  17,     0 swapper          hrtimer_restart_sched_tick (hrtimer_sched_tick)\n   2,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n   4,  2050 pcscd            do_nanosleep (hrtimer_wakeup)\n   5,  4179 sshd             sk_reset_timer (tcp_write_timer)\n   4,  2248 yum-updatesd     schedule_timeout (process_timeout)\n  18,     0 swapper          hrtimer_restart_sched_tick (hrtimer_sched_tick)\n   3,     0 swapper          sk_reset_timer (tcp_delack_timer)\n   1,     1 swapper          neigh_table_init_no_netlink (neigh_periodic_timer)\n   2,     1 swapper          e1000_up (e1000_watchdog)\n   1,     1 init             schedule_timeout (process_timeout)\n100 total events, 25.24 events/sec\n\n[ cleanups and hrtimers support from Thomas Gleixner \u003ctglx@linutronix.de\u003e ]\n[bunk@stusta.de: nr_entries can become static]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54cdfdb47f73b5af3d1ebb0f1e383efbe70fde9e",
      "tree": "e2f76277f6b7546e53c3a1d025e31bceb10bbff5",
      "parents": [
        "d40891e75fc1f646dce57d5d3bd1349a6aaf7a0e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] hrtimers: add high resolution timer support\n\nImplement high resolution timers on top of the hrtimers infrastructure and the\nclockevents / tick-management framework.  This provides accurate timers for\nall hrtimer subsystem users.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79bf2bb335b85db25d27421c798595a2fa2a0e82",
      "tree": "550ec2654ae1dd65b871de7fe9c890108c6e86d8",
      "parents": [
        "f8381cba04ba8173fd5a2b8e5cd8b3290ee13a98"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] tick-management: dyntick / highres functionality\n\nWith Ingo Molnar \u003cmingo@elte.hu\u003e\n\nAdd functions to provide dynamic ticks and high resolution timers.  The code\nwhich keeps track of jiffies and handles the long idle periods is shared\nbetween tick based and high resolution timer based dynticks.  The dyntick\nfunctionality can be disabled on the kernel commandline.  Provide also the\ninfrastructure to support high resolution timers.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d316c57ff6bfad9557462b9100f25c6260d2b774",
      "tree": "f77a04aab5c39c416f52ff5ac9396da5a6b93759",
      "parents": [
        "e05d723f98595b2f4d368f63636a997d98703304"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] clockevents: add core functionality\n\nArchitectures register their clock event devices, in the clock events core.\nUsers of the clockevents core can get clock event devices for their use.  The\nclockevents core code provides notification mechanisms for various clock\nrelated management events.\n\nThis allows to control the clock event devices without the architectures\nhaving to worry about the details of function assignment.  This is also a\npreliminary for high resolution timers and dynamic ticks to allow the core\ncode to control the clock functionality without intrusive changes to the\narchitecture code.\n\n[Fixes-by: Ingo Molnar \u003cmingo@elte.hu\u003e]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5cfb6de7cd7c8f04655c9d23533ca506647beace",
      "tree": "43a43dc7eb95d28befe233080b42a5aceeee5032",
      "parents": [
        "303e967ff90a9d19ad3f8c9028ccbfa7f408fbb3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:52 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:58 2007 -0800"
      },
      "message": "[PATCH] hrtimers: clean up callback tracking\n\nReintroduce ktimers feature \"optimized away\" by the ktimers review process:\nremove the curr_timer pointer from the cpu-base and use the hrtimer state.\n\nNo functional changes.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "303e967ff90a9d19ad3f8c9028ccbfa7f408fbb3",
      "tree": "cd8c057e98b57896ffbbe4d98a4264393a652204",
      "parents": [
        "3c8aa39d7c445ae2612b6b626f76f077e7a7ab0d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:58 2007 -0800"
      },
      "message": "[PATCH] hrtimers; add state tracking\n\nReintroduce ktimers feature \"optimized away\" by the ktimers review process:\nmultiple hrtimer states to enable the running of hrtimers without holding the\ncpu-base-lock.\n\n(The \"optimized\" rbtree hack carried only 2 states worth of information and we\nneed 4 for high resolution timers and dynamic ticks.)\n\nNo functional changes.\n\nBuild-fixes-from: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c8aa39d7c445ae2612b6b626f76f077e7a7ab0d",
      "tree": "8e07fc3dbddc0d5a8be3ecda491ec4410c90ed6b",
      "parents": [
        "c9cb2e3d7c9178ab75d0942f96abb3abe0369906"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:50 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:58 2007 -0800"
      },
      "message": "[PATCH] hrtimers: cleanup locking\n\nImprove kernel/hrtimers.c locking: use a per-CPU base with a lock to control\nlocking of all clocks belonging to a CPU.  This simplifies code that needs to\nlock all clocks at once.  This makes life easier for high-res timers and\ndyntick.\n\nNo functional changes.\n\n[ optimization change from Andrew Morton \u003cakpm@osdl.org\u003e ]\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9cb2e3d7c9178ab75d0942f96abb3abe0369906",
      "tree": "2d4a5470ece5efe82463653678c491c2f249d560",
      "parents": [
        "fd064b9b7770d5c7705bf9542950c7bd81c30f98"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:49 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:58 2007 -0800"
      },
      "message": "[PATCH] hrtimers: namespace and enum cleanup\n\n- hrtimers did not use the hrtimer_restart enum and relied on the implict\n  int representation. Fix the prototypes and the functions using the enums.\n- Use seperate name spaces for the enumerations\n- Convert hrtimer_restart macro to inline function\n- Add comments\n\nNo functional changes.\n\n[akpm@osdl.org: fix input driver]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "411187fb05cd11676b0979d9fbf3291db69dbce2",
      "tree": "6202ca36868ab47edf737de81c7b7c4841228ab3",
      "parents": [
        "9f907c0144496e464bd5ed5a99a51227d63a9c0b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Feb 16 01:27:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:57 2007 -0800"
      },
      "message": "[PATCH] GTOD: persistent clock support\n\nPersistent clock support: do proper timekeeping across suspend/resume.\n\n[bunk@stusta.de: cleanup]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1711ef3866b0360e102327389fe4b76c849bbe83",
      "tree": "b74a2cb6167840563d450859a571d6685966b771",
      "parents": [
        "9c4751fd0eab5b8ebbfafb28cbcc8e03b0da5933"
      ],
      "author": {
        "name": "Toyo Abe",
        "email": "toyoa@mvista.com",
        "time": "Fri Sep 29 02:00:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:15 2006 -0700"
      },
      "message": "[PATCH] posix-timers: Fix clock_nanosleep() doesn\u0027t return the remaining time in compatibility mode\n\nThe clock_nanosleep() function does not return the time remaining when the\nsleep is interrupted by a signal.\n\nThis patch creates a new call out, compat_clock_nanosleep_restart(), which\nhandles returning the remaining time after a sleep is interrupted.  This\npatch revives clock_nanosleep_restart().  It is now accessed via the new\ncall out.  The compat_clock_nanosleep_restart() is used for compatibility\naccess.\n\nSince this is implemented in compatibility mode the normal path is\nvirtually unaffected - no real performance impact.\n\nSigned-off-by: Toyo Abe \u003ctoyoa@mvista.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6dba28379edc08327ede01ff41bd3c9dd46a7fa0",
      "tree": "945418feebb2dcf4387ce86bf57a6c4f757e7b43",
      "parents": [
        "fc47e7b592dc45b03c27b0a4c8f2d215dae9944d"
      ],
      "author": {
        "name": "Henrik Kretzschmar",
        "email": "henne@nachtwindheim.de",
        "time": "Wed Sep 06 00:03:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 06 11:00:01 2006 -0700"
      },
      "message": "[PATCH] Documentation for lock_key in struct hrtimer_base\n\nFixes an error message on make xmldocs.\n\nSigned-off-by: Henrik Kretzschmar \u003chenne@nachtwindheim.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "543655244866b8ec648fea1eb9c32a35ffba5721",
      "tree": "7c1dd5b588e7b809648d75f680f2bfa5f94be782",
      "parents": [
        "fcb993712f231a4faea8393513d1276170679107"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:07 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate hrtimer base locks\n\nTeach special (recursive) locking code to the lock validator.  Has no effect\non non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa9799e33d362aeca4555cd6318735bab1c04d16",
      "tree": "3fbef83fe505f34950f4b30fb4158e2e599ce92f",
      "parents": [
        "9dc65576d67dc45e529062e41ca34066e02f03e5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sun Jun 25 05:49:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:23 2006 -0700"
      },
      "message": "[PATCH] ktime/hrtimer: fix kernel-doc comments\n\nFix kernel-doc formatting in ktime.h and hrtimer.[ch] files.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ed198cb49750fd9ec564e9f1df66c10efea605f1",
      "tree": "04b508f5455c6c49e8af89913974108b3e1a83b0",
      "parents": [
        "e977145aeaad23d443686f2a2d5b32800d1607c5"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Apr 22 02:38:50 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Apr 22 02:38:50 2006 +0100"
      },
      "message": "[RBTREE] Update hrtimers to use rb_parent() accessor macro.\n\nAlso switch it to use the same method of using off-tree nodes as\neveryone else now does -- set them to point to themselves.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "a580290c3e64bb695158a090d02d1232d9609311",
      "tree": "70f29239b9a206a9afb77ddff35fc47b5b248866",
      "parents": [
        "5d9428de1a9785f10a4339f80b717be665ba51c7"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun Apr 02 13:59:55 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Apr 02 13:59:55 2006 +0200"
      },
      "message": "Documentation: fix minor kernel-doc warnings\n\nThis patch updates the comments to match the actual code.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "00362e33f65f1cb5d15e62ea5509520ce2770360",
      "tree": "02694b1416f3d98c4eebaeca7864c7fd3bad6fa0",
      "parents": [
        "2bfb646cdf348cb77c572f06d5b9d17ea205c7e2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 31 02:31:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] hrtimer: create generic sleeper\n\nThe removal of the data field in the hrtimer structure enforces the\nembedding of the timer into another data structure.  nanosleep now uses a\nprivate implementation of the most common used timer callback function\n(simple task wakeup).\n\nIn order to avoid the reimplentation of such functionality all over the\nplace a generic hrtimer_sleeper functionality is created.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05cfb614ddbf3181540ce09d44d96486f8ba8d6a",
      "tree": "aafed98638557a4643141d906fbb2406f0764a94",
      "parents": [
        "df869b630d9d9131c10cf073fb61646048874b2f"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:03 2006 -0800"
      },
      "message": "[PATCH] hrtimers: remove data field\n\nThe nanosleep cleanup allows to remove the data field of hrtimer.  The\ncallback function can use container_of() to get it\u0027s own data.  Since the\nhrtimer structure is anyway embedded in other structures, this adds no\noverhead.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b75f7a51ca75c977d7d77f735d7a7859194eb39e",
      "tree": "c8057a34970f9a6fb04bdfa37e2926df38747790",
      "parents": [
        "432569bb9d9d424d7ffe5b21f8205c55bdd1aaa8"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:02 2006 -0800"
      },
      "message": "[PATCH] hrtimers: remove state field\n\nRemove the state field and encode this information in the rb_node similiar to\nnormal timer.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "432569bb9d9d424d7ffe5b21f8205c55bdd1aaa8",
      "tree": "da649d202625d061d4fca27a6a63c4f81076724e",
      "parents": [
        "3b98a5328171cebc867f70484b20bd34948cd7f6"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:02 2006 -0800"
      },
      "message": "[PATCH] hrtimers: simplify nanosleep\n\nnanosleep is the only user of the expired state, so let it manage this itself,\nwhich makes the hrtimer code a bit simpler.  The remaining time is also only\ncalculated if requested.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44f21475511bbc0135b52c66ad74dcc6a9026da3",
      "tree": "5cbd605c9d074f40b52a877859957432311b2399",
      "parents": [
        "92127c7a45d4d167d9b015a5f9de6b41ed66f1d0"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:02 2006 -0800"
      },
      "message": "[PATCH] hrtimers: pass current time to hrtimer_forward()\n\nPass current time to hrtimer_forward().  This allows to use the softirq time\nin the timer base when the forward function is called from the timer callback.\n Other places pass current time with a call to timer-\u003ebase-\u003eget_time().\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92127c7a45d4d167d9b015a5f9de6b41ed66f1d0",
      "tree": "4742cc36ff0b26c999365d1e84133886bb694096",
      "parents": [
        "a0e9285233a32edf267d27cd03fe0056951422cf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 26 01:38:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:02 2006 -0800"
      },
      "message": "[PATCH] hrtimers: optimize softirq runqueues\n\nThe hrtimer softirq is called from the timer softirq every tick.  Retrieve the\ncurrent time from xtime and wall_to_monotonic instead of calling\nbase-\u003eget_time() for each timer base.  Store the time in the base structure\nand provide a hook once clock source abstractions are in place and to keep the\ncode open for new base clocks.\n\nBased on a patch from: Roman Zippel \u003czippel@linux-m68k.org\u003e\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69239749e1ac4f3496906aa4267cb9f61ce52c9c",
      "tree": "c64bc2c254b7fa81b50b11c851fe5c86ecdd83c1",
      "parents": [
        "f7c09bd972b7111b8c69bf57a189571edd4d4a7d"
      ],
      "author": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Mon Mar 06 15:42:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 06 18:40:44 2006 -0800"
      },
      "message": "[PATCH] fix next_timer_interrupt() for hrtimer\n\nAlso from Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nFunction next_timer_interrupt() got broken with a recent patch\n6ba1b91213e81aa92b5cf7539f7d2a94ff54947c as sys_nanosleep() was moved to\nhrtimer.  This broke things as next_timer_interrupt() did not check hrtimer\ntree for next event.\n\nFunction next_timer_interrupt() is needed with dyntick (CONFIG_NO_IDLE_HZ,\nVST) implementations, as the system can be in idle when next hrtimer event\nwas supposed to happen.  At least ARM and S390 currently use\nnext_timer_interrupt().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7978672c4d9a1e6a6081de3a9d9ba5e5b24904a0",
      "tree": "a7deb3a6e339e691078c770d4b9cbc05d99a2243",
      "parents": [
        "ff60a5dc4fa584d47022d2533bc5c53b80096fb5"
      ],
      "author": {
        "name": "George Anzinger",
        "email": "george@wildturkeyranch.net",
        "time": "Wed Feb 01 03:05:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:13 2006 -0800"
      },
      "message": "[PATCH] hrtimers: cleanups and simplifications\n\nClean up the interface to hrtimers by changing the init code to pass the mode\nas well as the clock.  This allow the init code to select the correct base and\neliminates extra timer re-init code in posix-timers.  We also simplify the\nrestart interface nanosleep use.\n\nSigned-off-by: George Anzinger \u003cgeorge@mvista.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ff60a5dc4fa584d47022d2533bc5c53b80096fb5",
      "tree": "230e685e1cf26a9ade0e9446d87d41c503444be3",
      "parents": [
        "a16a1c095a2392d49fafea22f3a508e268ef7167"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Wed Feb 01 03:05:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:13 2006 -0800"
      },
      "message": "[PATCH] hrtimers: fix posix-timer requeue race\n\nFrom: Steven Rostedtrostedt@goodmis.org \u003crostedt@goodmis.org\u003e\n\nCPU0 expires a posix-timer and runs the callback function.  The signal is\nqueued.\n\nAfter releasing the posix-timer lock and before returning to hrtimer_run_queue\nCPU0 gets interrupted.  CPU1 delivers the queued signal and rearms the timer.\nCPU0 comes back to hrtimer_run_queue and sets the timer state to expired.\n\nThe next modification of the timer can result in an oops, because the state\ninformation is wrong.\n\nKeep track of state \u003d RUNNING and check if the state has been in the return\npath of hrtimer_run_queue.  In case the state has been changed, ignore a\nrestart request and do not touch the state variable.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c9db4fa11526affde83603fe52595bd1260c1354",
      "tree": "3064d71209b32569cfbd5dd0907fbe65bcf02d5e",
      "parents": [
        "e2787630c1abb075c935cf47e91beb7c656f48c4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:47:34 2006 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:47:34 2006 +0100"
      },
      "message": "[hrtimer] Enforce resolution as lower limit of intervals\n\nRoman Zippel pointed out that the missing lower limit of intervals\nleads to an accounting error in the overrun count. Enforce the lower\nlimit of intervals to resolution in the timer forwarding code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e2787630c1abb075c935cf47e91beb7c656f48c4",
      "tree": "43b6ee44b9f81fdb33283313f167d6ecec2b0243",
      "parents": [
        "288867ec5c377db82933b64460ce050e5c998ee9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:36:14 2006 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:36:14 2006 +0100"
      },
      "message": "[hrtimer] Change resolution storage to ktime_t format\n\nChange the storage format of the per base resolution to ktime_t to\nmake it easier accessible in the hrtimers code.\n\nChange the resolution from (NSEC_PER_SEC/HZ) to TICK_NSEC as Roman\npointed out. TICK_NSEC is closer to the real resolution.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "288867ec5c377db82933b64460ce050e5c998ee9",
      "tree": "d1c0c2e89cb7ffa2ac613e9b1740b81a813965a7",
      "parents": [
        "593195f9b2309693f27b402f34573f7920b82c3e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:25:54 2006 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:25:54 2006 +0100"
      },
      "message": "[hrtimer] Remove listhead from hrtimer struct\n\nThe list_head in the hrtimer structure was introduced for easy access\nto the first timer with the further extensions of real high resolution\ntimers in mind, but it turned out in the course of development that\nit is not necessary for the standard use case. Remove the list head\nand access the first expiry timer by a datafield in the timer base.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "becf8b5d00f4b47e847f98322cdaf8cd16243861",
      "tree": "152ba7583324c64d34ecc70d5401957ca7225761",
      "parents": [
        "97735f25d2ba898ec5e13746451525580631c834"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:39 2006 -0800"
      },
      "message": "[PATCH] hrtimer: convert posix timers completely\n\n- convert posix-timers.c to use hrtimers\n\n- remove the now obsolete abslist code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "10c94ec16dd187f8d8dfdbb088e98330c05bf03c",
      "tree": "d24036d92c24cea0c1cd163409177ecb735468e6",
      "parents": [
        "2ff678b8da6478d861c1b0ecb3ac14575760e906"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:38 2006 -0800"
      },
      "message": "[PATCH] hrtimer: create hrtimer nanosleep API\n\nintroduce the hrtimer_nanosleep() and hrtimer_nanosleep_real() APIs.  Not yet\nused by any code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0a3132963db68f1fbbd0e316b73de100fee3f08",
      "tree": "cdd76aacf0ca7ae7780696a06bf9643f8b245ba1",
      "parents": [
        "97fc79f97b1111c80010d34ee66312b88f531e41"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:37 2006 -0800"
      },
      "message": "[PATCH] hrtimer: hrtimer core code\n\nhrtimer subsystem core.  It is initialized at bootup and expired by the timer\ninterrupt, but is otherwise not utilized by any other subsystem yet.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
