)]}'
{
  "log": [
    {
      "commit": "351b3f7a21e413a9b14d0393171497d2373bd702",
      "tree": "8a733b28c37504a0c6d22e64af1e9f7cfc72a40f",
      "parents": [
        "3bbb9ec946428b96657126768f65487a48dd090c"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "C.Emde@osadl.org",
        "time": "Fri Apr 02 22:40:19 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 06 21:50:03 2010 +0200"
      },
      "message": "hrtimers: Provide schedule_hrtimeout for CLOCK_REALTIME\n\nThe current version of schedule_hrtimeout() always uses the\nmonotonic clock. Some system calls such as mq_timedsend()\nand mq_timedreceive(), however, require the use of the wall\nclock due to the definition of the system call.\n\nThis patch provides the infrastructure to use schedule_hrtimeout() \nwith a CLOCK_REALTIME timer.\n\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nTested-by: Pradyumna Sampath \u003cpradysam@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Arjan van de Veen \u003carjan@infradead.org\u003e\nLKML-Reference: \u003c20100402204331.167439615@osadl.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "ecb49d1a639acbacfc3771cae5ec07bed5df3847",
      "tree": "19c8fa91d1f9b1c965cd60653e16d1eb60cd9d3a",
      "parents": [
        "239007b8440abff689632f50cdf0f2b9e895b534"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 16:36:54 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:34 2009 +0100"
      },
      "message": "hrtimers: Convert to raw_spinlocks\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f201907dfe4ad42c44006ddfcec00ed12e59497",
      "tree": "b796471d44eb588f8d95affaeb0aa6cf6478b460",
      "parents": [
        "41d2e494937715d3150e5c75d01f0e75ae899337"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Dec 10 10:56:29 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 10 13:08:11 2009 +0100"
      },
      "message": "hrtimer: move timer stats helper functions to hrtimer.c\n\nThere is no reason to make timer_stats_hrtimer_set_start_info and\nfriends visible to the rest of the kernel. So move all of them to\nhrtimer.c.  Also make timer_stats_hrtimer_set_start_info a static\ninline function so it gets inlined and we avoid another function call.\nBased on a patch by Thomas Gleixner.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nLKML-Reference: \u003c20091210095629.GC4144@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "41d2e494937715d3150e5c75d01f0e75ae899337",
      "tree": "9bc7270aa7b06ed065671a96085fbdf235977d91",
      "parents": [
        "3067e02f8f3ae2f3f02ba76400d03b8bcb4942b0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 13 17:05:44 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 10 13:08:11 2009 +0100"
      },
      "message": "hrtimer: Tune hrtimer_interrupt hang logic\n\nThe hrtimer_interrupt hang logic adjusts min_delta_ns based on the\nexecution time of the hrtimer callbacks.\n\nThis is error-prone for virtual machines, where a guest vcpu can be\nscheduled out during the execution of the callbacks (and the callbacks\nthemselves can do operations that translate to blocking operations in\nthe hypervisor), which in can lead to large min_delta_ns rendering the\nsystem unusable.\n\nReplace the current heuristics with something more reliable. Allow the\ninterrupt code to try 3 times to catch up with the lost time. If that\nfails use the total time spent in the interrupt handler to defer the\nnext timer interrupt so the system can catch up with other things\nwhich got delayed. Limit that deferment to 100ms.\n\nThe retry events and the maximum time spent in the interrupt handler\nare recorded and exposed via /proc/timer_list\n\nInspired by a patch from Marcelo.\n\nReported-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: kvm@vger.kernel.org\n\n"
    },
    {
      "commit": "8629ea2eaba8ca0de2e38ce1b4a825e16255976e",
      "tree": "8a4f16c0cdd069c808993e4701ca45590b35c611",
      "parents": [
        "8747d793fc5c4d3e4decd41d55f6dc24498dd5f5"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Thu Sep 03 16:32:53 2009 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 20 11:25:48 2009 +0100"
      },
      "message": "hrtimer: Fix /proc/timer_list regression\n\ncommit 507e1231 (timer stats: Optimize by adding quick check to avoid\nfunction calls) introduced a regression in /proc/timer_list.\n\n/proc/timer_list shows now\n #0: \u003cc27d46b0\u003e, tick_sched_timer, S:01, \u003c(null)\u003e, /-1\ninstead of\n #0: \u003cc27d46b0\u003e, tick_sched_timer, S:01, hrtimer_start, swapper/0\n\nRevert the hrtimer quick check for now. The optimization needs more\nthought, but this is neither 2.6.32-rc7 nor stable material.\n\n[ tglx: - Removed unrelated changes from the original patch\n  \t- Prevent unneccesary call to timer_stats_update_stats\n\t- massaged the changelog ]\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nLKML-Reference: \u003calpine.LFD.2.00.0911181933540.24119@localhost.localdomain\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4cd1993f0046fbc765dbf20af90966f5661e3789",
      "tree": "8772c03b73159524183f08337b134503ddf8479e",
      "parents": [
        "97fd9ed48ce2b807edc363bef3e817aeeb5cd5e6",
        "64f1607ffbbc772685733ea63e6f7f4183df1b16"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Aug 14 15:59:00 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Aug 14 15:59:30 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/core\n\nReason: Martin\u0027s timekeeping cleanup series depends on both\ntimers/core and mainline changes.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fbd90375d7531927d312766b548376d909811b4d",
      "tree": "3eff386f9e3d15e8f890c2a1a1cf12e100b6ab0c",
      "parents": [
        "a40f262cc21fbfd781bbddcc40b16b83a75f5f34"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 13:40:14 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 22 17:12:32 2009 +0200"
      },
      "message": "hrtimer: Remove cb_entry from struct hrtimer\n\nIt\u0027s unused, remove it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\n"
    },
    {
      "commit": "f9f868dbcca961ed62f1df1d114abd0c38c47dce",
      "tree": "97cf348e0d03119d9b3a0f98cd86f8c793b9d250",
      "parents": [
        "6ff7041dbfeb3bd7dfe9aa67275c21199ef760d6"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Jul 09 11:24:26 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 10 19:33:00 2009 +0200"
      },
      "message": "timer stats: fix quick check optimization\n\ngit commit 507e1231 \"timer stats: Optimize by adding quick check to\navoid function calls\" added one wrong check so that one unnecessary\nfunction call isn\u0027t elimated.\n\ntime_stats_account_hrtimer() checks if timer-\u003estart_pid isn\u0027t\ninitialized in order to find out if timer_stats_update_stats() should\nbe called.  However start_pid is initialized with -1 instead of 0, so\nthat the function call always happens.\n\nCheck timer-\u003estart_site like in timer_stats_account_timer() to fix\nthis.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "507e123151149e578c9aae33eb876c49824da5f8",
      "tree": "10b4c36a278553ed3814c0643442e7210a7a1a15",
      "parents": [
        "bfdb4d9f0f611687d71cf6a460efc9e755f4a462"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Jun 23 17:38:15 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 24 11:15:09 2009 +0200"
      },
      "message": "timer stats: Optimize by adding quick check to avoid function calls\n\nWhen the kernel is configured with CONFIG_TIMER_STATS but timer\nstats are runtime disabled we still get calls to\n__timer_stats_timer_set_start_info which initializes some\nfields in the corresponding struct timer_list.\n\nSo add some quick checks in the the timer stats setup functions\nto avoid function calls to __timer_stats_timer_set_start_info\nwhen timer stats are disabled.\n\nIn an artificial workload that does nothing but playing ping\npong with a single tcp packet via loopback this decreases cpu\nconsumption by 1 - 1.5%.\n\nThis is part of a modified function trace output on SLES11:\n\n perl-2497  [00] 28630647177732388 [+  125]: sk_reset_timer \u003c-tcp_v4_rcv\n perl-2497  [00] 28630647177732513 [+  125]: mod_timer \u003c-sk_reset_timer\n perl-2497  [00] 28630647177732638 [+  125]: __timer_stats_timer_set_start_info \u003c-mod_timer\n perl-2497  [00] 28630647177732763 [+  125]: __mod_timer \u003c-mod_timer\n perl-2497  [00] 28630647177732888 [+  125]: __timer_stats_timer_set_start_info \u003c-__mod_timer\n perl-2497  [00] 28630647177733013 [+   93]: lock_timer_base \u003c-__mod_timer\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Mustafa Mesanovic \u003cmustafa.mesanovic@de.ibm.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nLKML-Reference: \u003c20090623153811.GA4641@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "597d0275736dad9c3bda6f0a00a1c477dc0f37b1",
      "tree": "7ebbe9f80fb13a3ec34ea997d00c21eecf7699ae",
      "parents": [
        "a04198887658e1d8ae25f5420035c057cb170e67"
      ],
      "author": {
        "name": "Arun R Bharadwaj",
        "email": "arun@linux.vnet.ibm.com",
        "time": "Thu Apr 16 12:13:26 2009 +0530"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 13 16:52:42 2009 +0200"
      },
      "message": "timers: Framework for identifying pinned timers\n\n* Arun R Bharadwaj \u003carun@linux.vnet.ibm.com\u003e [2009-04-16 12:11:36]:\n\nThis patch creates a new framework for identifying cpu-pinned timers\nand hrtimers.\n\nThis framework is needed because pinned timers are expected to fire on\nthe same CPU on which they are queued. So it is essential to identify\nthese and not migrate them, in case there are any.\n\nFor regular timers, the currently existing add_timer_on() can be used\nqueue pinned timers and subsequently mod_timer_pinned() can be used\nto modify the \u0027expires\u0027 field.\n\nFor hrtimers, new modes HRTIMER_ABS_PINNED and HRTIMER_REL_PINNED are\nadded to queue cpu-pinned hrtimer.\n\n[ tglx: use .._PINNED mode argument instead of creating tons of new\nfunctions ]\n\nSigned-off-by: Arun R Bharadwaj \u003carun@linux.vnet.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7f1e2ca9f04b02794597f60e7b1d43f0a1317939",
      "tree": "dad1d80ab4232f3ca12d7ff9a58f0dc76133dab1",
      "parents": [
        "7bee946358c3cb957d4aa648fc5ab3cad0b232d0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 13 12:21:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 31 14:52:52 2009 +0200"
      },
      "message": "hrtimer: fix rq-\u003elock inversion (again)\n\nIt appears I inadvertly introduced rq-\u003elock recursion to the\nhrtimer_start() path when I delegated running already expired\ntimers to softirq context.\n\nThis patch fixes it by introducing a __hrtimer_start_range_ns()\nmethod that will not use raise_softirq_irqoff() but\n__raise_softirq_irqoff() which avoids the wakeup.\n\nIt then also changes schedule() to check for pending softirqs and\ndo the wakeup then, I\u0027m not quite sure I like this last bit, nor\nam I convinced its really needed.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus@samba.org\nLKML-Reference: \u003c20090313112301.096138802@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca109491f612aab5c8152207631c0444f63da97f",
      "tree": "46d0a90e79c75fc039bda7d01862062e0ac39900",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Nov 25 12:43:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 15:45:46 2008 +0100"
      },
      "message": "hrtimer: removing all ur callback modes\n\nImpact: cleanup, move all hrtimer processing into hardirq context\n\nThis is an attempt at removing some of the hrtimer complexity by\nreducing the number of callback modes to 1.\n\nThis means that all hrtimer callback functions will be ran from HARD-irq\ncontext.\n\nI went through all the 30 odd hrtimer callback functions in the kernel\nand saw only one that I\u0027m not quite sure of, which is the one in\nnet/can/bcm.c - hence I\u0027m CC-ing the folks responsible for that code.\n\nFurthermore, the hrtimer core now calls callbacks directly with IRQs\ndisabled in case you try to enqueue an expired timer. If this timer is a\nperiodic timer (which should use hrtimer_forward() to advance its time)\nthen it might be possible to end up in an inf. recursive loop due to the\nfact that hrtimer_forward() doesn\u0027t round up to the next timer\ngranularity, and therefore keeps on calling the callback - obviously\nthis needs a fix.\n\nAside from that, this seems to compile and actually boot on my dual core\ntest box - although I\u0027m sure there are some bugs in, me not hitting any\nmakes me certain :-)\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "621a0d5207c18012cb39932f2d9830a11a6cb03d",
      "tree": "0e18c30c91620108b413197f9bc153ceb6e430ec",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 12 09:36:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 09:54:40 2008 +0100"
      },
      "message": "hrtimer: clean up unused callback modes\n\nImpact: cleanup\n\ngit grep HRTIMER_CB_IRQSAFE revealed half the callback modes are actually\nunused.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7597bc94d6f3bdccb086ac7f2ad91292fdaee2a4",
      "tree": "17126979600f74f27b45669861808e577c305920",
      "parents": [
        "c36194871293100bd4b2ecb54ac9774d6e627aa2"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 05 17:38:47 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:44:19 2008 -0800"
      },
      "message": "Fix accidental implicit cast in HR-timer conversion\n\nFix the hrtimer_add_expires_ns() function.  It should take a \u0027u64 ns\u0027 argument,\nbut rather takes an \u0027unsigned long ns\u0027 argument - which might only be 32-bits.\n\nOn FRV, this results in the kernel locking up because hrtimer_forward() passes\nthe result of a 64-bit multiplication to this function, for which the compiler\ndiscards the top 32-bits - something that didn\u0027t happen when ktime_add_ns() was\ncalled directly.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "268a3dcfea2077fca60d3715caa5c96f9b5e6ea7",
      "tree": "c2232774508424e677e27f296090a68c775e4669",
      "parents": [
        "c4bd822e7b12a9008241d76db45b665f2fef180c",
        "592aa999d6a272856c9bfbdaac0cfba1bb37c24c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 22 09:48:06 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 22 09:48:06 2008 +0200"
      },
      "message": "Merge branch \u0027timers/range-hrtimers\u0027 into v28-range-hrtimers-for-linus-v2\n\nConflicts:\n\n\tkernel/time/tick-sched.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "592aa999d6a272856c9bfbdaac0cfba1bb37c24c",
      "tree": "8588afce86943b515e96707ee21fed51427b1ccc",
      "parents": [
        "643bdf68f92a8516574ed7ca3713f9334c331b8d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 16:38:19 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 16:38:19 2008 +0200"
      },
      "message": "hrtimers: add missing docbook comments to struct hrtimer\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c465a76af658b443075d6efee1c3131257643020",
      "tree": "63c28c9fab02dedec7f03cee4a3ef7fe4dc1c072",
      "parents": [
        "2d42244ae71d6c7b0884b5664cf2eda30fb2ae68",
        "1b02469088ac7a13d7e622b618b7410d0f1ce5ec",
        "fb02fbc14d17837b4b7b02dbb36142c16a7bf208",
        "d40e944c25fb4642adb2a4c580a48218a9f3f824",
        "1508487e7f16d992ad23cabd3712563ff912f413",
        "322acf6585f3c4e82ee32a246b0483ca0f6ad3f4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/debug\u0027 into v28-timers-for-linus\n"
    },
    {
      "commit": "651dab4264e4ba0e563f5ff56f748127246e9065",
      "tree": "016630974bdcb00fe529b673f96d389e0fd6dc94",
      "parents": [
        "40b8606253552109815786e5d4b0de98782d31f5",
        "2e532d68a2b3e2aa6b19731501222069735c741c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Oct 17 09:20:26 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Oct 17 09:20:26 2008 -0700"
      },
      "message": "Merge commit \u0027linus/master\u0027 into merge-linus\n\nConflicts:\n\n\tarch/x86/kvm/i8254.c\n"
    },
    {
      "commit": "40b8606253552109815786e5d4b0de98782d31f5",
      "tree": "8c829e19ae70b0565a27dd615e5a06ff5be8d8cb",
      "parents": [
        "dc4304f7deee29fcdf6a2b62f7146ea7f505fd42"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed Oct 15 14:20:28 2008 +1100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Oct 15 10:11:00 2008 -0400"
      },
      "message": "DECLARE_PER_CPU needs linux/percpu.h\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\n"
    },
    {
      "commit": "2075eb8d95612cadde91ef5be82691d97a2ea6c5",
      "tree": "896bb43afb2fcda367390a32a16f5a98728b91bc",
      "parents": [
        "80a4b18d19bf1f7b88a261088c00a0d6b310a722"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Oct 07 10:57:54 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Oct 07 10:57:54 2008 -0700"
      },
      "message": "rangetimer: fix x86 build failure for the !HRTIMERS case\n\nthe timer peek function was on the wrong side of an ifdef,\nbreaking for the !HRTIMERs case. Just provide an empty inline\nfor that case since it doesn\u0027t make sense in that scenario.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "ccc7dadf736639da86f3e0c86832c11a66fc8221",
      "tree": "3f1c0df0a291fec4a10d72cc1ab278ad81e697c5",
      "parents": [
        "b00c1a99e7758f794923c61e5cd55268d61c9469"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 15:47:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:14 2008 +0200"
      },
      "message": "hrtimer: prevent migration of per CPU hrtimers\n\nImpact: per CPU hrtimers can be migrated from a dead CPU\n\nThe hrtimer code has no knowledge about per CPU timers, but we need to\nprevent the migration of such timers and warn when such a timer is\nactive at migration time.\n\nExplicitely mark the timers as per CPU and use a more understandable\nmode descriptor for the interrupts safe unlocked callback mode, which\nis used by hrtimer_sleeper and the scheduler code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b00c1a99e7758f794923c61e5cd55268d61c9469",
      "tree": "aace17598caf3dfaa01f8f2f4c6e587bb1f9a2f8",
      "parents": [
        "41e1022eae71707f1ce6801a746f70b1e57b7567"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 15:44:46 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:14 2008 +0200"
      },
      "message": "hrtimer: mark migration state\n\nImpact: during migration active hrtimers can be seen as inactive\n\nThe migration code removes the hrtimers from the queues of the dead\nCPU and sets the state temporary to INACTIVE. The enqueue code sets it\nto ACTIVE/PENDING again.\n\nPrevent that the wrong state can be seen by using a separate migration\nstate bit.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1b02469088ac7a13d7e622b618b7410d0f1ce5ec",
      "tree": "bd5622a92575314a276fc654eaa968324474abe6",
      "parents": [
        "b91c4996df56fcd201f85c392a1de7bc3f6641f5"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Mon Sep 22 14:42:43 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 15:58:47 2008 +0200"
      },
      "message": "hrtimer: reorder struct hrtimer to save 8 bytes on 64bit builds\n\nreorder struct hrtimer to save 8 bytes on 64 bit builds when\nCONFIG_TIMER_STATS selected.  (also removes 8 bytes from signal_struct)\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b91c4996df56fcd201f85c392a1de7bc3f6641f5",
      "tree": "8bf1395a75d035d8f01eda8aefaee5c0716ee03f",
      "parents": [
        "d7cfb60c5cf904ecf1e0ae23ec178175b86f0d4a"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Fri Sep 19 13:13:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 22 13:52:42 2008 +0200"
      },
      "message": "hrtimer: remove hrtimer_clock_base::reprogram()\n\nhrtimer_clock_base::reprogram() also appears to never\nhave been used, so remove it.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7cfb60c5cf904ecf1e0ae23ec178175b86f0d4a",
      "tree": "750200d0bd2e5fc94d574c9d9cd6131f93a279a7",
      "parents": [
        "d82f0b0f6f1a0a25afc288fb7135b1601fe6df18"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Fri Sep 19 13:13:44 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 22 13:52:42 2008 +0200"
      },
      "message": "hrtimer: remove hrtimer_clock_base::get_softirq_time()\n\nPeter Zijlstra noticed this 8 months ago and I just noticed\nit again.\n\nhrtimer_clock_base::get_softirq_time() is currently unused\nin the entire tree. In fact, looking at the logs, it appears\nas if it was never used. Remove it.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e94d1f71f7e4404d997e6fb4f1618aa147d76f9",
      "tree": "73958a61dffff311cdcdc8edcb7e6a4953150601",
      "parents": [
        "ae4b748e81b7e366f04f55229d5e372e372c33af"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Sep 10 16:06:00 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Thu Sep 11 07:17:49 2008 -0700"
      },
      "message": "hrtimer: peek at the timer queue just before going idle\n\nAs part of going idle, we already look at the time of the next timer event to determine\nwhich C-state to select etc.\n\nThis patch adds functionality that causes the timers that are past their\nsoft expire time, to fire at this time, before we calculate the next wakeup\ntime. This functionality will thus avoid wakeups by running timers before\ngoing idle rather than specially waking up for it.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "4ce105d30e08fb8a1783c55a0e48aa3fa200c455",
      "tree": "1bfc0b3d4f987e69b16cb35dfc3dedf9ab288b1b",
      "parents": [
        "da8f2e170ea94cc20f8ebbc8ee8d127edb8f12f1"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Sep 07 15:31:39 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Sep 07 15:31:39 2008 -0700"
      },
      "message": "hrtimer: incorporate feedback from Peter Zijlstra\n\n(based on  lkml review)\n* use rt_task()\n* task_nice() has a sign\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "da8f2e170ea94cc20f8ebbc8ee8d127edb8f12f1",
      "tree": "08d25027a7769cd250aca5b516a3d8c95e4385be",
      "parents": [
        "2ec02270c00f94b08fddfb68c37510a9fb47ac7c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Sep 07 10:47:46 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Sep 07 10:58:01 2008 -0700"
      },
      "message": "hrtimer: add a hrtimer_start_range() function\n\nthis patch adds a _range version of hrtimer_start() so that range timers\ncan be created; the hrtimer_start() function is just a wrapper around this.\n\nIn addition, hrtimer_start_expires() will now preserve existing ranges.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "2ec02270c00f94b08fddfb68c37510a9fb47ac7c",
      "tree": "71a788cf76febe61ef5f6fcaa01cb485dfdf4d28",
      "parents": [
        "584fb4a76413ec9215741e075e0dfb69173b213f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Sep 06 09:36:56 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Sep 06 09:36:56 2008 -0700"
      },
      "message": "hrtimer: another build fix\n\nMore randconfig testing\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "584fb4a76413ec9215741e075e0dfb69173b213f",
      "tree": "f2a9f14892fdd869f82ad5affaff7480f5846066",
      "parents": [
        "90d6e24a3686325edea7748b966e138c9923017d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Sep 06 08:32:57 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Sep 06 08:32:57 2008 -0700"
      },
      "message": "hrtimer: fix build bug found by Ingo\n\nin some randconfig configurations, hrtimers are used even though\nthe hrtimer config if off; and it broke the build due to some of\nthe new functions being on the wrong side of the ifdef.\n\nThis patch moves the functions to the other side of the ifdef, fixing\nthe build bug.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "654c8e0b1c623b156c5b92f28d914ab38c9c2c90",
      "tree": "b3b1f8cfa8f3b12170f0d8b8770857182a2f0309",
      "parents": [
        "799b64de256ea68fbb5db63bb55f61c305870643"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 01 15:47:08 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Sep 05 21:35:27 2008 -0700"
      },
      "message": "hrtimer: turn hrtimers into range timers\n\nthis patch turns hrtimers into range timers; they have 2 expire points\n1) the soft expire point\n2) the hard expire point\n\nthe kernel will do it\u0027s regular best effort attempt to get the timer run\nat the hard expire point. However, if some other time fires after the soft\nexpire point, the kernel now has the freedom to fire this timer at this point,\nand thus grouping the events and preventing a power-expensive wakeup in the\nfuture.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "799b64de256ea68fbb5db63bb55f61c305870643",
      "tree": "3ef586f3eadd42e7a5bd111a8b05667ec3086724",
      "parents": [
        "5c73a7d0411999e3cb3c6d64225450813738ae25"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 01 15:27:58 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Sep 05 21:35:25 2008 -0700"
      },
      "message": "hrtimer: rename the \"expires\" struct member to avoid accidental usage\n\nTo catch code that still touches the \"expires\" memory directly, rename it\nto have the compiler complain rather than get nasty, hard to explain,\nruntime behavior\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "63ca243b271f5b44e0b1057003cf498b6d0fadf7",
      "tree": "d122c7ee0a22bfd2308f1253e8c6319907198ff5",
      "parents": [
        "8ff3e8e85fa6c312051134b3953e397feb639f51"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 01 14:35:02 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Sep 05 21:35:05 2008 -0700"
      },
      "message": "hrtimer: add abstraction functions for accessing the \"expires\" member\n\nIn order to be able to turn hrtimers into range based, we need to provide\naccessor functions for getting to the \"expires\" ktime_t member of the\nstruct hrtimer.\n\nThis patch adds a set of accessors for this purpose:\n* hrtimer_set_expires\n* hrtimer_set_expires_tv64\n* hrtimer_add_expires\n* hrtimer_add_expires_ns\n* hrtimer_get_expires\n* hrtimer_get_expires_tv64\n* hrtimer_get_expires_ns\n* hrtimer_expires_remaining\n* hrtimer_start_expires\n\nNo users of these new accessors are added yet; these follow in later patches.\nHopefully this patch can even go into 2.6.27-rc so that the conversions will\nnot have a bottleneck in -next\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "7bb67439bf6bd3782f07f1d7be1e63406453d5de",
      "tree": "6fed7b163d96067794b6d704f5d3a35b89a167b4",
      "parents": [
        "70bb08962ea9bd50797ae9f16b2493f5f7c65053"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Aug 31 08:05:58 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Sep 05 21:34:53 2008 -0700"
      },
      "message": "select: Introduce a hrtimeout function\n\nThis patch adds a schedule_hrtimeout() function, to be used by select() and\npoll() in a later patch. This function works similar to schedule_timeout()\nin most ways, but takes a timespec rather than jiffies.\n\nWith a lot of contributions/fixes from Thomas\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4346f65426cbceb64794b468e4af6f5632d58c5e",
      "tree": "cd698a910a2526882d542984ccd314d109a5194a",
      "parents": [
        "b66e1f11ebc429569a3784aaf64123633d9e3ed1"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "oliver@hartkopp.net",
        "time": "Wed Apr 30 23:04:37 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 03 18:11:48 2008 +0200"
      },
      "message": "hrtimer: remove duplicate helper function\n\nThe helper function hrtimer_callback_running() is used in\nkernel/hrtimer.c as well as in the updated net/can/bcm.c which now\nsupports hrtimers. Moving the helper function to hrtimer.h removes the\nduplicate definition in the C-files.\n\nSigned-off-by: Oliver Hartkopp \u003coliver@hartkopp.net\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "237fc6e7a35076f584b9d0794a5204fe4bd9b9e5",
      "tree": "078de7357c118b5bb84eedb38ba829205941b03b",
      "parents": [
        "c6f3a97f86a5c97be0ca255976110bb9c3cfe669"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 30 00:55:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:53 2008 -0700"
      },
      "message": "add hrtimer specific debugobjects code\n\nhrtimers have now dynamic users in the network code.  Put them under\ndebugobjects surveillance as well.\n\nAdd calls to the generic object debugging infrastructure and provide fixup\nfunctions which allow to keep the system alive when recoverable problems have\nbeen detected by the object debugging core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\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": "8e60e05fdc7344415fa69a3883b11f65db967b47",
      "tree": "a0b13c31670221906e8d48cb7bf47dc8f8043918",
      "parents": [
        "0d180406f2914aea3a78ddb880e2fe9ac78a9372"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Apr 04 20:54:10 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "hrtimers: simplify lockdep handling\n\nIn order to avoid the false positive from lockdep, each per-cpu base-\u003elock has\nthe separate lock class and migrate_hrtimers() uses double_spin_lock().\n\nThis is overcomplicated: except for migrate_hrtimers() we never take 2 locks\nat once, and migrate_hrtimers() can use spin_lock_nested().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "3eb056764dd806bbe84eb604e45e7470feeaafd8",
      "tree": "97a8fe2123d2c9df2bcb48052ac33d445a00f64c",
      "parents": [
        "cf4fc6cb76e50b01666e28a9f4b2e6fbcbb96d5f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 08 04:19:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "time: fix typo in comments\n\nFix typo in comments.\n\nBTW: I have to fix coding style in arch/ia64/kernel/time.c also, otherwise\ncheckpatch.pl will be complaining.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "151db1fc23800875c7ac353b106b7dab77061275",
      "tree": "b14f06bec7e45c9cd909df1dfb66b099d273b35c",
      "parents": [
        "145e9230760e4db27cf5f00fd04b005c79ca1c12"
      ],
      "author": {
        "name": "Tony Breeds",
        "email": "tony@bakeyournoodle.com",
        "time": "Fri Feb 08 09:24:52 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 14:54:45 2008 -0800"
      },
      "message": "Fix compilation of powerpc asm-offsets.c with old gcc\n\nCommit ad7f71674ad7c3c4467e48f6ab9e85516dae2720 (\"[POWERPC] Use a\nsensible default for clock_getres() in the VDSO\") corrected the clock\nresolution reported by the VDSO clock_getres() but introduced another\nproblem in that older versions of gcc (gcc-4.0 and earlier) fail to\ncompile the new code in arch/powerpc/kernel/asm-offsets.c.\n\nThis fixes it by introducing a new MONOTONIC_RES_NSEC define in the\ngeneric code which is equivalent to KTIME_MONOTONIC_RES but is just an\ninteger constant, not a ktime union.\n\nSigned-off-by: Tony Breeds \u003ctony@bakeyournoodle.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d672e7ac79b5ec5cdc90e450823441e20464691",
      "tree": "66da3aa0bf7f7ac80376a93f17edbb2246b2df06",
      "parents": [
        "5e05ad7d4e3b11f935998882b5d9c3b257137f1b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Mon Feb 04 22:27:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "timerfd: new timerfd API\n\nThis is the new timerfd API as it is implemented by the following patch:\n\nint timerfd_create(int clockid, int flags);\nint timerfd_settime(int ufd, int flags,\n\t\t    const struct itimerspec *utmr,\n\t\t    struct itimerspec *otmr);\nint timerfd_gettime(int ufd, struct itimerspec *otmr);\n\nThe timerfd_create() API creates an un-programmed timerfd fd.  The \"clockid\"\nparameter can be either CLOCK_MONOTONIC or CLOCK_REALTIME.\n\nThe timerfd_settime() API give new settings by the timerfd fd, by optionally\nretrieving the previous expiration time (in case the \"otmr\" parameter is not\nNULL).\n\nThe time value specified in \"utmr\" is absolute, if the TFD_TIMER_ABSTIME bit\nis set in the \"flags\" parameter.  Otherwise it\u0027s a relative time.\n\nThe timerfd_gettime() API returns the next expiration time of the timer, or\n{0, 0} if the timerfd has not been set yet.\n\nLike the previous timerfd API implementation, read(2) and poll(2) are\nsupported (with the same interface).  Here\u0027s a simple test program I used to\nexercise the new timerfd APIs:\n\nhttp://www.xmailserver.org/timerfd-test2.c\n\n[akpm@linux-foundation.org: coding-style cleanups]\n[akpm@linux-foundation.org: fix ia64 build]\n[akpm@linux-foundation.org: fix m68k build]\n[akpm@linux-foundation.org: fix mips build]\n[akpm@linux-foundation.org: fix alpha, arm, blackfin, cris, m68k, s390, sparc and sparc64 builds]\n[heiko.carstens@de.ibm.com: fix s390]\n[akpm@linux-foundation.org: fix powerpc build]\n[akpm@linux-foundation.org: fix sparc64 more]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e05ad7d4e3b11f935998882b5d9c3b257137f1b",
      "tree": "63b1b197f1ee68e656878257394d1ec8796ff3ea",
      "parents": [
        "ed5d2cac114202fe2978a9cbcab8f5032796d538"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Mon Feb 04 22:27:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "timerfd: introduce a new hrtimer_forward_now() function\n\nI think that advancing the timer against the timer\u0027s current \"now\" can be a\npretty common usage, so, w/out exposing hrtimer\u0027s internals, we add a new\nhrtimer_forward_now() function.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef08cce81d9be38063ec7796e36f2b32bdf82ff2",
      "tree": "b8b1d35bdbbd2b16141674913a91a254539da277",
      "parents": [
        "2e01e00e768ef42fb5b8804cd1b9b47b26d59ec5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sun Feb 03 16:20:13 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 16:20:13 2008 +0200"
      },
      "message": "time: delete comments that refer to noexistent symbols\n\nFunction do_timer_interrupt_hook() don\u0027t take argument regs,\nand structure hrtimer_sleeper don\u0027t have member cb_pending.\nSo delete comments refering to these symbols.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "d3d74453c34f8fd87674a8cf5b8a327c68f22e99",
      "tree": "cbbd46eb7b81f5c9d39a93604a206ac775084858",
      "parents": [
        "2d44ae4d7135b9aee26439b3523b43473381bc5f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:31 2008 +0100"
      },
      "message": "hrtimer: fixup the HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback\n\nCurrently all highres\u003doff timers are run from softirq context, but\nHRTIMER_CB_IRQSAFE_NO_SOFTIRQ timers expect to run from irq context.\n\nFix this up by splitting it similar to the highres\u003don case.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f4d37ec073c17e2d4aa8851df5837d798606d6f",
      "tree": "a9ac9063eca53e4d0110e8086f55241ea70ba993",
      "parents": [
        "02b67cc3ba36bdba351d6c3a00593f4ec550d9d3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "message": "sched: high-res preemption tick\n\nUse HR-timers (when available) to deliver an accurate preemption tick.\n\nThe regular scheduler tick that runs at 1/HZ can be too coarse when nice\nlevel are used. The fairness system will still keep the cpu utilisation \u0027fair\u0027\nby then delaying the task that got an excessive amount of CPU time but try to\nminimize this by delivering preemption points spot-on.\n\nThe average frequency of this extra interrupt is sched_latency / nr_latency.\nWhich need not be higher than 1/HZ, its just that the distribution within the\nsched_latency period is important.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04c227140fed77587432667a574b14736a06dd7f",
      "tree": "56cc470fae9f0d78d499c9ab2ab526acb35440e4",
      "parents": [
        "d85714d81cc0408daddb68c10f7fd69eafe7c213"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Oct 15 16:06:04 2007 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 18 22:54:18 2007 +0200"
      },
      "message": "hrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier\n\nPull the copy_to_user out of hrtimer_nanosleep and into the callers\n(common_nsleep, sys_nanosleep) in preparation for converting\ncompat_sys_nanosleep to use hrtimers.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "c5c061b8f9726bc2c25e19dec227933a13d1e6b7",
      "tree": "e99f68f70df1a01dd383007895befd114a1da8c4",
      "parents": [
        "e0807061908a7a9441d0f745deb444f7216904cb"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Sun Jul 15 23:40:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "Add a flag to indicate deferrable timers in /proc/timer_stats\n\nAdd a flag in /proc/timer_stats to indicate deferrable timers.  This will\nlet developers/users to differentiate between types of tiemrs in\n/proc/timer_stats.\n\nDeferrable timer and normal timer will appear in /proc/timer_stats as below.\n  10D,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n   10,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n\nAlso version of timer_stats changes from v0.1 to v0.2\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "995f054f2a342f8505fed4f8395d12c0f5966414",
      "tree": "08ddf96e3365d2b0a9940914fdb179810fbca3a0",
      "parents": [
        "bbef618190fb484b28b7d441e6fc5d524027c4fa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 07 12:05:00 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Apr 07 10:03:43 2007 -0700"
      },
      "message": "[PATCH] high-res timers: resume fix\n\nSoeren Sonnenburg reported that upon resume he is getting\nthis backtrace:\n\n [\u003cc0119637\u003e] smp_apic_timer_interrupt+0x57/0x90\n [\u003cc0142d30\u003e] retrigger_next_event+0x0/0xb0\n [\u003cc0104d30\u003e] apic_timer_interrupt+0x28/0x30\n [\u003cc0142d30\u003e] retrigger_next_event+0x0/0xb0\n [\u003cc0140068\u003e] __kfifo_put+0x8/0x90\n [\u003cc0130fe5\u003e] on_each_cpu+0x35/0x60\n [\u003cc0143538\u003e] clock_was_set+0x18/0x20\n [\u003cc0135cdc\u003e] timekeeping_resume+0x7c/0xa0\n [\u003cc02aabe1\u003e] __sysdev_resume+0x11/0x80\n [\u003cc02ab0c7\u003e] sysdev_resume+0x47/0x80\n [\u003cc02b0b05\u003e] device_power_up+0x5/0x10\n\nit turns out that on resume we mistakenly re-enable interrupts too\nearly.  Do the timer retrigger only on the current CPU.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Soeren Sonnenburg \u003ckernel@nn7.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1d67174b42a02c7d106894df0ed155d595871f7",
      "tree": "9b5b8bebc36c0917ab9f146cb900beaf38f8d0a0",
      "parents": [
        "8437fdc7428eac363579bf0cce2526c35573735c"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@debian.org",
        "time": "Tue Mar 06 01:42:07 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:24 2007 -0800"
      },
      "message": "[PATCH] hrtimers: hrtimer_clock_base description typo\n\nThe description for the hrtimer_clock_base struct describes \"hrtimer_base\".\n That should be hrtimer_clock_base.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8437fdc7428eac363579bf0cce2526c35573735c",
      "tree": "a1ddfb89a6704be8af4677b60abbf742caf06efb",
      "parents": [
        "2272b0e03ea5731aca058eaf79c9955b36f0c083"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@debian.org",
        "time": "Tue Mar 06 01:42:06 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:24 2007 -0800"
      },
      "message": "[PATCH] hrtimers: fix HRTIMER_CB_IRQSAFE_NO_SOFTIRQ description\n\nThe description for HRTIMER_CB_IRQSAFE_NO_SOFTIRQ is backwards; \"NO\nSOFTIRQ\" sounds a whole lot like it means it must not be run in a softirq.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05fb6bf0b29552b64dc86f405a484de2514e0ac2",
      "tree": "cd3306512f98f73f7e846fc55b6e56aed4bfea61",
      "parents": [
        "328d24403d6a6b856722facd39d7b6ccb429353b"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Feb 28 20:12:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 01 14:53:37 2007 -0800"
      },
      "message": "[PATCH] kernel-doc fixes for 2.6.20-git15 (non-drivers)\n\nFix kernel-doc warnings in 2.6.20-git15 (lib/, mm/, kernel/, include/).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88ad0bf6890505cbd9ca1dbb79944a27b5c8697d",
      "tree": "e78711c47de9da92c8e4db8029f43542cecdf268",
      "parents": [
        "289f480af87e45f7a6de6ba9b4c061c2e259fe98"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 16 01:28:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] Add SysRq-Q to print timer_list debug info\n\nAdd SysRq-Q to print pending timers and other timer info.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82f67cd9fca8c8762c15ba7ed0d5747588c1e221",
      "tree": "1ff7e5cc496580b85bb42fb1d7b19dcbef7b7776",
      "parents": [
        "8bfd9a7a229b5f3d3eda5d7d45c2eebec5b4ba16"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 16 01:28:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] Add debugging feature /proc/timer_stat\n\nAdd /proc/timer_stats support: debugging feature to profile timer expiration.\nBoth the starting site, process/PID and the expiration function is captured.\nThis allows the quick identification of timer event sources in a system.\n\nSample output:\n\n# echo 1 \u003e /proc/timer_stats\n# cat /proc/timer_stats\nTimer Stats Version: v0.1\nSample period: 4.010 s\n  24,     0 swapper          hrtimer_stop_sched_tick (hrtimer_sched_tick)\n  11,     0 swapper          sk_reset_timer (tcp_delack_timer)\n   6,     0 swapper          hrtimer_stop_sched_tick (hrtimer_sched_tick)\n   2,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n  17,     0 swapper          hrtimer_restart_sched_tick (hrtimer_sched_tick)\n   2,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)\n   4,  2050 pcscd            do_nanosleep (hrtimer_wakeup)\n   5,  4179 sshd             sk_reset_timer (tcp_write_timer)\n   4,  2248 yum-updatesd     schedule_timeout (process_timeout)\n  18,     0 swapper          hrtimer_restart_sched_tick (hrtimer_sched_tick)\n   3,     0 swapper          sk_reset_timer (tcp_delack_timer)\n   1,     1 swapper          neigh_table_init_no_netlink (neigh_periodic_timer)\n   2,     1 swapper          e1000_up (e1000_watchdog)\n   1,     1 init             schedule_timeout (process_timeout)\n100 total events, 25.24 events/sec\n\n[ cleanups and hrtimers support from Thomas Gleixner \u003ctglx@linutronix.de\u003e ]\n[bunk@stusta.de: nr_entries can become static]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54cdfdb47f73b5af3d1ebb0f1e383efbe70fde9e",
      "tree": "e2f76277f6b7546e53c3a1d025e31bceb10bbff5",
      "parents": [
        "d40891e75fc1f646dce57d5d3bd1349a6aaf7a0e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] hrtimers: add high resolution timer support\n\nImplement high resolution timers on top of the hrtimers infrastructure and the\nclockevents / tick-management framework.  This provides accurate timers for\nall hrtimer subsystem users.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79bf2bb335b85db25d27421c798595a2fa2a0e82",
      "tree": "550ec2654ae1dd65b871de7fe9c890108c6e86d8",
      "parents": [
        "f8381cba04ba8173fd5a2b8e5cd8b3290ee13a98"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] tick-management: dyntick / highres functionality\n\nWith Ingo Molnar \u003cmingo@elte.hu\u003e\n\nAdd functions to provide dynamic ticks and high resolution timers.  The code\nwhich keeps track of jiffies and handles the long idle periods is shared\nbetween tick based and high resolution timer based dynticks.  The dyntick\nfunctionality can be disabled on the kernel commandline.  Provide also the\ninfrastructure to support high resolution timers.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d316c57ff6bfad9557462b9100f25c6260d2b774",
      "tree": "f77a04aab5c39c416f52ff5ac9396da5a6b93759",
      "parents": [
        "e05d723f98595b2f4d368f63636a997d98703304"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] clockevents: add core functionality\n\nArchitectures register their clock event devices, in the clock events core.\nUsers of the clockevents core can get clock event devices for their use.  The\nclockevents core code provides notification mechanisms for various clock\nrelated management events.\n\nThis allows to control the clock event devices without the architectures\nhaving to worry about the details of function assignment.  This is also a\npreliminary for high resolution timers and dynamic ticks to allow the core\ncode to control the clock functionality without intrusive changes to the\narchitecture code.\n\n[Fixes-by: Ingo Molnar \u003cmingo@elte.hu\u003e]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5cfb6de7cd7c8f04655c9d23533ca506647beace",
      "tree": "43a43dc7eb95d28befe233080b42a5aceeee5032",
      "parents": [
        "303e967ff90a9d19ad3f8c9028ccbfa7f408fbb3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:52 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:58 2007 -0800"
      },
      "message": "[PATCH] hrtimers: clean up callback tracking\n\nReintroduce ktimers feature \"optimized away\" by the ktimers review process:\nremove the curr_timer pointer from the cpu-base and use the hrtimer state.\n\nNo functional changes.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "303e967ff90a9d19ad3f8c9028ccbfa7f408fbb3",
      "tree": "cd8c057e98b57896ffbbe4d98a4264393a652204",
      "parents": [
        "3c8aa39d7c445ae2612b6b626f76f077e7a7ab0d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:58 2007 -0800"
      },
      "message": "[PATCH] hrtimers; add state tracking\n\nReintroduce ktimers feature \"optimized away\" by the ktimers review process:\nmultiple hrtimer states to enable the running of hrtimers without holding the\ncpu-base-lock.\n\n(The \"optimized\" rbtree hack carried only 2 states worth of information and we\nneed 4 for high resolution timers and dynamic ticks.)\n\nNo functional changes.\n\nBuild-fixes-from: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c8aa39d7c445ae2612b6b626f76f077e7a7ab0d",
      "tree": "8e07fc3dbddc0d5a8be3ecda491ec4410c90ed6b",
      "parents": [
        "c9cb2e3d7c9178ab75d0942f96abb3abe0369906"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:50 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:58 2007 -0800"
      },
      "message": "[PATCH] hrtimers: cleanup locking\n\nImprove kernel/hrtimers.c locking: use a per-CPU base with a lock to control\nlocking of all clocks belonging to a CPU.  This simplifies code that needs to\nlock all clocks at once.  This makes life easier for high-res timers and\ndyntick.\n\nNo functional changes.\n\n[ optimization change from Andrew Morton \u003cakpm@osdl.org\u003e ]\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9cb2e3d7c9178ab75d0942f96abb3abe0369906",
      "tree": "2d4a5470ece5efe82463653678c491c2f249d560",
      "parents": [
        "fd064b9b7770d5c7705bf9542950c7bd81c30f98"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:49 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:58 2007 -0800"
      },
      "message": "[PATCH] hrtimers: namespace and enum cleanup\n\n- hrtimers did not use the hrtimer_restart enum and relied on the implict\n  int representation. Fix the prototypes and the functions using the enums.\n- Use seperate name spaces for the enumerations\n- Convert hrtimer_restart macro to inline function\n- Add comments\n\nNo functional changes.\n\n[akpm@osdl.org: fix input driver]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "411187fb05cd11676b0979d9fbf3291db69dbce2",
      "tree": "6202ca36868ab47edf737de81c7b7c4841228ab3",
      "parents": [
        "9f907c0144496e464bd5ed5a99a51227d63a9c0b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Feb 16 01:27:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:57 2007 -0800"
      },
      "message": "[PATCH] GTOD: persistent clock support\n\nPersistent clock support: do proper timekeeping across suspend/resume.\n\n[bunk@stusta.de: cleanup]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1711ef3866b0360e102327389fe4b76c849bbe83",
      "tree": "b74a2cb6167840563d450859a571d6685966b771",
      "parents": [
        "9c4751fd0eab5b8ebbfafb28cbcc8e03b0da5933"
      ],
      "author": {
        "name": "Toyo Abe",
        "email": "toyoa@mvista.com",
        "time": "Fri Sep 29 02:00:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:15 2006 -0700"
      },
      "message": "[PATCH] posix-timers: Fix clock_nanosleep() doesn\u0027t return the remaining time in compatibility mode\n\nThe clock_nanosleep() function does not return the time remaining when the\nsleep is interrupted by a signal.\n\nThis patch creates a new call out, compat_clock_nanosleep_restart(), which\nhandles returning the remaining time after a sleep is interrupted.  This\npatch revives clock_nanosleep_restart().  It is now accessed via the new\ncall out.  The compat_clock_nanosleep_restart() is used for compatibility\naccess.\n\nSince this is implemented in compatibility mode the normal path is\nvirtually unaffected - no real performance impact.\n\nSigned-off-by: Toyo Abe \u003ctoyoa@mvista.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6dba28379edc08327ede01ff41bd3c9dd46a7fa0",
      "tree": "945418feebb2dcf4387ce86bf57a6c4f757e7b43",
      "parents": [
        "fc47e7b592dc45b03c27b0a4c8f2d215dae9944d"
      ],
      "author": {
        "name": "Henrik Kretzschmar",
        "email": "henne@nachtwindheim.de",
        "time": "Wed Sep 06 00:03:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 06 11:00:01 2006 -0700"
      },
      "message": "[PATCH] Documentation for lock_key in struct hrtimer_base\n\nFixes an error message on make xmldocs.\n\nSigned-off-by: Henrik Kretzschmar \u003chenne@nachtwindheim.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "543655244866b8ec648fea1eb9c32a35ffba5721",
      "tree": "7c1dd5b588e7b809648d75f680f2bfa5f94be782",
      "parents": [
        "fcb993712f231a4faea8393513d1276170679107"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:07 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate hrtimer base locks\n\nTeach special (recursive) locking code to the lock validator.  Has no effect\non non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa9799e33d362aeca4555cd6318735bab1c04d16",
      "tree": "3fbef83fe505f34950f4b30fb4158e2e599ce92f",
      "parents": [
        "9dc65576d67dc45e529062e41ca34066e02f03e5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sun Jun 25 05:49:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:23 2006 -0700"
      },
      "message": "[PATCH] ktime/hrtimer: fix kernel-doc comments\n\nFix kernel-doc formatting in ktime.h and hrtimer.[ch] files.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ed198cb49750fd9ec564e9f1df66c10efea605f1",
      "tree": "04b508f5455c6c49e8af89913974108b3e1a83b0",
      "parents": [
        "e977145aeaad23d443686f2a2d5b32800d1607c5"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Apr 22 02:38:50 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sat Apr 22 02:38:50 2006 +0100"
      },
      "message": "[RBTREE] Update hrtimers to use rb_parent() accessor macro.\n\nAlso switch it to use the same method of using off-tree nodes as\neveryone else now does -- set them to point to themselves.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "a580290c3e64bb695158a090d02d1232d9609311",
      "tree": "70f29239b9a206a9afb77ddff35fc47b5b248866",
      "parents": [
        "5d9428de1a9785f10a4339f80b717be665ba51c7"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun Apr 02 13:59:55 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Apr 02 13:59:55 2006 +0200"
      },
      "message": "Documentation: fix minor kernel-doc warnings\n\nThis patch updates the comments to match the actual code.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "00362e33f65f1cb5d15e62ea5509520ce2770360",
      "tree": "02694b1416f3d98c4eebaeca7864c7fd3bad6fa0",
      "parents": [
        "2bfb646cdf348cb77c572f06d5b9d17ea205c7e2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 31 02:31:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] hrtimer: create generic sleeper\n\nThe removal of the data field in the hrtimer structure enforces the\nembedding of the timer into another data structure.  nanosleep now uses a\nprivate implementation of the most common used timer callback function\n(simple task wakeup).\n\nIn order to avoid the reimplentation of such functionality all over the\nplace a generic hrtimer_sleeper functionality is created.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05cfb614ddbf3181540ce09d44d96486f8ba8d6a",
      "tree": "aafed98638557a4643141d906fbb2406f0764a94",
      "parents": [
        "df869b630d9d9131c10cf073fb61646048874b2f"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:03 2006 -0800"
      },
      "message": "[PATCH] hrtimers: remove data field\n\nThe nanosleep cleanup allows to remove the data field of hrtimer.  The\ncallback function can use container_of() to get it\u0027s own data.  Since the\nhrtimer structure is anyway embedded in other structures, this adds no\noverhead.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b75f7a51ca75c977d7d77f735d7a7859194eb39e",
      "tree": "c8057a34970f9a6fb04bdfa37e2926df38747790",
      "parents": [
        "432569bb9d9d424d7ffe5b21f8205c55bdd1aaa8"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:02 2006 -0800"
      },
      "message": "[PATCH] hrtimers: remove state field\n\nRemove the state field and encode this information in the rb_node similiar to\nnormal timer.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "432569bb9d9d424d7ffe5b21f8205c55bdd1aaa8",
      "tree": "da649d202625d061d4fca27a6a63c4f81076724e",
      "parents": [
        "3b98a5328171cebc867f70484b20bd34948cd7f6"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:02 2006 -0800"
      },
      "message": "[PATCH] hrtimers: simplify nanosleep\n\nnanosleep is the only user of the expired state, so let it manage this itself,\nwhich makes the hrtimer code a bit simpler.  The remaining time is also only\ncalculated if requested.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44f21475511bbc0135b52c66ad74dcc6a9026da3",
      "tree": "5cbd605c9d074f40b52a877859957432311b2399",
      "parents": [
        "92127c7a45d4d167d9b015a5f9de6b41ed66f1d0"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:02 2006 -0800"
      },
      "message": "[PATCH] hrtimers: pass current time to hrtimer_forward()\n\nPass current time to hrtimer_forward().  This allows to use the softirq time\nin the timer base when the forward function is called from the timer callback.\n Other places pass current time with a call to timer-\u003ebase-\u003eget_time().\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92127c7a45d4d167d9b015a5f9de6b41ed66f1d0",
      "tree": "4742cc36ff0b26c999365d1e84133886bb694096",
      "parents": [
        "a0e9285233a32edf267d27cd03fe0056951422cf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 26 01:38:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:02 2006 -0800"
      },
      "message": "[PATCH] hrtimers: optimize softirq runqueues\n\nThe hrtimer softirq is called from the timer softirq every tick.  Retrieve the\ncurrent time from xtime and wall_to_monotonic instead of calling\nbase-\u003eget_time() for each timer base.  Store the time in the base structure\nand provide a hook once clock source abstractions are in place and to keep the\ncode open for new base clocks.\n\nBased on a patch from: Roman Zippel \u003czippel@linux-m68k.org\u003e\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69239749e1ac4f3496906aa4267cb9f61ce52c9c",
      "tree": "c64bc2c254b7fa81b50b11c851fe5c86ecdd83c1",
      "parents": [
        "f7c09bd972b7111b8c69bf57a189571edd4d4a7d"
      ],
      "author": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Mon Mar 06 15:42:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 06 18:40:44 2006 -0800"
      },
      "message": "[PATCH] fix next_timer_interrupt() for hrtimer\n\nAlso from Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nFunction next_timer_interrupt() got broken with a recent patch\n6ba1b91213e81aa92b5cf7539f7d2a94ff54947c as sys_nanosleep() was moved to\nhrtimer.  This broke things as next_timer_interrupt() did not check hrtimer\ntree for next event.\n\nFunction next_timer_interrupt() is needed with dyntick (CONFIG_NO_IDLE_HZ,\nVST) implementations, as the system can be in idle when next hrtimer event\nwas supposed to happen.  At least ARM and S390 currently use\nnext_timer_interrupt().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7978672c4d9a1e6a6081de3a9d9ba5e5b24904a0",
      "tree": "a7deb3a6e339e691078c770d4b9cbc05d99a2243",
      "parents": [
        "ff60a5dc4fa584d47022d2533bc5c53b80096fb5"
      ],
      "author": {
        "name": "George Anzinger",
        "email": "george@wildturkeyranch.net",
        "time": "Wed Feb 01 03:05:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:13 2006 -0800"
      },
      "message": "[PATCH] hrtimers: cleanups and simplifications\n\nClean up the interface to hrtimers by changing the init code to pass the mode\nas well as the clock.  This allow the init code to select the correct base and\neliminates extra timer re-init code in posix-timers.  We also simplify the\nrestart interface nanosleep use.\n\nSigned-off-by: George Anzinger \u003cgeorge@mvista.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ff60a5dc4fa584d47022d2533bc5c53b80096fb5",
      "tree": "230e685e1cf26a9ade0e9446d87d41c503444be3",
      "parents": [
        "a16a1c095a2392d49fafea22f3a508e268ef7167"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Wed Feb 01 03:05:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:13 2006 -0800"
      },
      "message": "[PATCH] hrtimers: fix posix-timer requeue race\n\nFrom: Steven Rostedtrostedt@goodmis.org \u003crostedt@goodmis.org\u003e\n\nCPU0 expires a posix-timer and runs the callback function.  The signal is\nqueued.\n\nAfter releasing the posix-timer lock and before returning to hrtimer_run_queue\nCPU0 gets interrupted.  CPU1 delivers the queued signal and rearms the timer.\nCPU0 comes back to hrtimer_run_queue and sets the timer state to expired.\n\nThe next modification of the timer can result in an oops, because the state\ninformation is wrong.\n\nKeep track of state \u003d RUNNING and check if the state has been in the return\npath of hrtimer_run_queue.  In case the state has been changed, ignore a\nrestart request and do not touch the state variable.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c9db4fa11526affde83603fe52595bd1260c1354",
      "tree": "3064d71209b32569cfbd5dd0907fbe65bcf02d5e",
      "parents": [
        "e2787630c1abb075c935cf47e91beb7c656f48c4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:47:34 2006 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:47:34 2006 +0100"
      },
      "message": "[hrtimer] Enforce resolution as lower limit of intervals\n\nRoman Zippel pointed out that the missing lower limit of intervals\nleads to an accounting error in the overrun count. Enforce the lower\nlimit of intervals to resolution in the timer forwarding code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e2787630c1abb075c935cf47e91beb7c656f48c4",
      "tree": "43b6ee44b9f81fdb33283313f167d6ecec2b0243",
      "parents": [
        "288867ec5c377db82933b64460ce050e5c998ee9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:36:14 2006 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:36:14 2006 +0100"
      },
      "message": "[hrtimer] Change resolution storage to ktime_t format\n\nChange the storage format of the per base resolution to ktime_t to\nmake it easier accessible in the hrtimers code.\n\nChange the resolution from (NSEC_PER_SEC/HZ) to TICK_NSEC as Roman\npointed out. TICK_NSEC is closer to the real resolution.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "288867ec5c377db82933b64460ce050e5c998ee9",
      "tree": "d1c0c2e89cb7ffa2ac613e9b1740b81a813965a7",
      "parents": [
        "593195f9b2309693f27b402f34573f7920b82c3e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:25:54 2006 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 12 11:25:54 2006 +0100"
      },
      "message": "[hrtimer] Remove listhead from hrtimer struct\n\nThe list_head in the hrtimer structure was introduced for easy access\nto the first timer with the further extensions of real high resolution\ntimers in mind, but it turned out in the course of development that\nit is not necessary for the standard use case. Remove the list head\nand access the first expiry timer by a datafield in the timer base.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "becf8b5d00f4b47e847f98322cdaf8cd16243861",
      "tree": "152ba7583324c64d34ecc70d5401957ca7225761",
      "parents": [
        "97735f25d2ba898ec5e13746451525580631c834"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:39 2006 -0800"
      },
      "message": "[PATCH] hrtimer: convert posix timers completely\n\n- convert posix-timers.c to use hrtimers\n\n- remove the now obsolete abslist code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "10c94ec16dd187f8d8dfdbb088e98330c05bf03c",
      "tree": "d24036d92c24cea0c1cd163409177ecb735468e6",
      "parents": [
        "2ff678b8da6478d861c1b0ecb3ac14575760e906"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:38 2006 -0800"
      },
      "message": "[PATCH] hrtimer: create hrtimer nanosleep API\n\nintroduce the hrtimer_nanosleep() and hrtimer_nanosleep_real() APIs.  Not yet\nused by any code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0a3132963db68f1fbbd0e316b73de100fee3f08",
      "tree": "cdd76aacf0ca7ae7780696a06bf9643f8b245ba1",
      "parents": [
        "97fc79f97b1111c80010d34ee66312b88f531e41"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:37 2006 -0800"
      },
      "message": "[PATCH] hrtimer: hrtimer core code\n\nhrtimer subsystem core.  It is initialized at bootup and expired by the timer\ninterrupt, but is otherwise not utilized by any other subsystem yet.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
