)]}'
{
  "log": [
    {
      "commit": "63070a79ba482c274bad10ac8c4b587a3e011f2c",
      "tree": "1ecb5e104d343d3e533b2469c54e6a1bcb19a9ac",
      "parents": [
        "5a7780e725d1bb4c3094fcc12f1c5c5faea1e988"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 14 00:58:36 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 14 22:08:30 2008 +0100"
      },
      "message": "hrtimer: catch expired CLOCK_REALTIME timers early\n\nA CLOCK_REALTIME timer, which has an absolute expiry time less than\nthe clock realtime offset calls with a negative delta into the clock\nevents code and triggers the WARN_ON() there.\n\nThis is a false positive and needs to be prevented. Check the result\nof timer-\u003eexpires - timer-\u003ebase-\u003eoffset right away and return -ETIME\nright away.\n\nThanks to Frans Pop, who reported the problem and tested the fixes.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Frans Pop \u003celendil@planet.nl\u003e\n"
    },
    {
      "commit": "5a7780e725d1bb4c3094fcc12f1c5c5faea1e988",
      "tree": "50fc5cde427f3854d0b84ba1037fef3fb4693e11",
      "parents": [
        "e760e716d47b48caf98da348368fd41b4a9b9e7e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 13 09:20:43 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 14 22:08:30 2008 +0100"
      },
      "message": "hrtimer: check relative timeouts for overflow\n\nVarious user space callers ask for relative timeouts. While we fixed\nthat overflow issue in hrtimer_start(), the sites which convert\nrelative user space values to absolute timeouts themself were uncovered.\n\nInstead of putting overflow checks into each place add a function\nwhich does the sanity checking and convert all affected callers to use\nit.\n\nThanks to Frans Pop, who reported the problem and tested the fixes.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Frans Pop \u003celendil@planet.nl\u003e\n\n"
    },
    {
      "commit": "c289b074b66e2e59c65aba73f40b99e797e92d2f",
      "tree": "03ecf2381f33941e8d84e1d5b2d8e106109ea7da",
      "parents": [
        "416529374b4793ba2d2e97e736d108a2e0f3ef07"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 01 20:41:30 2008 +0300"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Feb 10 10:48:03 2008 +0100"
      },
      "message": "hrtimer: don\u0027t modify restart_block-\u003efn in restart functions\n\nhrtimer_nanosleep_restart() clears/restores restart_block-\u003efn. This is\npointless and complicates its usage. Note that if sys_restart_syscall()\ndoesn\u0027t actually happen, we have a bogus \"pending\" restart-\u003efn anyway,\nthis is harmless.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\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"
    },
    {
      "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": "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": "3588a085cd52ef080bf72df772378e1ba6bb292f",
      "tree": "9c013c37431eb3a0d0da3ab14cbc4985600e82a2",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Feb 01 17:45:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 01 17:45:13 2008 +0100"
      },
      "message": "hrtimer: fix hrtimer_init_sleeper() users\n\nthis patch:\n\n commit 37bb6cb4097e29ffee970065b74499cbf10603a3\n Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n Date:   Fri Jan 25 21:08:32 2008 +0100\n\n     hrtimer: unlock hrtimer_wakeup\n\nBroke hrtimer_init_sleeper() users. It forgot to fix up the futex\ncaller of this function to detect the failed queueing and messed up\nthe do_nanosleep() caller in that it could leak a TASK_INTERRUPTIBLE\nstate.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "37bb6cb4097e29ffee970065b74499cbf10603a3",
      "tree": "406de8e53a02244d9f8998bf5e583d3923b4e5c0",
      "parents": [
        "d3d74453c34f8fd87674a8cf5b8a327c68f22e99"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:32 2008 +0100"
      },
      "message": "hrtimer: unlock hrtimer_wakeup\n\nhrtimer_wakeup creates a\n\n  base-\u003elock\n    rq-\u003elock\n\nlock dependancy. Avoid this by switching to HRTIMER_CB_IRQSAFE_NO_SOFTIRQ\nwhich doesn\u0027t hold base-\u003elock.\n\nThis fully untangles hrtimer locks from the scheduler locks, and allows\nhrtimer usage in the scheduler proper.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "2d44ae4d7135b9aee26439b3523b43473381bc5f",
      "tree": "ba3afc0f03142d26f9238974dab5b99bf1dca1db",
      "parents": [
        "48d5e258216f1c7713633439beb98a38c7290649"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "message": "hrtimer: clean up cpu-\u003ebase locking tricks\n\nIn order to more easily allow for the scheduler to use timers, clean up\nthe locking a bit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0ec160dd48b666ddef39d639323d0da26d0b710d",
      "tree": "545841f7e8c7b9ac7ce932ea7d0d830f400185c3",
      "parents": [
        "a5569a565f7315fe7241cf963f2cc74e53871e11"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Jan 21 17:18:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jan 21 19:39:41 2008 -0800"
      },
      "message": "hrtimer: fix section mismatch\n\nFix section mismatch in hrtimer.c:\n\nWARNING: vmlinux.o(.text+0x50c61): Section mismatch: reference to .init.text: (between \u0027hrtimer_cpu_notify\u0027 and \u0027down_read_trylock\u0027)\n\nNoticed by Johannes Berg and confirmed by Sam Ravnborg.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@akpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62f0f61e6673e67151a7c8c0f9a09c7ea43fe2b5",
      "tree": "c41cc826e53b7ce726e6f343a0ab72ad7e058ca4",
      "parents": [
        "f194d132e4971111f85c18c96067acffb13cee6d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 07 19:16:17 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 07 19:16:17 2007 +0100"
      },
      "message": "hrtimers: avoid overflow for large relative timeouts\n\nRelative hrtimers with a large timeout value might end up as negative\ntimer values, when the current time is added in hrtimer_start().\n\nThis in turn is causing the clockevents_set_next() function to set an\nhuge timeout and sleep for quite a long time when we have a clock\nsource which is capable of long sleeps like HPET. With PIT this almost\ngoes unnoticed as the maximum delta is ~27ms. The non-hrt/nohz code\nsorts this out in the next timer interrupt, so we never noticed that\nproblem which has been there since the first day of hrtimers.\n\nThis bug became more apparent in 2.6.24 which activates HPET on more\nhardware.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "edfed66e17854c312e81a2218f9b0592a555c9a3",
      "tree": "2d5ec7a18aaa06ca2641a02c33df82567750a15a",
      "parents": [
        "129f1d2c5352eea3f7c8af9f8c1006dc0da7be52"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Mon Oct 29 16:35:29 2007 +1100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 29 09:39:38 2007 +0100"
      },
      "message": "Quieten hrtimer printk: \"Switched to high resolution mode ..\"\n\nChange the hrtimer printk \"Switched to high resolution mode ..\" to\nbe KERN_DEBUG, rather than KERN_INFO. If users need to see this they\ncan pass \"loglevel\" or \"debug\" on the command line, or check dmesg.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n kernel/hrtimer.c |    2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\n"
    },
    {
      "commit": "6506f2aa6670da9970ca13daccd466ad7ce2cd29",
      "tree": "abed3b46b557124167e69b0a2bdb58ecf758f789",
      "parents": [
        "4a739d55c21298639df2ddeab332b8afef125ebc"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@informatik.uni-freiburg.de",
        "time": "Sat Oct 20 01:56:53 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 01:56:53 2007 +0200"
      },
      "message": "fix comment: unlock_hrtimer_base is the counterpart of lock_hrtimer_base\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@informatik.uni-freiburg.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "3a4fa0a25da81600ea0bcd75692ae8ca6050d165",
      "tree": "a4de1662e645c029cf3cf58f0646cbb1959861dc",
      "parents": [
        "18735dd8d2d37031b97f9e9e106acbaed01eb896"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Fri Oct 19 23:10:43 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:10:43 2007 +0200"
      },
      "message": "Fix misspellings of \"system\", \"controller\", \"interrupt\" and \"necessary\".\n\nFix the various misspellings of \"system\", controller\", \"interrupt\" and\n\"[un]necessary\".\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\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": "a272378d1128d1c60a463a315646c86d174ff74c",
      "tree": "f583426e350d48b216f1e09adcc01522bcc8adc9",
      "parents": [
        "e7a81c6d62cbefdeb23d92ad891f429bde1c49d2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:16:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:12 2007 -0700"
      },
      "message": "[KTIME]: Introduce ktime_sub_ns and ktime_sub_us\n\nFirst user will be the DCCP transport networking protocol.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17c38b7490b3f0300c7812aefdae2ddda7ab4112",
      "tree": "0f7a9ee0c691aef3497030e38c3ba8e3c13a985c",
      "parents": [
        "2c6b47de17c75d553de3e2fb426d8298d2074585"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 24 18:38:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 25 10:17:44 2007 -0700"
      },
      "message": "Cache xtime every call to update_wall_time\n\nThis avoids xtime lag seen with dynticks, because while \u0027xtime\u0027 itself\nis still not updated often, we keep a \u0027xtime_cache\u0027 variable around that\ncontains the approximate real-time that _is_ updated each time we do a\n\u0027update_wall_time()\u0027, and is thus never off by more than one tick.\n\nIOW, this restores the original semantics for \u0027xtime\u0027 users, as long as\nyou use the proper abstraction functions (ie \u0027current_kernel_time()\u0027 or\n\u0027get_seconds()\u0027 depending on whether you want a timespec or just the\nseconds field).\n\n[ Updated Patch.  As penance for my sins I\u0027ve also yanked another #ifdef\n  that was added to avoid the xtime lag w/ hrtimers.  ]\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c6b47de17c75d553de3e2fb426d8298d2074585",
      "tree": "c8edc3d727d85cb3e1c043583c350a04a133e1a3",
      "parents": [
        "0de085bb474f64e4fdb2f1ff3268590792648c7b"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 24 17:47:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 25 10:09:20 2007 -0700"
      },
      "message": "Cleanup non-arch xtime uses, use get_seconds() or current_kernel_time().\n\nThis avoids use of the kernel-internal \"xtime\" variable directly outside\nof the actual time-related functions.  Instead, use the helper functions\nthat we already have available to us.\n\nThis doesn\u0027t actually change any behaviour, but this will allow us to\nfix the fact that \"xtime\" isn\u0027t updated very often with CONFIG_NO_HZ\n(because much of the realtime information is maintained as separate\noffsets to \u0027xtime\u0027), which has caused interfaces that use xtime directly\nto get a time that is out of sync with the real-time clock by up to a\nthird of a second or so.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99bc2fcb283852931fb6bbef40f3df8316b59000",
      "tree": "98419250c75a78578cdf32391fa03b013d635056",
      "parents": [
        "820de5c39ef7f6866d2c9e6c7d208bcd2a6e1942"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 21 04:37:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:15 2007 -0700"
      },
      "message": "hrtimer: speedup hrtimer_enqueue\n\nSpeedup hrtimer_enqueue by evaluating the rbtree insertion result.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "820de5c39ef7f6866d2c9e6c7d208bcd2a6e1942",
      "tree": "be28af991bb9fa26ece3ffb44b01c7038aa70fa4",
      "parents": [
        "3704540b48295253bd9c87a5e7ff545f9d47a3b8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 21 04:37:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:15 2007 -0700"
      },
      "message": "highres: improve debug output\n\nAdd some more debug information to the hrtimer and clock events code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7713a7d195c2e11d7ba6a973317da0af862d1264",
      "tree": "6ce86caeb0ae68b39e62fbf40591ec5bc22150e1",
      "parents": [
        "29417b899a77aaba1c060f5e123db4f50006f58a"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 16 17:17:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 17:29:56 2007 -0700"
      },
      "message": "[HRTIMER] Fix cpu pointer arg to clockevents_notify()\n\nAll of the clockevent notifiers expect a pointer to\nan \"unsigned int\" cpu argument, but hrtimer_cpu_notify()\npasses in a pointer to a long.\n\n[ Discussed with and ok by Thomas Gleixner ]\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bb7844286fb8c9fce6f65d8288aeb09d03a5e0d",
      "tree": "f4e305edaedbde05774bb1e4acd89a9475661d2e",
      "parents": [
        "f37bc2712b54ec641e0c0c8634f1a4b61d9956c0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 09 02:35:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Add suspend-related notifications for CPU hotplug\n\nSince nonboot CPUs are now disabled after tasks and devices have been\nfrozen and the CPU hotplug infrastructure is used for this purpose, we need\nspecial CPU hotplug notifications that will help the CPU-hotplug-aware\nsubsystems distinguish normal CPU hotplug events from CPU hotplug events\nrelated to a system-wide suspend or resume operation in progress.  This\npatch introduces such notifications and causes them to be used during\nsuspend and resume transitions.  It also changes all of the\nCPU-hotplug-aware subsystems to take these notifications into consideration\n(for now they are handled in the same way as the corresponding \"normal\"\nones).\n\n[oleg@tv-sign.ru: cleanups]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6bdb6b620e335d38ced8d5981e8f44778225c1d8",
      "tree": "ef0b4ae38124f2d727bcefb3d60388f4c1e03437",
      "parents": [
        "b140f25108a8b11aa4903014814988549838b324"
      ],
      "author": {
        "name": "Stas Sergeev",
        "email": "stsp@aknet.ru",
        "time": "Tue May 08 00:31:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:15 2007 -0700"
      },
      "message": "export hrtimer_forward\n\nOther symbols of the hrtimers API are already exported.\n\nSigned-off-by: Stas Sergeev \u003cstsp@aknet.ru\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8b8fd2dc23725fba77f66b3fef11b11f983fc08",
      "tree": "2672274acf707cabaa490980db8e429de0b3b1c8",
      "parents": [
        "b1bdb691c3c38b4fbaf99fa8474f5cfa99b2d774"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 27 15:31:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 27 15:31:24 2007 -0700"
      },
      "message": "[NET]: Fix networking compilation errors\n\nFix miscellaneous networking compilation errors.\n\n (*) Export ktime_add_ns() for modules.\n\n (*) wext_proc_init() should have an ANSI declaration.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "641b9e0e8b7f96425da6ce98f3361e3af0baee29",
      "tree": "2315fed3b4fd9df52a52464b9b1ce1561d403a87",
      "parents": [
        "ddc7b8e32b22fe8b45d306b7d99472d4b560add6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 16 01:18:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:04 2007 -0700"
      },
      "message": "[NET_SCHED]: Use ktime as clocksource\n\nGet rid of the manual clock source selection mess and use ktime. Also\nuse a scalar representation, which allows to clean up pkt_sched.h a bit\nmore and results in less ktime_to_ns() calls in most cases.\n\nThe PSCHED_US2JIFFIE/PSCHED_JIFFIE2US macros are implemented quite\ninefficient by this patch, following patches will convert all qdiscs\nto hrtimers and get rid of them entirely.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "935c631db827cc3a96df4dcc6fec374b994fdbd1",
      "tree": "3f995412e5be1a6180b37dde4e7e8cfeb2bc8665",
      "parents": [
        "de326dbe0c8b61b81aab32970236ee9ee47d782a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 28 13:17:18 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Mar 28 13:44:31 2007 -0700"
      },
      "message": "[PATCH] hrtimers: fix reprogramming SMP race\n\nhrtimer_start() incorrectly set the \u0027reprogram\u0027 flag to enqueue_hrtimer(),\nwhich should only be 1 if the hrtimer is queued to the current CPU.\n\nDoing otherwise could result in a reprogramming of the current CPU\u0027s\nclockevents device, with a timer that is not queued to it - resulting in a\nbogus next expiry value.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Michal Piotrowski \u003cmichal.k.k.piotrowski@gmail.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad28d94abb1313bdf27e196676292c493f92f824",
      "tree": "447f451b04b548c1e0bdc700f0697baf742895c5",
      "parents": [
        "c6ca97d26a7efe9488174336bc67fdaea01aad49"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 16 13:38:21 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:25:05 2007 -0700"
      },
      "message": "[PATCH] hrtimer: fix up unlocked access to wall_to_monotonic\n\ncommit f4304ab21513b834c8fe3403927c60c2b81a72d7 (HZ free NTP) moved the\naccess to wall_to_monotonic in hrtimer_get_softirq_time() out of the\nxtime_lock protection.\n\nMove it back into the seq_lock section.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13788ccc41ceea5893f9c747c59bc0b28f2416c2",
      "tree": "34cc13deaf8e7209def55edfad1912f308bf8c0d",
      "parents": [
        "d8ad7e0b84bde480d295ef1e0381c0c6050f57b3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 16 13:38:20 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:25:05 2007 -0700"
      },
      "message": "[PATCH] hrtimer: prevent overrun DoS in hrtimer_forward()\n\nhrtimer_forward() does not check for the possible overflow of\ntimer-\u003eexpires.  This can happen on 64 bit machines with large interval\nvalues and results currently in an endless loop in the softirq because the\nexpiry value becomes negative and therefor the timer is expired all the\ntime.\n\nCheck for this condition and set the expiry value to the max.  expiry time\nin the future.  The fix should be applied to stable kernel series as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8953856eb8dd62232aee6cacb46993dc2ac4869",
      "tree": "ef8b7fd1b215b273b1cf5aca5dd3d7c02a497490",
      "parents": [
        "d1d67174b42a02c7d106894df0ed155d595871f7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 06 01:42:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:25 2007 -0800"
      },
      "message": "[PATCH] highres: do not run the TIMER_SOFTIRQ after switching to highres mode\n\nThe TIMER_SOFTIRQ runs the hrtimers during bootup until a usable\nclocksource and clock event sources are registered.  The switch to high\nresolution mode happens inside of the TIMER_SOFTIRQ, but runs the softirq\nafterwards.  That way the tick emulation timer, which was set up in the\nswitch to highres might be executed in the softirq context, which is a BUG.\n The rbtree has not to be touched by the softirq after the highres switch.\n\nThis BUG was observed by Andres Salomon, who provided the information to\ndebug it.\n\nReturn early from the softirq, when the switch was sucessful.\n\n[dilinger@debian.org: add debug warning]\n[akpm@linux-foundation.org: make debug warning compile]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e81ce1f7ecdaed2844c75313b09af791d44e6373",
      "tree": "49e70223f9ca808c6c7fed5cf7ce00125ccca84a",
      "parents": [
        "6bb74df481223731af6c7e0ff3adb31f6442cfcd"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Mar 05 00:30:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 05 07:57:53 2007 -0800"
      },
      "message": "[PATCH] timer/hrtimer: take per cpu locks in sane order\n\nDoing something like this on a two cpu system\n\n  # echo 0 \u003e /sys/devices/system/cpu/cpu0/online\n  # echo 1 \u003e /sys/devices/system/cpu/cpu0/online\n  # echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n\nwill give me this:\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: possible circular locking dependency detected ]\n  2.6.21-rc2-g562aa1d4-dirty #7\n  -------------------------------------------------------\n  bash/1282 is trying to acquire lock:\n   (\u0026cpu_base-\u003elock_key){.+..}, at: [\u003c000000000005f17e\u003e] hrtimer_cpu_notify+0xc6/0x240\n\n  but task is already holding lock:\n   (\u0026cpu_base-\u003elock_key#2){.+..}, at: [\u003c000000000005f174\u003e] hrtimer_cpu_notify+0xbc/0x240\n\n  which lock already depends on the new lock.\n\nThis happens because we have the following code in kernel/hrtimer.c:\n\n  migrate_hrtimers(int cpu)\n  [...]\n  old_base \u003d \u0026per_cpu(hrtimer_bases, cpu);\n  new_base \u003d \u0026get_cpu_var(hrtimer_bases);\n  [...]\n  spin_lock(\u0026new_base-\u003elock);\n  spin_lock(\u0026old_base-\u003elock);\n\nWhich means the spinlocks are taken in an order which depends on which cpu\ngets shut down from which other cpu. Therefore lockdep complains that there\nmight be an ABBA deadlock. Since migrate_hrtimers() gets only called on\ncpu hotplug it\u0027s safe to assume that it isn\u0027t executed concurrently on a\n\nThe same problem exists in kernel/timer.c: migrate_timers().\n\nAs pointed out by Christian Borntraeger one possible solution to avoid\nthe locking order complaints would be to make sure that the locks are\nalways taken in the same order. E.g. by taking the lock of the cpu with\nthe lower number first.\n\nTo achieve this we introduce two new spinlock functions double_spin_lock\nand double_spin_unlock which lock or unlock two locks in a given order.\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Christian Borntraeger \u003ccborntra@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.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": "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": "fd064b9b7770d5c7705bf9542950c7bd81c30f98",
      "tree": "8b14c81f983e49b5553fd6764139bffb1d4f1648",
      "parents": [
        "1cfd68496e53f7be09a3c1358d1d389004217541"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:58 2007 -0800"
      },
      "message": "[PATCH] Extend next_timer_interrupt() to use a reference jiffie\n\nFor CONFIG_NO_HZ we need to calculate the next timer wheel event based on a\ngiven jiffie value.  Extend the existing code to allow the extra \u0027now\u0027\nargument.  Provide a compability function for the existing implementations to\ncall the function with now \u003d\u003d jiffies.  (This also solves the racyness of the\noriginal code vs.  jiffies changing during the iteration.)\n\nNo functional changes to existing users of this infrastructure.\n\n[ remove WARN_ON() that triggered on s390, by Carsten Otte \u003ccotte@de.ibm.com\u003e ]\n[ made new helper static, Adrian Bunk \u003cbunk@stusta.de\u003e ]\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": "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": "f4304ab21513b834c8fe3403927c60c2b81a72d7",
      "tree": "212c8fa327d9cf3f29cccf172f0707a3eb6524f8",
      "parents": [
        "771ee3b04eaac6184312825eb600b4c598f027a5"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Feb 16 01:27:26 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:56 2007 -0800"
      },
      "message": "[PATCH] HZ free ntp\n\nDistangle the NTP update from HZ.  This is necessary for dynamic tick enabled\nkernels.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: 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": "72fd4a35a824331d7a0f4168d7576502d95d34b3",
      "tree": "be27880bc36b7f62e8044a88b8744a35c5317714",
      "parents": [
        "262086cf5b5343c2b81c97b1c606058e921859df"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:32 2007 -0800"
      },
      "message": "[PATCH] Numerous fixes to kernel-doc info in source files.\n\nA variety of (mostly) innocuous fixes to the embedded kernel-doc content in\nsource files, including:\n\n  * make multi-line initial descriptions single line\n  * denote some function names, constants and structs as such\n  * change erroneous opening \u0027/*\u0027 to \u0027/**\u0027 in a few places\n  * reword some text for clarity\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\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": "3773dc92055f219c2f2403f9de774b8ad41a9214",
      "tree": "621406999c6bafdf635a8425be2e67ba8e894e22",
      "parents": [
        "95f8797f42b058333d1e6f0d1dcd8edf5dc6c244"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Sun Aug 13 23:24:19 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 14 12:54:28 2006 -0700"
      },
      "message": "[PATCH] fix hrtimer percpu usage typo\n\nThe percpu variable is used incorrectly in switch_hrtimer_base().\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8c78f3075dab4be279e283f901f00e33ce44890a",
      "tree": "034d667a713b24d39608b09bd2aafb7983fb6ba5",
      "parents": [
        "cea6a4ba8acfba6f59cc9ed71e0d05cb770b9d9c"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Sun Jul 30 03:03:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:39 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: replace __devinit* with __cpuinit* for cpu notifications\n\nFew of the callback functions and notifier blocks that are associated with cpu\nnotifications incorrectly have __devinit and __devinitdata.  They should be\n__cpuinit and __cpuinitdata instead.\n\nIt makes no functional difference but wastes text area when CONFIG_HOTPLUG is\nenabled and CONFIG_HOTPLUG_CPU is not.\n\nThis patch fixes all those instances.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36c8b586896f60cb91a4fd526233190b34316baf",
      "tree": "003246e1e676de33703daa979b3e3109ca202a89",
      "parents": [
        "48f24c4da1ee7f3f22289cb85e8b8a73e4df4db5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:11 2006 -0700"
      },
      "message": "[PATCH] sched: cleanup, remove task_t, convert to struct task_struct\n\ncleanup: remove task_t and convert all the uses to struct task_struct. I\nintroduced it for the scheduler anno and it was a mistake.\n\nConversion was mostly scripted, the result was reviewed and all\nsecondary whitespace and style impact (if any) was fixed up by hand.\n\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": "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": "054cc8a2d808822dadf488a61729e3e550f114c4",
      "tree": "da7e5ecce06d1898263da9b47714b0b0fa972397",
      "parents": [
        "9c7b216d23e820e0e148d5be01bbb5bd2d8378fe"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:41 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: revert initdata patch submitted for 2.6.17\n\nThis patch reverts notifier_block changes made in 2.6.17\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c7b216d23e820e0e148d5be01bbb5bd2d8378fe",
      "tree": "53e6c1e4870db49b4999b4053862d3f63375773f",
      "parents": [
        "6ac12dfe9c2027cd3c5ed603f11d1bb4f04906fe"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Tue Jun 27 02:54:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:40 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: revert init patch submitted for 2.6.17\n\nIn 2.6.17, there was a problem with cpu_notifiers and XFS.  I provided a\nband-aid solution to solve that problem.  In the process, i undid all the\nchanges you both were making to ensure that these notifiers were available\nonly at init time (unless CONFIG_HOTPLUG_CPU is defined).\n\nWe deferred the real fix to 2.6.18.  Here is a set of patches that fixes the\nXFS problem cleanly and makes the cpu notifiers available only at init time\n(unless CONFIG_HOTPLUG_CPU is defined).\n\nIf CONFIG_HOTPLUG_CPU is defined then cpu notifiers are available at run\ntime.\n\nThis patch reverts the notifier_call changes made in 2.6.17\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@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": "bfe5d834195b3089b8846577311340376cc0f450",
      "tree": "52470de0fe87ff8372700e3472735cd5c14cee9d",
      "parents": [
        "6ceab8a936c302c0cea2bfe55617c76e2f5746fa"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Jun 25 05:47:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] Define __raw_get_cpu_var and use it\n\nThere are several instances of per_cpu(foo, raw_smp_processor_id()), which\nis semantically equivalent to __get_cpu_var(foo) but without the warning\nthat smp_processor_id() can give if CONFIG_DEBUG_PREEMPT is enabled.  For\nthose architectures with optimized per-cpu implementations, namely ia64,\npowerpc, s390, sparc64 and x86_64, per_cpu() turns into more and slower\ncode than __get_cpu_var(), so it would be preferable to use __get_cpu_var\non those platforms.\n\nThis defines a __raw_get_cpu_var(x) macro which turns into per_cpu(x,\nraw_smp_processor_id()) on architectures that use the generic per-cpu\nimplementation, and turns into __get_cpu_var(x) on the architectures that\nhave an optimized per-cpu implementation.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2edc322d420a4cec8dbc184a1220ecd7fa9f8ae6",
      "tree": "e7be2cf442626316b6b6fb212960fe1f77ff2725",
      "parents": [
        "be967b7e2f7747a5ebf2a07ee627d9338491e784",
        "2f3243aebd8df4d9eecaeca04bbff6c7dbfb2142"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 14:51:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 14:51:22 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/rbtree-2.6\n\n* git://git.infradead.org/~dwmw2/rbtree-2.6:\n  [RBTREE] Switch rb_colour() et al to en_US spelling of \u0027color\u0027 for consistency\n  Update UML kernel/physmem.c to use rb_parent() accessor macro\n  [RBTREE] Update hrtimers to use rb_parent() accessor macro.\n  [RBTREE] Add explicit alignment to sizeof(long) for struct rb_node.\n  [RBTREE] Merge colour and parent fields of struct rb_node.\n  [RBTREE] Remove dead code in rb_erase()\n  [RBTREE] Update JFFS2 to use rb_parent() accessor macro.\n  [RBTREE] Update eventpoll.c to use rb_parent() accessor macro.\n  [RBTREE] Update key.c to use rb_parent() accessor macro.\n  [RBTREE] Update ext3 to use rb_parent() accessor macro.\n  [RBTREE] Change rbtree off-tree marking in I/O schedulers.\n  [RBTREE] Add accessor macros for colour and parent fields of rb_node\n"
    },
    {
      "commit": "8d16b76421f0b3216012ee2d7819355e1cb847e5",
      "tree": "a2e82e62bfcf5ea0f58b17faadc4504ec6dfc933",
      "parents": [
        "760f1fce030ccc620ec430a8aff8fc604e7891ed"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue May 30 21:26:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed May 31 16:27:11 2006 -0700"
      },
      "message": "[PATCH] hrtimer: export symbols\n\nFrom: Stephen Hemminger \u003cshemminger@osdl.org\u003e\n\nI want to use the hrtimer\u0027s in the netem (Network Emulator) qdisc.  But the\nnecessary symbols aren\u0027t exported for module use.\n\nAlso needed by SystemTap.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"Stone, Joshua I\" \u003cjoshua.i.stone@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83d722f7e198b034699b1500d98729beff930efd",
      "tree": "7d790a2fd62165373ec7bacde704837288e0bec3",
      "parents": [
        "649bbaa484bcdce94f40a1b97a6a2ded0549e8a2"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Mon Apr 24 19:35:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 08:30:03 2006 -0700"
      },
      "message": "[PATCH] Remove __devinit and __cpuinit from notifier_call definitions\n\nFew of the notifier_chain_register() callers use __init in the definition\nof notifier_call.  It is incorrect as the function definition should be\navailable after the initializations (they do not unregister them during\ninitializations).\n\nThis patch fixes all such usages to _not_ have the notifier_call __init\nsection.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "649bbaa484bcdce94f40a1b97a6a2ded0549e8a2",
      "tree": "f24f05bf95ae9c4164266da87f36fed61c5c2206",
      "parents": [
        "e7edf9cdeddc0cff125e8e658216efb2ff2b2219"
      ],
      "author": {
        "name": "Chandra Seetharaman",
        "email": "sekharan@us.ibm.com",
        "time": "Mon Apr 24 19:35:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Apr 26 08:27:50 2006 -0700"
      },
      "message": "[PATCH] Remove __devinitdata from notifier block definitions\n\nFew of the notifier_chain_register() callers use __devinitdata in the\ndefinition of notifier_block data structure.  It is incorrect as the\ndata structure should be available after the initializations (they do\nnot unregister them during initializations).\n\nThis was leading to an oops when notifier_chain_register() call is\ninvoked for those callback chains after initialization.\n\nThis patch fixes all such usages to _not_ have the notifier_block data\nstructure in the init data section.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\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": "5ef37b196467bf2f9d41e5579dd388c08b800f7c",
      "tree": "ea1ea6e4c0f7b34b917fa52948e4939fa4e3eaf1",
      "parents": [
        "2395140ee2bffe38b1c8a59318f62882b797f5e6"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Mon Apr 10 22:54:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:42 2006 -0700"
      },
      "message": "[PATCH] add cpu_relax to hrtimer_cancel\n\nAdd a cpu_relax() to the hand-coded spinwait in hrtimer_cancel().\n\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\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": "3055addadbe9bfb2365006a1c13fd342a8d30d52",
      "tree": "0efcbd4a4e1d129beeb2dee3649951bea0462052",
      "parents": [
        "669d7868ae414cdb7b7e5df375dc8e4b47f26f6d"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Fri Mar 31 02:31:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] hrtimer: call get_softirq_time() only when necessary in run_hrtimer_queue()\n\nIt seems that run_hrtimer_queue() is calling get_softirq_time() more\noften than it needs to.\n\nWith this patch, it only calls get_softirq_time() if there\u0027s a\npending timer.\n\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.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": "669d7868ae414cdb7b7e5df375dc8e4b47f26f6d",
      "tree": "0c78ee0833e10d10a5d2f9fa9b9fe7f71fda6eb7",
      "parents": [
        "00362e33f65f1cb5d15e62ea5509520ce2770360"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 31 02:31:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] hrtimer: use generic sleeper for nanosleep\n\nReplace the nanosleep private sleeper functionality by the generic hrtimer\nsleeper.\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": "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": "df869b630d9d9131c10cf073fb61646048874b2f",
      "tree": "37e38f934e4505ddf23569227865f47facff64e8",
      "parents": [
        "272705c5979c114e63dbfcd28ea15093038a4c42"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:03 2006 -0800"
      },
      "message": "[PATCH] hrtimers: remove nsec_t typedef\n\nnsec_t predates ktime_t and has mostly been superseded by it.  In the few\nplaces that are left it\u0027s better to make it explicit that we\u0027re dealing with\n64 bit values here.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\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": "06027bdd278a32a84b273e41db68a5db8ffd2bb6",
      "tree": "d22c98848c3964104fc5c617da60c14af5b4a1f0",
      "parents": [
        "e35a6619e7be59aa38249346327c89207663bb37"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 14 13:53:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 14 16:09:35 2006 -0800"
      },
      "message": "[PATCH] hrtimer: round up relative start time on low-res arches\n\nCONFIG_TIME_LOW_RES is a temporary way for architectures to signal that\nthey simply return xtime in do_gettimeoffset().  In this corner-case we\nwant to round up by resolution when starting a relative timer, to avoid\nshort timeouts.  This will go away with the GTOD framework.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: 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": "66188fae3bf7f8dd951e2291d2a81888ed1b65de",
      "tree": "e07737a7064e1d10e5d9a8f28c35de600f79440f",
      "parents": [
        "7978672c4d9a1e6a6081de3a9d9ba5e5b24904a0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 01 03:05:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:13 2006 -0800"
      },
      "message": "[PATCH] hrtimers: add back lost credit lines\n\nAt some point we added credits to people who actively helped to bring\nk/hr-timers along.  This was lost in the big code revamp.  Add it back.\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": "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": "ea13dbc89caecd982500894d4238766a6bd3c8f4",
      "tree": "80b6c17a1389cbab83e13d4f5d6034a756a0e798",
      "parents": [
        "d669af9d5afb5bdb629f78d024b35e507465f570"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 16 10:59:41 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:21:12 2006 -0800"
      },
      "message": "[PATCH] kernel/hrtimer.c sparse warning fix\n\nfix the following sparse warning:\n\n kernel/hrtimer.c:665:34: warning: incorrect type in argument 2 (different address spaces)\n kernel/hrtimer.c:665:34:    expected void const *from\n kernel/hrtimer.c:665:34:    got struct timespec [noderef] *\u003cnoident\u003e\u003casn:1\u003e\n kernel/hrtimer.c:664:2: warning: dereference of noderef expression\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8dca6f33f026dc8a7fc2710b78a7521e899bd611",
      "tree": "cc3ee51f9b217269c36241feceb9504613dd4ab7",
      "parents": [
        "9bd5674c4aa3d430d61a578eaecd85104176f150"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jan 16 15:58:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 20:27:03 2006 -0800"
      },
      "message": "[PATCH] hrtimer comment tweak\n\nFix a comment which missed an update cycle somewhere.\n\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\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": "69778e325c3007c8c8a653fcee2c298ffe071fd4",
      "tree": "8ed3d8f9ac20449ea01a161539ceddb72deb4d78",
      "parents": [
        "becf8b5d00f4b47e847f98322cdaf8cd16243861"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Mon Jan 09 20:52:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:39 2006 -0800"
      },
      "message": "[PATCH] Export ktime_get_ts()\n\nThis series removes the getnstimestamp() function from kernel/time.c in favor\nof kernel/hrtimer.c\u0027s ktime_get_ts() function which currently does exactly the\nsame thing: retrieves a high-resolution (ns) timespec structure and performs\nthe wall_to_monotonic adjustment.\n\nThis patch:\n\nExport ktime_get_ts() to be used as a timestamp function since it uses\ngetnstimefoday() and does the wall_to_monotonic adjustment.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ba1b91213e81aa92b5cf7539f7d2a94ff54947c",
      "tree": "0d461bf7c7f444a80d09f09501e9fb378a78220f",
      "parents": [
        "10c94ec16dd187f8d8dfdbb088e98330c05bf03c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:38 2006 -0800"
      },
      "message": "[PATCH] hrtimer: switch sys_nanosleep to hrtimer\n\nconvert sys_nanosleep() to use hrtimer_nanosleep()\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": "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"
    }
  ]
}
