)]}'
{
  "log": [
    {
      "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": "c4bd822e7b12a9008241d76db45b665f2fef180c",
      "tree": "bd4b7b4e2e7db065c971eb264196f02e0b01ecff",
      "parents": [
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 21 20:17:35 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 21 20:53:24 2008 +0200"
      },
      "message": "NOHZ: fix thinko in the timer restart code path\n\ncommit fb02fbc14d17837b4b7b02dbb36142c16a7bf208 (NOHZ: restart tick\ndevice from irq_enter())\n\nsolves the problem of stale jiffies when long running softirqs happen\nin a long idle sleep period, but it has a major thinko in it:\n\nWhen the interrupt which came in _is_ the timer interrupt which should\nexpire ts-\u003esched_timer then we cancel and rearm the timer _before_ it\ngets expired in hrtimer_interrupt() to the next period. That means the\ncall back function is not called. This game can go on for ever :(\n\nPrevent this by making sure to only rearm the timer when the expiry\ntime is more than one tick_period away. Otherwise keep it running as\nit is either already expired or will expiry at the right point to\nupdate jiffies.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Venkatesch Pallipadi \u003cvenkatesh.pallipadi@intel.com\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": "870e2a284567714335d125c390366dce882d726f",
      "tree": "9efbf834eccda9d06a7a16f6ee12b0cc2b627a1f",
      "parents": [
        "c5b77a3d3a716a5c61a1999d7f2a78e9c39fd1b0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:41:55 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 11:51:30 2008 +0200"
      },
      "message": "timer_list: add base address to clock base\n\nThe base address of a (per cpu) clock base is a useful debug info.\nAdd it and bump the version number of timer_lists.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c5b77a3d3a716a5c61a1999d7f2a78e9c39fd1b0",
      "tree": "14e0c3d2c504fded2dd208c774a38c183f496183",
      "parents": [
        "e67ef25a35b949561a9bd77693523ec94ab4a278"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:31:41 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 11:51:30 2008 +0200"
      },
      "message": "timer_list: print cpu number of clockevents device\n\nThe per cpu clock events device output of timer_list lacks an\nassociation of the device to the cpu which is annoying when looking at\nthe output of /proc/timer_list from a 128 way system. \n\nAdd the CPU number info and mark the broadcast device in the device\nlist printout.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e67ef25a35b949561a9bd77693523ec94ab4a278",
      "tree": "225d5c1df4532c57698d081c39306f21181eb38d",
      "parents": [
        "0cfd81031a26717fe14380d18275f8e217571615"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 25 23:50:23 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 11:51:30 2008 +0200"
      },
      "message": "timer_list: print real timer address\n\nThe current timer_list output prints the address of the on stack copy\nof the active hrtimer instead of the hrtimer itself.\n\nPrint the address of the real timer instead.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "fb02fbc14d17837b4b7b02dbb36142c16a7bf208",
      "tree": "9df1d069c5612047c38a9f6d6dc801ee0369ae3c",
      "parents": [
        "c34bec5a44e9486597d78e7a686b2f9088a0564c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 17 10:01:23 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Fri Oct 17 18:13:38 2008 +0200"
      },
      "message": "NOHZ: restart tick device from irq_enter()\n\nWe did not restart the tick device from irq_enter() to avoid double\nreprogramming and extra events in the return immediate to idle case.\n\nBut long lasting softirqs can lead to a situation where jiffies become\nstale:\n\nidle()\n  tick stopped (reprogrammed to next pending timer)\n  halt()\n   interrupt\n     jiffies updated from irq_enter()\n     interrupt handler\n     softirq function 1 runs 20ms\n     softirq function 2 arms a 10ms timer with a stale jiffies value\n     jiffies updated from irq_exit()\n     timer wheel has now an already expired timer\n     (the one added in function 2)\n     timer fires and timer softirq runs\n\nThis was discovered when debugging a timer problem which happend only\nwhen the ath5k driver is active. The debugging proved that there is a\nsoftirq function running for more than 20ms, which is a bug by itself.\n\nTo solve this we restart the tick timer right from irq_enter(), but do\nnot go through the other functions which are necessary to return from\nidle when need_resched() is set.\n\nReported-by: Elias Oltmanns \u003ceo@nebensachen.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Elias Oltmanns \u003ceo@nebensachen.de\u003e\n"
    },
    {
      "commit": "c34bec5a44e9486597d78e7a686b2f9088a0564c",
      "tree": "dd538560814ea54ce8d3f46b935dd24127fba04e",
      "parents": [
        "719254faa17ffedc87ba0fadb9b34e535c9758d5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 17 10:04:34 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Fri Oct 17 18:13:38 2008 +0200"
      },
      "message": "NOHZ: split tick_nohz_restart_sched_tick()\n\nSplit out the clock event device reprogramming. Preparatory\npatch.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "719254faa17ffedc87ba0fadb9b34e535c9758d5",
      "tree": "6afe1e9f2175aa5394cf6e0fc7c84afef0be3e9b",
      "parents": [
        "2e532d68a2b3e2aa6b19731501222069735c741c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 17 09:59:47 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@apollo.(none)",
        "time": "Fri Oct 17 18:13:38 2008 +0200"
      },
      "message": "NOHZ: unify the nohz function calls in irq_enter()\n\nWe have two separate nohz function calls in irq_enter() for no good\nreason. Just call a single NOHZ function from irq_enter() and call\nthe bits in the tick code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e533b227055598b1f7dc8503a3b4f36b14b9da8a",
      "tree": "28fec4125eac45c8e2fac75b3d10ff5cd987d2f6",
      "parents": [
        "0999d978dcdcf59350dafa25afd70def9f924eee",
        "6b2ada82101a08e2830fb29d7dc9b858be637dd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 15:17:40 2008 -0700"
      },
      "message": "Merge branch \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  do_generic_file_read: s/EINTR/EIO/ if lock_page_killable() fails\n  softirq, warning fix: correct a format to avoid a warning\n  softirqs, debug: preemption check\n  x86, pci-hotplug, calgary / rio: fix EBDA ioremap()\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding, fix\n  IO resources, x86: ioremap sanity check to catch mapping requests exceeding the BAR sizes\n  softlockup: Documentation/sysctl/kernel.txt: fix softlockup_thresh description\n  dmi scan: warn about too early calls to dmi_check_system()\n  generic: redefine resource_size_t as phys_addr_t\n  generic: make PFN_PHYS explicitly return phys_addr_t\n  generic: add phys_addr_t for holding physical addresses\n  softirq: allocate less vectors\n  IO resources: fix/remove printk\n  printk: robustify printk, update comment\n  printk: robustify printk, fix #2\n  printk: robustify printk, fix\n  printk: robustify printk\n\nFixed up conflicts in:\n\tarch/powerpc/include/asm/types.h\n\tarch/powerpc/platforms/Kconfig.cputype\nmanually.\n"
    },
    {
      "commit": "9ba16087d9f996a93ab6f4453a52a4b24bc1f25c",
      "tree": "98a292c556b646aec40ce137b1ec689b3469f120",
      "parents": [
        "a25d644fc0e232f242d1f3baa63c149c42536ff0"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Wed Oct 15 22:01:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:31 2008 -0700"
      },
      "message": "Kconfig: eliminate \"def_bool n\" constructs\n\nUsing \"def_bool n\" is pointless, simply using bool here appears more\nappropriate.\n\nFurther, retaining such options that don\u0027t have a prompt and aren\u0027t\nselected by anything seems also at least questionable.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b2ada82101a08e2830fb29d7dc9b858be637dd4",
      "tree": "c0580c250211f8773674f3a4f7cd575818f153cc",
      "parents": [
        "278429cff8809958d25415ba0ed32b59866ab1a8",
        "3b7ecb5d2ffde82efd1b1bcc6780dc8a019acf02",
        "77af7e3403e7314c47b0c07fbc5e4ef21d939532",
        "15160716eea5591eb31f40fd4dba56d83bea4209",
        "1fa63a817d27af7dc0d5ed454eb8fe5dec65fac7",
        "85462323555dda749f1c5373a8d72679464c968d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 12:48:44 2008 +0200"
      },
      "message": "Merge branches \u0027core/softlockup\u0027, \u0027core/softirq\u0027, \u0027core/resources\u0027, \u0027core/printk\u0027 and \u0027core/misc\u0027 into core-v28-for-linus\n"
    },
    {
      "commit": "8083e4ad970e4eb567e31037060cdd4ba346f0c0",
      "tree": "330e6dc1dbb7c7db13d14f3681d4a51f62708329",
      "parents": [
        "e9d95bf7eb929b9ddc9af9f4327b76c77ed4c7d6"
      ],
      "author": {
        "name": "venkatesh.pallipadi@intel.com",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Mon Aug 04 11:59:11 2008 -0700"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Oct 09 13:52:44 2008 -0400"
      },
      "message": "[CPUFREQ][5/6] cpufreq: Changes to get_cpu_idle_time_us(), used by ondemand governor\n\nexport get_cpu_idle_time_us() for it to be used in ondemand governor.\nLast update time can be current time when the CPU is currently non-idle,\naccounting for the busy time since last idle.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "07454bfff151d2465ada809bbaddf3548cc1097c",
      "tree": "fae1802b291e57c0376f9deddcbd8bf539587940",
      "parents": [
        "2165f631f0e1d4e9a1ee425ef05cb727352285e0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 04 10:51:07 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Oct 04 10:51:07 2008 +0200"
      },
      "message": "clockevents: check broadcast tick device not the clock events device\n\nImpact: jiffies increment too fast.\n\nHugh Dickins noted that with NOHZ\u003dn and HIGHRES\u003dn jiffies get\nincremented too fast. The reason is a wrong check in the broadcast\nenter/exit code, which keeps the local apic timer in periodic mode\nwhen the switch happens.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "d40e944c25fb4642adb2a4c580a48218a9f3f824",
      "tree": "9be7107440704a84d17f9dde12991915931c5279",
      "parents": [
        "5cd1c9c5cf30d4b33df3d3f74d8142f278d536b7"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Mon Sep 22 14:42:44 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 17:33:13 2008 +0200"
      },
      "message": "ntp: improve adjtimex frequency rounding\n\nChange PPM_SCALE_INV_SHIFT so that it doesn\u0027t throw away any input bits\n(19 is the amount of the factor 2 in PPM_SCALE), the output frequency\ncan then be calculated back to its input value, as the inverse divide\nproduce a slightly larger value, which is then correctly rounded by the\nfinal shift.\n\nReported-by: Martin Ziegler \u003cziegler@uni-freiburg.de\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5cd1c9c5cf30d4b33df3d3f74d8142f278d536b7",
      "tree": "6d74ddeff7e9a044d961d36db13071c158f0557a",
      "parents": [
        "eb3f938fd6292dc79f43a5fe14784b044776e9f0"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Mon Sep 22 14:42:43 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 17:33:13 2008 +0200"
      },
      "message": "timekeeping: fix rounding problem during clock update\n\nDue to a rounding problem during a clock update it\u0027s possible for readers\nto observe the clock jumping back by 1nsec.  The following simplified\nexample demonstrates the problem:\n\ncycle\txtime\n0\t0\n1000\t999999.6\n2000\t1999999.2\n3000\t2999998.8\n...\n\n1500 \u003d\t1499999.4\n\u003d\t0.0 + 1499999.4\n\u003d\t999999.6 + 499999.8\n\nWhen reading the clock only the full nanosecond part is used, while\ntimekeeping internally keeps nanosecond fractions.  If the clock is now\nupdated at cycle 1500 here, a nanosecond is missing due to the truncation.\n\nThe simple fix is to round up the xtime value during the update, this also\nchanges the distance to the reference time, but the adjustment will\nautomatically take care that it stays under control.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eb3f938fd6292dc79f43a5fe14784b044776e9f0",
      "tree": "eb0b485e95af3c6c15871992a9a6d0977869c9e7",
      "parents": [
        "77dd3b3bd23111040c504be6bd873a5ad09f02df"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Mon Sep 22 14:42:40 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 17:33:12 2008 +0200"
      },
      "message": "ntp: let update_persistent_clock() sleep\n\nThis is a change that makes the 11-minute RTC update be run in the process\ncontext.  This is so that update_persistent_clock() can sleep, which may\nbe required for certain types of RTC hardware -- most notably I2C devices.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nAcked-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f8e256c687eb53850685747757c8d75e58756e15",
      "tree": "56a406943bb27888be8c814a44958b7314b46f29",
      "parents": [
        "09bfeea13cea843fb03eaa96b5d891fa0abdcc90"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 13:00:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 12:57:00 2008 +0200"
      },
      "message": "timers: fix build error in !oneshot case\n\n kernel/time/tick-common.c: In function ‘tick_setup_periodic’:\n kernel/time/tick-common.c:113: error: implicit declaration of function ‘tick_broadcast_oneshot_active’\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27ce4cb4a0c7cf59b9a9952266883862f2e4c99f",
      "tree": "066245d42877d8535853e3199b33cdf1110eb8e4",
      "parents": [
        "302745699c1b675b5d2a1af87271de10e4d96b6a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 19:04:02 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:53 2008 +0200"
      },
      "message": "clockevents: prevent mode mismatch on cpu online\n\nImpact: timer hang on CPU online observed on AMD C1E systems\n\nWhen a CPU is brought online then the broadcast machinery can\nbe in the one shot state already. Check this and setup the timer \ndevice of the new CPU in one shot mode so the broadcast code\ncan pick up the next_event value correctly.\n\nAnother AMD C1E oddity, as we switch to broadcast immediately and\nnot after the full bring up via the ACPI cpu idle code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "302745699c1b675b5d2a1af87271de10e4d96b6a",
      "tree": "4efc6c93c038e14021fa10b1eb358695f45f2130",
      "parents": [
        "49d670fb8dd62d3ed4e3ed2513538ea65b051aed"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 19:02:25 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:53 2008 +0200"
      },
      "message": "clockevents: check broadcast device not tick device\n\nImpact: Possible hang on CPU online observed on AMD C1E machines.\n\nThe broadcast setup code looks at the mode of the tick device to\ndetermine whether it needs to be shut down or setup. This is wrong\nwhen the broadcast mode is set to one shot already. This can happen\nwhen a CPU is brought online as it goes through the periodic setup\nfirst.\n\nThe problem went unnoticed as sane systems do not call into that code\nbefore the switch to one shot for the clock event device happens.\nThe AMD C1E idle routine switches over immediately and thereby shuts\ndown the just setup device before the first interrupt happens.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "49d670fb8dd62d3ed4e3ed2513538ea65b051aed",
      "tree": "7d571897b5407abc25b776d4738e4af3ea0a5940",
      "parents": [
        "4faac97d44ac27bdbb010a9c3597401a8f89341f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 18:56:01 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:53 2008 +0200"
      },
      "message": "clockevents: prevent stale tick_next_period for onlining CPUs\n\nImpact: possible hang on CPU onlining in timer one shot mode.\n\nThe tick_next_period variable is only used during boot on nohz/highres\nenabled systems, but for CPU onlining it needs to be maintained when\nthe per cpu clock events device operates in one shot mode.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6441402b1f173fa38e561d3cee7c01c32e5281ad",
      "tree": "fd7c81337354f39e44581530d499bcdda06d76c4",
      "parents": [
        "72d31053f62c4bc464c2783974926969614a8649"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 22 18:46:37 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 23 11:38:52 2008 +0200"
      },
      "message": "clockevents: prevent cpu online to interfere with nohz\n\nImpact: rare hang which can be triggered on CPU online.\n\ntick_do_timer_cpu keeps track of the CPU which updates jiffies\nvia do_timer. The value -1 is used to signal, that currently no\nCPU is doing this. There are two cases, where the variable can \nhave this state:\n\n boot:\n    necessary for systems where the boot cpu id can be !\u003d 0\n\n nohz long idle sleep:\n    When the CPU which did the jiffies update last goes into\n    a long idle sleep it drops the update jiffies duty so\n    another CPU which is not idle can pick it up and keep\n    jiffies going.\n\nUsing the same value for both situations is wrong, as the CPU online\ncode can see the -1 state when the timer of the newly onlined CPU is\nsetup. The setup for a newly onlined CPU goes through periodic mode\nand can pick up the do_timer duty without being aware of the nohz /\nhighres mode of the already running system.\n\nUse two separate states and make them constants to avoid magic\nnumbers confusion. \n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2344abbcbdb82140050e8be29d3d55e4f6fe860b",
      "tree": "46c1842fc2a47aa4d7ee0c2c558f54bc50772b69",
      "parents": [
        "f1926ce63b996b42772b39e4b47bb4ef4ba748b4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 16 11:32:50 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 16 13:47:02 2008 -0700"
      },
      "message": "clockevents: make device shutdown robust\n\nThe device shut down does not cleanup the next_event variable of the\nclock event device. So when the device is reactivated the possible\nstale next_event value can prevent the device to be reprogrammed as it\nclaims to wait on a event already.\n\nThis is the root cause of the resurfacing suspend/resume problem,\nwhere systems need key press to come back to life.\n\nFix this by setting next_event to KTIME_MAX when the device is shut\ndown. Use a separate function for shutdown which takes care of that\nand only keep the direct set mode call in the broadcast code, where we\ncan not touch the next_event value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "61c22c34c6f80a8e89cff5ff717627c54cc14fd4",
      "tree": "33349263152d3ed4fd7d65e4c3d60340e6676b5c",
      "parents": [
        "82a28c794f27aac17d7a3ebd7f14d731a11a5532"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 09 21:38:57 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Sep 09 22:20:01 2008 +0200"
      },
      "message": "clockevents: remove WARN_ON which was used to gather information\n\nThe issue of the endless reprogramming loop due to a too small\nmin_delta_ns was fixed with the previous updates of the clock events\ncode, but we had no information about the spread of this problem. I\nadded a WARN_ON to get automated information via kerneloops.org and to\nget some direct reports, which allowed me to analyse the affected\nmachines.\n\nThe WARN_ON has served its purpose and would be annoying for a release\nkernel. Remove it and just keep the information about the increase of\nthe min_delta_ns value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "704af52bd13a5d9f3c60c496c68e752fafdfb434",
      "tree": "31ee65210e45b3991a184d3a6dda395a573e97eb",
      "parents": [
        "4ce105d30e08fb8a1783c55a0e48aa3fa200c455"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Sep 07 16:10:20 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Sep 07 16:10:20 2008 -0700"
      },
      "message": "hrtimer: show the timer ranges in /proc/timer_list\n\nto help debugging and visibility of timer ranges, show them\nin the existing timer list in /proc/timer_list\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "f5325225658737e6c9cb8e24373e2c281a90be2a",
      "tree": "f1daf00b394b543876b6ffbfd67c050c3bb1b114",
      "parents": [
        "4747832b56a95dbeb0cef4714e6fcc766eed0a95",
        "4ab6a219113197425ac112e35e1ec8062c69888e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:33:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 06 19:33:26 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  clocksource, acpi_pm.c: check for monotonicity\n  clocksource, acpi_pm.c: use proper read function also in errata mode\n  ntp: fix calculation of the next jiffie to trigger RTC sync\n  x86: HPET: read back compare register before reading counter\n  x86: HPET fix moronic 32/64bit thinko\n  clockevents: broadcast fixup possible waiters\n  HPET: make minimum reprogramming delta useful\n  clockevents: prevent endless loop lockup\n  clockevents: prevent multiple init/shutdown\n  clockevents: enforce reprogram in oneshot setup\n  clockevents: prevent endless loop in periodic broadcast handler\n  clockevents: prevent clockevent event_handler ending up handler_noop\n"
    },
    {
      "commit": "4ff4b9e19a80b73959ebeb28d1df40176686f0a8",
      "tree": "0b9068da53ae13d253d7c21a76a58be9cc5f7fc3",
      "parents": [
        "72d43d9bc9210d24d09202eaf219eac09e17b339"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Fri Sep 05 14:05:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 15:31:48 2008 +0200"
      },
      "message": "ntp: fix calculation of the next jiffie to trigger RTC sync\n\nWe have a bug in the calculation of the next jiffie to trigger the RTC\nsynchronisation.  The aim here is to run sync_cmos_clock() as close as\npossible to the middle of a second.  Which means we want this function to\nbe called less than or equal to half a jiffie away from when now.tv_nsec\nequals 5e8 (500000000).\n\nIf this is not the case for a given call to the function, for this purpose\ninstead of updating the RTC we calculate the offset in nanoseconds to the\nnext point in time where now.tv_nsec will be equal 5e8.  The calculated\noffset is then converted to jiffies as these are the unit used by the\ntimer.\n\nHovewer timespec_to_jiffies() used here uses a ceil()-type rounding mode,\nwhere the resulting value is rounded up.  As a result the range of\nnow.tv_nsec when the timer will trigger is from 5e8 to 5e8 + TICK_NSEC\nrather than the desired 5e8 - TICK_NSEC / 2 to 5e8 + TICK_NSEC / 2.\n\nAs a result if for example sync_cmos_clock() happens to be called at the\ntime when now.tv_nsec is between 5e8 + TICK_NSEC / 2 and 5e8 to 5e8 +\nTICK_NSEC, it will simply be rescheduled HZ jiffies later, falling in the\nsame range of now.tv_nsec again.  Similarly for cases offsetted by an\ninteger multiple of TICK_NSEC.\n\nThis change addresses the problem by subtracting TICK_NSEC / 2 from the\nnanosecond offset to the next point in time where now.tv_nsec will be\nequal 5e8, effectively shifting the following rounding in\ntimespec_to_jiffies() so that it produces a rounded-to-nearest result.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77dd3b3bd23111040c504be6bd873a5ad09f02df",
      "tree": "119ddcdf89d6a593a8fefea530249084559eeb44",
      "parents": [
        "916c7a855174e3b53d182b97a26b2e27a29726a1",
        "70bb08962ea9bd50797ae9f16b2493f5f7c65053"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 15:31:03 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 15:31:03 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/ntp\n"
    },
    {
      "commit": "7300711e8c6824fcfbd42a126980ff50439d8dd0",
      "tree": "20183d1ce4fa8237042644b2a79fbf01471da18d",
      "parents": [
        "7cfb0435330364f90f274a26ecdc5f47f738498c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Sep 06 03:01:45 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Sep 06 07:21:17 2008 +0200"
      },
      "message": "clockevents: broadcast fixup possible waiters\n\nUntil the C1E patches arrived there where no users of periodic broadcast\nbefore switching to oneshot mode. Now we need to trigger a possible\nwaiter for a periodic broadcast when switching to oneshot mode.\nOtherwise we can starve them for ever.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cc584b213f252bf698849cf4be2377cd3ec7501a",
      "tree": "621ba11da6a2ab8598f9ed453836cd2c44192260",
      "parents": [
        "23dd7bb09bd8d7efd8a602aed97b93d52f85e675"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 01 15:02:30 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Sep 05 21:35:13 2008 -0700"
      },
      "message": "hrtimer: convert kernel/* to the new hrtimer apis\n\nIn order to be able to do range hrtimers we need to use accessor functions\nto the \"expire\" member of the hrtimer struct.\nThis patch converts kernel/* to these accessors.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "56c7426b3951e4f35a71d695f1c982989399d6fd",
      "tree": "26001a24308baceab1ff36eb8ab1ed43fb831a4f",
      "parents": [
        "b380b0d4f7dffcc235c0facefa537d4655619101"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 01 16:44:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 05 18:14:08 2008 +0200"
      },
      "message": "sched_clock: fix NOHZ interaction\n\nIf HLT stops the TSC, we\u0027ll fail to account idle time, thereby inflating the\nactual process times. Fix this by re-calibrating the clock against GTOD when\nleaving nohz mode.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Avi Kivity \u003cavi@qumranet.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1fb9b7d29d8e85ba3196eaa7ab871bf76fc98d36",
      "tree": "1fbefa54e16e76f76616202d8abf9607725afeff",
      "parents": [
        "9c17bcda991000351cb2373f78be7e4b1c44caa3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 03 21:37:14 2008 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 05 11:11:53 2008 +0200"
      },
      "message": "clockevents: prevent endless loop lockup\n\nThe C1E/HPET bug reports on AMDX2/RS690 systems where tracked down to a\ntoo small value of the HPET minumum delta for programming an event.\n\nThe clockevents code needs to enforce an interrupt event on the clock event\ndevice in some cases. The enforcement code was stupid and naive, as it just\nadded the minimum delta to the current time and tried to reprogram the device.\nWhen the minimum delta is too small, then this loops forever.\n\nAdd a sanity check. Allow reprogramming to fail 3 times, then print a warning\nand double the minimum delta value to make sure, that this does not happen again.\nUse the same function for both tick-oneshot and tick-broadcast code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c17bcda991000351cb2373f78be7e4b1c44caa3",
      "tree": "769385b50e512a3aafa8735be23c199bf83c56e7",
      "parents": [
        "7205656ab48da29a95d7f55e43a81db755d3cb3a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 03 21:37:08 2008 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 05 11:11:52 2008 +0200"
      },
      "message": "clockevents: prevent multiple init/shutdown\n\nWhile chasing the C1E/HPET bugreports I went through the clock events\ncode inch by inch and found that the broadcast device can be initialized\nand shutdown multiple times. Multiple shutdowns are not critical, but\nuseless waste of time. Multiple initializations are simply broken. Another\nCPU might have the device in use already after the first initialization and\nthe second init could just render it unusable again.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7205656ab48da29a95d7f55e43a81db755d3cb3a",
      "tree": "7721904e6912a9dcd09fc4041dfb07807c2ef4b7",
      "parents": [
        "d4496b39559c6d43f83e4c08b899984f8b8089b5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 03 21:37:03 2008 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 05 11:11:52 2008 +0200"
      },
      "message": "clockevents: enforce reprogram in oneshot setup\n\nIn tick_oneshot_setup we program the device to the given next_event,\nbut we do not check the return value. We need to make sure that the\ndevice is programmed enforced so the interrupt handler engine starts\nworking. Split out the reprogramming function from tick_program_event()\nand call it with the device, which was handed in to tick_setup_oneshot().\nSet the force argument, so the devices is firing an interrupt.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4496b39559c6d43f83e4c08b899984f8b8089b5",
      "tree": "2d2007eab7942fef1c4dee43f7be24e3bfbcfe62",
      "parents": [
        "7c1e76897492d92b6a1c2d6892494d39ded9680c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 03 21:36:57 2008 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 05 11:11:51 2008 +0200"
      },
      "message": "clockevents: prevent endless loop in periodic broadcast handler\n\nThe reprogramming of the periodic broadcast handler was broken,\nwhen the first programming returned -ETIME. The clockevents code\nstores the new expiry value in the clock events device next_event field\nonly when the programming time has not been elapsed yet. The loop in\nquestion calculates the new expiry value from the next_event value\nand therefor never increases.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7c1e76897492d92b6a1c2d6892494d39ded9680c",
      "tree": "ea04e1be252e176fe5a665a28fd1c26a562cb1fa",
      "parents": [
        "d210baf53b699fc61aa891c177b71d7082d3b957"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed Sep 03 21:36:50 2008 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 05 11:11:51 2008 +0200"
      },
      "message": "clockevents: prevent clockevent event_handler ending up handler_noop\n\nThere is a ordering related problem with clockevents code, due to which\nclockevents_register_device() called after tickless/highres switch\nwill not work. The new clockevent ends up with clockevents_handle_noop as\nevent handler, resulting in no timer activity.\n\nThe problematic path seems to be\n\n* old device already has hrtimer_interrupt as the event_handler\n* new clockevent device registers with a higher rating\n* tick_check_new_device() is called\n  * clockevents_exchange_device() gets called\n    * old-\u003eevent_handler is set to clockevents_handle_noop\n  * tick_setup_device() is called for the new device\n    * which sets new-\u003eevent_handler using the old-\u003eevent_handler which is noop.\n\nChange the ordering so that new device inherits the proper handler.\n\nThis does not have any issue in normal case as most likely all the clockevent\ndevices are setup before the highres switch. But, can potentially be affecting\nsome corner case where HPET force detect happens after the highres switch.\nThis was a problem with HPET in MSI mode code that we have been experimenting\nwith.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "916c7a855174e3b53d182b97a26b2e27a29726a1",
      "tree": "791b9975b6de18f0120d962b08f74f088386b44d",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed Aug 20 16:46:08 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 22 06:40:18 2008 +0200"
      },
      "message": "ntp: fix ADJ_OFFSET_SS_READ bug and do_adjtimex() cleanup\n\nThanks to the review by Michael Kerrisk a bug in the recent\nADJ_OFFSET_SS_READ option was discovered, where the ntp time_offset was\ninadvertently set by it.  This fixes this by making the adjtime code\nmore separate from the ntp_adjtime code (both of which really want to\nbe separate syscalls).\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c4fbe5e01d7e5309be5045e7ae0db20a049e6dc",
      "tree": "550195cb1a2ed58bc343e9a4f54d773e8abd5f90",
      "parents": [
        "6a55617ed5d1aa62b850de2cf66f5ede2eef4825"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Aug 20 16:37:38 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:54:06 2008 +0200"
      },
      "message": "nohz: fix wrong event handler after online an offlined cpu\n\nOn the tickless system(CONFIG_NO_HZ\u003dy and CONFIG_HIGH_RES_TIMERS\u003dn), after\nI made an offlined cpu online, I found this cpu\u0027s event handler was\ntick_handle_periodic, not tick_nohz_handler.\n\nAfter debuging, I found this bug was caused by the wrong tick mode.  the\ntick mode is not changed to NOHZ_MODE_INACTIVE when the cpu is offline.\n\nThis patch fixes this bug.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2d42244ae71d6c7b0884b5664cf2eda30fb2ae68",
      "tree": "947e86ec6e2d7362daa9a170a352c035f3618d64",
      "parents": [
        "9a055117d3d9cb562f83f8d4cd88772761f4cab0"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed Aug 20 16:37:30 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:50:24 2008 +0200"
      },
      "message": "clocksource: introduce CLOCK_MONOTONIC_RAW\n\nIn talking with Josip Loncaric, and his work on clock synchronization (see\nbtime.sf.net), he mentioned that for really close synchronization, it is\nuseful to have access to \"hardware time\", that is a notion of time that is\nnot in any way adjusted by the clock slewing done to keep close time sync.\n\nPart of the issue is if we are using the kernel\u0027s ntp adjusted\nrepresentation of time in order to measure how we should correct time, we\ncan run into what Paul McKenney aptly described as \"Painting a road using\nthe lines we\u0027re painting as the guide\".\n\nI had been thinking of a similar problem, and was trying to come up with a\nway to give users access to a purely hardware based time representation\nthat avoided users having to know the underlying frequency and mask values\nneeded to deal with the wide variety of possible underlying hardware\ncounters.\n\nMy solution is to introduce CLOCK_MONOTONIC_RAW.  This exposes a\nnanosecond based time value, that increments starting at bootup and has no\nfrequency adjustments made to it what so ever.\n\nThe time is accessed from userspace via the posix_clock_gettime() syscall,\npassing CLOCK_MONOTONIC_RAW as the clock_id.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a055117d3d9cb562f83f8d4cd88772761f4cab0",
      "tree": "a822607ebb46491e3b480d11c136c5bc8585e38c",
      "parents": [
        "1aa5dfb751d275ae7117d3b73ac423b4a46f2a73"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Wed Aug 20 16:37:28 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:50:24 2008 +0200"
      },
      "message": "clocksource: introduce clocksource_forward_now()\n\nTo keep the raw monotonic patch simple first introduce\nclocksource_forward_now(), which takes care of the offset since the last\nupdate_wall_time() call and adds it to the clock, so there is no need\nanymore to deal with it explicitly at various places, which need to make\nsignificant changes to the clock.\n\nThis is also gets rid of the timekeeping_suspend_nsecs, instead of\nwaiting until resume, the value is accumulated during suspend. In the end\nthere is only a single user of __get_nsec_offset() left, so I integrated\nit back to getnstimeofday().\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1aa5dfb751d275ae7117d3b73ac423b4a46f2a73",
      "tree": "dde8d56d000c7885c43df0e61f72f4a75d5759fe",
      "parents": [
        "ee974e01e5ef2914036f08c8e41d1a3fa8bfc9d9"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed Aug 20 16:37:28 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:50:23 2008 +0200"
      },
      "message": "clocksource: keep track of original clocksource frequency\n\nThe clocksource frequency is represented by\nclocksource-\u003emult/2^(clocksource-\u003eshift).  Currently, when NTP makes\nadjustments to the clock frequency, they are made directly to the mult\nvalue.\n\nThis has the drawback that once changed, we cannot know what the orignal\nmult value was, or how much adjustment has been applied.\n\nThis property causes problems in calculating proper ntp intervals when\nswitching back and forth between clocksources.\n\nThis patch separates the current mult value into a mult and mult_orig\npair.  The mult_orig value stays constant, while the ntp clocksource\nadjustments are done only to the mult value.\n\nThis allows for correct ntp interval calculation and additionally lays the\ngroundwork for a new notion of time, what I\u0027m calling the monotonic-raw\ntime, which is introduced in a following patch.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b845b517b5e3706a3729f6ea83b88ab85f0725b0",
      "tree": "4311e4c2e6c3fdbdbe89149d1501944294186455",
      "parents": [
        "796aadeb1b2db9b5d463946766c5bbfd7717158c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 08 21:47:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 13:46:53 2008 +0200"
      },
      "message": "printk: robustify printk\n\nAvoid deadlocks against rq-\u003elock and xtime_lock by deferring the klogd\nwakeup by polling from the timer tick.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4e4e534faa3c2be4e165ce414f44b76ada7208c",
      "tree": "615280ce53bdba4f99c95616d2a1527c3b863c39",
      "parents": [
        "39675e89fb472c1b9c8e740e00acb1df2bbc6be7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 31 17:20:29 2008 +0200"
      },
      "message": "sched clock: revert various sched_clock() changes\n\nFound an interactivity problem on a quad core test-system - simple\nCPU loops would occasionally delay the system un an unacceptable way.\n\nAfter much debugging with Peter Zijlstra it turned out that the problem\nis caused by the string of sched_clock() changes - they caused the CPU\nclock to jump backwards a bit - which confuses the scheduler arithmetics.\n\n(which is unsigned for performance reasons)\n\nSo revert:\n\n # c300ba2: sched_clock: and multiplier for TSC to gtod drift\n # c0c8773: sched_clock: only update deltas with local reads.\n # af52a90: sched_clock: stop maximum check on NO HZ\n # f7cce27: sched_clock: widen the max and min time\n\nThis solves the interactivity problems.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\n"
    },
    {
      "commit": "0bc3cc03fa6e1c20aecb5a33356bcaae410640b9",
      "tree": "7dab4b0002298b45e31053fe0f37e5ff745682b7",
      "parents": [
        "6524d938b3360504b43a1278b5a8403e85383d1a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Thu Jul 24 18:21:31 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 26 16:40:33 2008 +0200"
      },
      "message": "cpumask: change cpumask_of_cpu_ptr to use new cpumask_of_cpu\n\n  * Replace previous instances of the cpumask_of_cpu_ptr* macros\n    with a the new (lvalue capable) generic cpumask_of_cpu().\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jack Steiner \u003csteiner@sgi.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ecc8b655b38a880b578146895e0e1e2d477ca2c0",
      "tree": "4acce96bac00909fa9472f0c0669714243ea5bee",
      "parents": [
        "2528ce3237be4e900f5eaa455490146e1422e424",
        "e338125b8a886923ba8367207c144764dc352584"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 12:55:01 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  nohz: adjust tick_nohz_stop_sched_tick() call of s390 as well\n  nohz: prevent tick stop outside of the idle loop\n"
    },
    {
      "commit": "26dcce0fabbef75ae426461edf21b5030bad60f3",
      "tree": "56c64fa47dc29f7ea5a8fd0cab0459fb0a05a2bc",
      "parents": [
        "d7b6de14a0ef8a376f9d57b867545b47302b7bfb",
        "eb6a12c2428d21a9f3e0f1a50e927d5fd80fc3d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:37:44 2008 -0700"
      },
      "message": "Merge branch \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  NR_CPUS: Replace NR_CPUS in speedstep-centrino.c\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros, FIXUP\n  NR_CPUS: Replace NR_CPUS in cpufreq userspace routines\n  NR_CPUS: Replace per_cpu(..., smp_processor_id()) with __get_cpu_var\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genapic_flat_64.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/genx2apic_uv_x.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/proc.c\n  NR_CPUS: Replace NR_CPUS in arch/x86/kernel/cpu/mcheck/mce_64.c\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c, fix\n  cpumask: Use optimized CPUMASK_ALLOC macros in the centrino_target\n  cpumask: Provide a generic set of CPUMASK_ALLOC macros\n  cpumask: Optimize cpumask_of_cpu in lib/smp_processor_id.c\n  cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c\n  cpumask: Optimize cpumask_of_cpu in drivers/misc/sgi-xp/xpc_main.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/ldt.c\n  cpumask: Optimize cpumask_of_cpu in arch/x86/kernel/io_apic_64.c\n  cpumask: Replace cpumask_of_cpu with cpumask_of_cpu_ptr\n  Revert \"cpumask: introduce new APIs\"\n  cpumask: make for_each_cpu_mask a bit smaller\n  net: Pass reference to cpumask variable in net/sunrpc/svc.c\n  ...\n\nFix up trivial conflicts in drivers/cpufreq/cpufreq.c manually\n"
    },
    {
      "commit": "d7b6de14a0ef8a376f9d57b867545b47302b7bfb",
      "tree": "46904d68a5a68f22e6c6baf3472edd4c37a39481",
      "parents": [
        "30d38542ec777468bb6a31829076a2dbc5690e35",
        "4dca10a96041f78bed11ce9e4a5cfde813ec4ccb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:34:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 18:34:13 2008 -0700"
      },
      "message": "Merge branch \u0027core/softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core/softlockup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: fix invalid proc_handler for softlockup_panic\n  softlockup: fix watchdog task wakeup frequency\n  softlockup: fix watchdog task wakeup frequency\n  softlockup: show irqtrace\n  softlockup: print a module list on being stuck\n  softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n  softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds\n  softlockup: fix softlockup_thresh fix\n  softlockup: fix softlockup_thresh unaligned access and disable detection at runtime\n  softlockup: allow panic on lockup\n"
    },
    {
      "commit": "4a0b2b4dbe1335b8b9886ba3dc85a145d5d938ed",
      "tree": "c2d3a0f86ade5061a1bb9a14aa702323d729fd54",
      "parents": [
        "36ce6dad6e3cb3f050ed41e0beac0070d2062b25"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jul 01 18:48:41 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:55:02 2008 -0700"
      },
      "message": "sysdev: Pass the attribute to the low level sysdev show/store function\n\nThis allow to dynamically generate attributes and share show/store\nfunctions between attributes. Right now most attributes are generated\nby special macros and lots of duplicated code. With the attribute\npassed it\u0027s instead possible to attach some data to the attribute\nand then use that in shared low level functions to do different things.\n\nI need this for the dynamically generated bank attributes in the x86\nmachine check code, but it\u0027ll allow some further cleanups.\n\nI converted all users in tree to the new show/store prototype. It\u0027s a single\nhuge patch to avoid unbisectable sections.\n\nRuntime tested: x86-32, x86-64\nCompiled only: ia64, powerpc\nNot compile tested/only grep converted: sh, arm, avr32\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c18a41fbbc500ac0307ffd2b0ae73c2af9d0b0ab",
      "tree": "4242e1bdd8200ef00b5ae5da5d717231fa90a430",
      "parents": [
        "333cdd1f0e5e0aad6b7f8992291563bc7b14670b"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Tue Jul 15 14:14:34 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 22:02:59 2008 +0200"
      },
      "message": "cpumask: Optimize cpumask_of_cpu in kernel/time/tick-common.c\n\n  * Optimize various places where a pointer to the cpumask_of_cpu value\n    will result in reducing stack pressure.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9b610fda0df5d0f0b0c64242e37441ad1b384aac",
      "tree": "0ea14b15f2e6546f37fe18d8ac3dc83077ec0e55",
      "parents": [
        "b8f8c3cf0a4ac0632ec3f0e15e9dc0c29de917af",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 19:53:16 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 19:53:16 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/nohz\n"
    },
    {
      "commit": "b8f8c3cf0a4ac0632ec3f0e15e9dc0c29de917af",
      "tree": "183825db00f4e9252603a51a1be6f8874a963dbc",
      "parents": [
        "857f3fd7a496ddf4329345af65a4a2b16dd25fe8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 18 17:27:28 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 18 18:10:28 2008 +0200"
      },
      "message": "nohz: prevent tick stop outside of the idle loop\n\nJack Ren and Eric Miao tracked down the following long standing\nproblem in the NOHZ code:\n\n\tscheduler switch to idle task\n\tenable interrupts\n\nWindow starts here\n\n\t----\u003e interrupt happens (does not set NEED_RESCHED)\n\t      \tirq_exit() stops the tick\n\n\t----\u003e interrupt happens (does set NEED_RESCHED)\n\n\treturn from schedule()\n\t\n\tcpu_idle(): preempt_disable();\n\nWindow ends here\n\nThe interrupts can happen at any point inside the race window. The\nfirst interrupt stops the tick, the second one causes the scheduler to\nrerun and switch away from idle again and we end up with the tick\ndisabled.\n\nThe fact that it needs two interrupts where the first one does not set\nNEED_RESCHED and the second one does made the bug obscure and extremly\nhard to reproduce and analyse. Kudos to Jack and Eric.\n\nSolution: Limit the NOHZ functionality to the idle loop to make sure\nthat we can not run into such a situation ever again.\n\ncpu_idle()\n{\n\tpreempt_disable();\n\n\twhile(1) {\n\t\t tick_nohz_stop_sched_tick(1); \u003c- tell NOHZ code that we\n\t\t \t\t\t          are in the idle loop\n\n\t\t while (!need_resched())\n\t\t       halt();\n\n\t\t tick_nohz_restart_sched_tick(); \u003c- disables NOHZ mode\n\t\t preempt_enable_no_resched();\n\t\t schedule();\n\t\t preempt_disable();\n\t}\n}\n\nIn hindsight we should have done this forever, but ... \n\n/me grabs a large brown paperbag.\n\nDebugged-by: Jack Ren \u003cjack.ren@marvell.com\u003e, \nDebugged-by: eric miao \u003ceric.y.miao@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "82638844d9a8581bbf33201cc209a14876eca167",
      "tree": "961d7f9360194421a71aa644a9d0c176a960ce49",
      "parents": [
        "9982fbface82893e77d211fbabfbd229da6bdde6",
        "63cf13b77ab785e87c867defa8545e6d4a989774"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tarch/x86/xen/smp.c\n\tkernel/sched_rt.c\n\tnet/iucv/iucv.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1e09481365ce248dbb4eb06dad70129bb5807037",
      "tree": "c0cff5bef95c8b5e7486f144718ade9a06c284dc",
      "parents": [
        "3e2f69fdd1b00166e7d589bce56b2d36a9e74374",
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 23:12:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 23:12:58 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into core/softlockup\n\nConflicts:\n\n\tkernel/softlockup.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1a781a777b2f6ac46523fe92396215762ced624d",
      "tree": "4f34bb4aade85c0eb364b53d664ec7f6ab959006",
      "parents": [
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af",
        "42a2f217a5e324ed5f2373ab1b7a0a15187c4d6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "message": "Merge branch \u0027generic-ipi\u0027 into generic-ipi-for-linus\n\nConflicts:\n\n\tarch/powerpc/Kconfig\n\tarch/s390/kernel/time.c\n\tarch/x86/kernel/apic_32.c\n\tarch/x86/kernel/cpu/perfctr-watchdog.c\n\tarch/x86/kernel/i8259_64.c\n\tarch/x86/kernel/ldt.c\n\tarch/x86/kernel/nmi_64.c\n\tarch/x86/kernel/smpboot.c\n\tarch/x86/xen/smp.c\n\tinclude/asm-x86/hw_irq_32.h\n\tinclude/asm-x86/hw_irq_64.h\n\tinclude/asm-x86/mach-default/irq_vectors.h\n\tinclude/asm-x86/mach-voyager/irq_vectors.h\n\tinclude/asm-x86/smp.h\n\tkernel/Makefile\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "da6e88f4963385b1b649b043691d206fbb951913",
      "tree": "779a1a6cf04dad09dee0828ad4ece0927de1b5f3",
      "parents": [
        "61d97f4fcf73d30864a52373a34093be25be6a03",
        "7dc9719682ce8c46215bc9a1bdc7ee0c38ada94b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:39:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:39:57 2008 -0700"
      },
      "message": "Merge branch \u0027timers/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: add PCI ID for 6300ESB force hpet\n  x86: add another PCI ID for ICH6 force-hpet\n  kernel-paramaters: document pmtmr\u003d command line option\n  acpi_pm clccksource: fix printk format warning\n  nohz: don\u0027t stop idle tick if softirqs are pending.\n  pmtmr: allow command line override of ioport\n  nohz: reduce jiffies polling overhead\n  hrtimer: Remove unused variables in ktime_divns()\n  hrtimer: remove warning in hres_timers_resume\n  posix-timers: print RT watchdog message\n"
    },
    {
      "commit": "17489c058e8c63ab5ebdc67ab52ca70d1bc270b1",
      "tree": "d0e0a3503967b11f6e86ebfaddf103a82fbea38f",
      "parents": [
        "a3da5bf84a97d48cfaf66c6842470fc403da5121",
        "873a6ed6288b6c2c0d2cc84d3b2bf2fab9ba0181"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:54:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:54:49 2008 -0700"
      },
      "message": "Merge branch \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (76 commits)\n  sched_clock: and multiplier for TSC to gtod drift\n  sched_clock: record TSC after gtod\n  sched_clock: only update deltas with local reads.\n  sched_clock: fix calculation of other CPU\n  sched_clock: stop maximum check on NO HZ\n  sched_clock: widen the max and min time\n  sched_clock: record from last tick\n  sched: fix accounting in task delay accounting \u0026 migration\n  sched: add avg-overlap support to RT tasks\n  sched: terminate newidle balancing once at least one task has moved over\n  sched: fix warning\n  sched: build fix\n  sched: sched_clock_cpu() based cpu_clock(), lockdep fix\n  sched: export cpu_clock\n  sched: make sched_{rt,fair}.c ifdefs more readable\n  sched: bias effective_load() error towards failing wake_affine().\n  sched: incremental effective_load()\n  sched: correct wakeup weight calculations\n  sched: fix mult overflow\n  sched: update shares on wakeup\n  ...\n"
    },
    {
      "commit": "af52a90a14cdaa54ecbfb6e6982abb13466a4b56",
      "tree": "2488d6d7943b167987c33f984f7109c3dc4ae783",
      "parents": [
        "f7cce27f5605b9e137b829a47949cb2d3c7e1cab"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 07 14:16:52 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:53:26 2008 +0200"
      },
      "message": "sched_clock: stop maximum check on NO HZ\n\nWorking with ftrace I would get large jumps of 11 millisecs or more with\nthe clock tracer. This killed the latencing timings of ftrace and also\ncaused the irqoff self tests to fail.\n\nWhat was happening is with NO_HZ the idle would stop the jiffy counter and\nbefore the jiffy counter was updated the sched_clock would have a bad\ndelta jiffies to compare with the gtod with the maximum.\n\nThe jiffies would stop and the last sched_tick would record the last gtod.\nOn wakeup, the sched clock update would compare the gtod + delta jiffies\n(which would be zero) and compare it to the TSC. The TSC would have\ncorrectly (with a stable TSC) moved forward several jiffies. But because the\njiffies has not been updated yet the clock would be prevented from moving\nforward because it would appear that the TSC jumped too far ahead.\n\nThe clock would then virtually stop, until the jiffies are updated. Then\nthe next sched clock update would see that the clock was very much behind\nsince the delta jiffies is now correct. This would then jump the clock\nforward by several jiffies.\n\nThis caused ftrace to report several milliseconds of interrupts off\nlatency at every resume from NO_HZ idle.\n\nThis patch adds hooks into the nohz code to disable the checking of the\nmaximum clock update when nohz is in effect. It resumes the max check\nwhen nohz has updated the jiffies again.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "857f3fd7a496ddf4329345af65a4a2b16dd25fe8",
      "tree": "7bd1b0de6e82363beba60097529b72ac7de923f5",
      "parents": [
        "7a14ce1d8c1d3a6118d406e64eaf9aa70375e085"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Jul 11 11:09:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 11:17:04 2008 +0200"
      },
      "message": "nohz: don\u0027t stop idle tick if softirqs are pending.\n\nIn case a cpu goes idle but softirqs are pending only an error message is\nprinted to the console. It may take a very long time until the pending\nsoftirqs will finally be executed. Worst case would be a hanging system.\n\nWith this patch the timer tick just continues and the softirqs will be\nexecuted after the next interrupt. Still a delay but better than a\nhanging system.\n\nCurrently we have at least two device drivers on s390 which under certain\ncircumstances schedule a tasklet from process context. This is a reason\nwhy we can end up with pending softirqs when going idle. Fixing these\ndrivers seems to be non-trivial.\nHowever there is no question that the drivers should be fixed.\nThis patch shouldn\u0027t be considered as a bug fix. It just is intended to\nkeep a system running even if device drivers are buggy.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Jan Glauber \u003cjan.glauber@de.ibm.com\u003e\nCc: Stefan Weinhuber \u003cwein@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa276e1cafb3ce9d01d1e837bcd67e92616013ac",
      "tree": "d0ecb8fe8ae70fdaed8d97d317199180882671b5",
      "parents": [
        "00dba56465228825ea806e3a7fc0aa6bba7bdc6c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 09 19:15:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 07:47:18 2008 +0200"
      },
      "message": "x86, clockevents: add C1E aware idle function\n\nC1E on AMD machines is like C3 but without control from the OS. Up to\nnow we disabled the local apic timer for those machines as it stops\nwhen the CPU goes into C1E. This excludes those machines from high\nresolution timers / dynamic ticks, which hurts especially X2 based\nlaptops.\n\nThe current boot time C1E detection has another, more serious flaw\nas well: some BIOSes do not enable C1E until the ACPI processor module\nis loaded. This causes systems to stop working after that point.\n\nTo work nicely with C1E enabled machines we use a separate idle\nfunction, which checks on idle entry whether C1E was enabled in the\nInterrupt Pending Message MSR. This allows us to do timer broadcasting\nfor C1E and covers the late enablement of C1E as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8691e5a8f691cc2a4fda0651e8d307aaba0e7d68",
      "tree": "6cb6767064d2d43441212566da2d83dcc9a0cd8e",
      "parents": [
        "490f5de52a87063fcb40e3b22f61b0779603ff6d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 06 11:18:06 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jun 26 11:24:35 2008 +0200"
      },
      "message": "smp_call_function: get rid of the unused nonatomic/retry argument\n\nIt\u0027s never used and the comments refer to nonatomic and retry\ninterchangably. So get rid of it.\n\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7a14ce1d8c1d3a6118d406e64eaf9aa70375e085",
      "tree": "01a0d9f785a849fc4242d024bd1afa7deb7c1bf6",
      "parents": [
        "916941b2bfd9c4a8b66855f198ae16c3f51ef570"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 15:43:53 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 30 14:16:10 2008 +0200"
      },
      "message": "nohz: reduce jiffies polling overhead\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02ff375590ac4140d88afc76505df1ad45c6af59",
      "tree": "6c24cfb6d0e652f691325dc63afab1373b808442",
      "parents": [
        "1c4cd6dd1d0fd3057bb6b8c87460049497889d1b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 12 15:43:53 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 30 14:15:02 2008 +0200"
      },
      "message": "softlockup: fix false positives on nohz if CPU is 100% idle for more than 60 seconds\n\nFix (probably theoretical only) rq-\u003eclock update bug:\nin tick_nohz_update_jiffies() [which is called on all irq\nentry on all cpus where the irq entry hits an idle cpu] we\ncall touch_softlockup_watchdog() before we update jiffies.\nThat works fine most of the time when idle timeouts are within\n60 seconds. But when an idle timeout is beyond 60 seconds,\njiffies is updated with a jump of more than 60 seconds,\nwhich causes a jump in cpu-clock of more than 60 seconds,\ntriggering a false positive.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cad0e458d17c643c20c1d38f45a1d26125e6a622",
      "tree": "65328a74709595ca5012eafc951227f90100f8e2",
      "parents": [
        "5d7bfd0c4d463d288422032c9903d0452dee141d"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon May 12 21:21:13 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 18:39:06 2008 +0200"
      },
      "message": "clocksource/events: use performance variant for_each_cpu_mask_nr\n\nChange references from for_each_cpu_mask to for_each_cpu_mask_nr\nwhere appropriate\n\nReviewed-by: Paul Jackson \u003cpj@sgi.com\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4f95f81a48623982879f4fa80c641933444afd18",
      "tree": "a1e6325a9b3ba3baf60911091ecb69212305204d",
      "parents": [
        "4359a023a8c3b247b348c310bf510b23f3c1ab64"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sat May 03 14:23:14 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 03 18:11:48 2008 +0200"
      },
      "message": "clocksource: allow read access to available/current_clocksource\n\nThere is no harm, when users can read the info and we ask often enough\nduring debugging for this kind of information.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4359a023a8c3b247b348c310bf510b23f3c1ab64",
      "tree": "be6479eada293e91c4a17b1d6b942a4a7846a86d",
      "parents": [
        "4346f65426cbceb64794b468e4af6f5632d58c5e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri May 02 12:49:40 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 03 18:11:48 2008 +0200"
      },
      "message": "clocksource: Fix permissions for available_clocksource\n\nFile permissions for\n/sys/devices/system/clocksource/clocksource0/available_clocksource\nare 600 which allows write access. But this is in fact a read only\nfile. So change permissions to 400.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7dffa3c673fbcf835cd7be80bb4aec8ad3f51168",
      "tree": "63264208ed97f18a74a5a7cd2e100cc2c4e13449",
      "parents": [
        "8383c42399f394a89bd6c2f03632c53689bdde7a"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: handle leap second via timer\n\nRemove the leap second handling from second_overflow(), which doesn\u0027t have to\ncheck for it every second anymore.  With CONFIG_NO_HZ this also makes sure the\nleap second is handled close to the full second.  Additionally this makes it\npossible to abort a leap second properly by resetting the STA_INS/STA_DEL\nstatus bits.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8383c42399f394a89bd6c2f03632c53689bdde7a",
      "tree": "c3f3a42a546a4afe3746e5894bcd425dc5a3d0bb",
      "parents": [
        "7fc5c78409479d826341b103bdf734cb4fb02436"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: remove current_tick_length()\n\ncurrent_tick_length used to do a little more, but now it just returns\ntick_length, which we can also access directly at the few places, where it\u0027s\nneeded.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fc5c78409479d826341b103bdf734cb4fb02436",
      "tree": "e68d8edddd633a9ed410b304684343afacf36175",
      "parents": [
        "153b5d054ac2d98ea0d86504884326b6777f683d"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: rename TICK_LENGTH_SHIFT to NTP_SCALE_SHIFT\n\nAs TICK_LENGTH_SHIFT is used for more than just the tick length, the name\nisn\u0027t quite approriate anymore, so this renames it to NTP_SCALE_SHIFT.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "153b5d054ac2d98ea0d86504884326b6777f683d",
      "tree": "0512b4239959814a6cc6aa6c9e77abc36d3ab2f0",
      "parents": [
        "9f14f669d18477fe3df071e2fa4da36c00acee8e"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:59 2008 -0700"
      },
      "message": "ntp: support for TAI\n\nThis adds support for setting the TAI value (International Atomic Time).  The\nvalue is reported back to userspace via timex (as we don\u0027t have a\nntp_gettime() syscall).\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f14f669d18477fe3df071e2fa4da36c00acee8e",
      "tree": "84b5600017902ced77ee0cb9a4bc21a6768d22e5",
      "parents": [
        "074b3b87941c99bc0ce35385b5817924b1ed0c23"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: increase time_offset resolution\n\ntime_offset is already a 64bit value but its resolution barely used, so this\nmakes better use of it by replacing SHIFT_UPDATE with TICK_LENGTH_SHIFT.\n\nSide note: the SHIFT_HZ in SHIFT_UPDATE was incorrect for CONFIG_NO_HZ and the\nprimary reason for changing time_offset to 64bit to avoid the overflow.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "074b3b87941c99bc0ce35385b5817924b1ed0c23",
      "tree": "aa2d11a2df37d631236a28713873023632f74a91",
      "parents": [
        "eea83d896e318bda54be2d2770d2c5d6668d11db"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: increase time_freq resolution\n\nThis changes time_freq to a 64bit value and makes it static (the only outside\nuser had no real need to modify it).  Intermediate values were already 64bit,\nso the change isn\u0027t that big, but it saves a little in shifts by replacing\nSHIFT_NSEC with TICK_LENGTH_SHIFT.  PPM_SCALE is then used to convert between\nuser space and kernel space representation.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eea83d896e318bda54be2d2770d2c5d6668d11db",
      "tree": "581f455e02ed3d03e543642b5d54b83dc75d47c7",
      "parents": [
        "ee9851b218b8bafa22942b5404505ff3d2d34324"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: NTP4 user space bits update\n\nThis adds a few more things from the ntp nanokernel related to user space.\nIt\u0027s now possible to select the resolution used of some values via STA_NANO\nand the kernel reports in which mode it works (pll/fll).\n\nIf some values for adjtimex() are outside the acceptable range, they are now\nsimply normalized instead of letting the syscall fail.  I removed\nMOD_CLKA/MOD_CLKB as the mapping didn\u0027t really makes any sense, the kernel\ndoesn\u0027t support setting the clock.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee9851b218b8bafa22942b5404505ff3d2d34324",
      "tree": "82e5a421d18bd3d469afd9c4c2827a865b9f19b5",
      "parents": [
        "f8bd2258e2d520dff28c855658bd24bdafb5102d"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "ntp: cleanup ntp.c\n\nThis is mostly a style cleanup of ntp.c and extracts part of do_adjtimex as\nntp_update_offset().  Otherwise the functionality is still the same as before.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8bd2258e2d520dff28c855658bd24bdafb5102d",
      "tree": "d76db1dc858cb316bc7d5b8473f690a753fd2c93",
      "parents": [
        "6f6d6a1a6a1336431a6cba60ace9e97c3a496a19"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "remove div_long_long_rem\n\nx86 is the only arch right now, which provides an optimized for\ndiv_long_long_rem and it has the downside that one has to be very careful that\nthe divide doesn\u0027t overflow.\n\nThe API is a little akward, as the arguments for the unsigned divide are\nsigned.  The signed version also doesn\u0027t handle a negative divisor and\nproduces worse code on 64bit archs.\n\nThere is little incentive to keep this API alive, so this converts the few\nusers to the new API.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71abb3af62dfa52930755f3b6497eafbe1d6ec85",
      "tree": "8e37f74017b800127538f6620820ea90b53169b5",
      "parents": [
        "2418f4f28f8467b92a6177af32d05737ebf6206c"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu May 01 04:34:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:03:58 2008 -0700"
      },
      "message": "convert a few do_div users\n\nThis converts a few users of do_div to div_[su]64 and this demonstrates nicely\nhow it can reduce some expressions to one-liners.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c33fff0afbef4f0467c99e3f47ee7e98ae78c77e",
      "tree": "d6b5f8dc77aa21de95bbca76c6be6056026cc1d8",
      "parents": [
        "ac41cfd19bf77424519b962f8205ede51fceaac6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:22 2008 -0700"
      },
      "message": "kernel: use non-racy method for proc entries creation\n\nUse proc_create()/proc_create_data() to make sure that -\u003eproc_fops and -\u003edata\nbe setup before gluing PDE to main tree.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "126e01bf92dfc5f0ba91e88be02c473e1506d7d9",
      "tree": "fe883f07319193bfbec244becc43e64a22e64f95",
      "parents": [
        "88a411c07b6fedcfc97b8dc51ae18540bd2beda0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 25 00:25:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 25 00:25:08 2008 +0200"
      },
      "message": "softlockup: fix NOHZ wakeup\n\nDavid Miller reported:\n\n|---------------\u003e\nthe following commit:\n\n| commit 27ec4407790d075c325e1f4da0a19c56953cce23\n| Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n| Date:   Thu Feb 28 21:00:21 2008 +0100\n|\n|     sched: make cpu_clock() globally synchronous\n|\n|     Alexey Zaytsev reported (and bisected) that the introduction of\n|     cpu_clock() in printk made the timestamps jump back and forth.\n|\n|     Make cpu_clock() more reliable while still keeping it fast when it\u0027s\n|     called frequently.\n|\n|     Signed-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\ncauses watchdog triggers when a cpu exits NOHZ state when it has been\nthere for \u003e\u003d the soft lockup threshold, for example here are some\nmessages from a 128 cpu Niagara2 box:\n\n[  168.106406] BUG: soft lockup - CPU#11 stuck for 128s! [dd:3239]\n[  168.989592] BUG: soft lockup - CPU#21 stuck for 86s! [swapper:0]\n[  168.999587] BUG: soft lockup - CPU#29 stuck for 91s! [make:4511]\n[  168.999615] BUG: soft lockup - CPU#2 stuck for 85s! [swapper:0]\n[  169.020514] BUG: soft lockup - CPU#37 stuck for 91s! [swapper:0]\n[  169.020514] BUG: soft lockup - CPU#45 stuck for 91s! [sh:4515]\n[  169.020515] BUG: soft lockup - CPU#69 stuck for 92s! [swapper:0]\n[  169.020515] BUG: soft lockup - CPU#77 stuck for 92s! [swapper:0]\n[  169.020515] BUG: soft lockup - CPU#61 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#85 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#101 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#109 stuck for 92s! [swapper:0]\n[  169.112554] BUG: soft lockup - CPU#117 stuck for 92s! [swapper:0]\n[  169.171483] BUG: soft lockup - CPU#40 stuck for 80s! [dd:3239]\n[  169.331483] BUG: soft lockup - CPU#13 stuck for 86s! [swapper:0]\n[  169.351500] BUG: soft lockup - CPU#43 stuck for 101s! [dd:3239]\n[  169.531482] BUG: soft lockup - CPU#9 stuck for 129s! [mkdir:4565]\n[  169.595754] BUG: soft lockup - CPU#20 stuck for 93s! [swapper:0]\n[  169.626787] BUG: soft lockup - CPU#52 stuck for 93s! [swapper:0]\n[  169.626787] BUG: soft lockup - CPU#84 stuck for 92s! [swapper:0]\n[  169.636812] BUG: soft lockup - CPU#116 stuck for 94s! [swapper:0]\n\nIt\u0027s simple enough to trigger this by doing a 10 minute sleep after a\nfresh bootup then starting a parallel kernel build.\n\nI suspect this might be reintroducing a problem we\u0027ve had and fixed\nbefore, see the thread:\n\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d119546414004065\u0026w\u003d2\n\u003c---------------|\n\ntouch the softlockup watchdog when exiting NOHZ state - we are\nobviously not locked up.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5dfeaef89559d4968b0470adf749659f10d722f6",
      "tree": "e38f4177b8e2e12cd1aa2e9910beea1dc3578784",
      "parents": [
        "429f731dea577bdd43693940cdca524135287e6a",
        "259aae864ceeb2b34e7bafa1ce18d096a357fab2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:43:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:43:43 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  hrtimer: optimize the softirq time optimization\n  hrtimer: reduce calls to hrtimer_get_softirq_time()\n  clockevents: fix typo in tick-broadcast.c\n  jiffies: add time_is_after_jiffies and others which compare with jiffies\n"
    },
    {
      "commit": "ec965350bb98bd291eb34f6ecddfdcfc36da1e6e",
      "tree": "983bcaf33ed00b48a86f7f8790cc460cf15dd252",
      "parents": [
        "5f033bb9bc5cb3bb37a79e3ef131f50ecdcb72b0",
        "486fdae21458bd9f4e125099bb3c38a4064e450e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:40:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:40:24 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: (62 commits)\n  sched: build fix\n  sched: better rt-group documentation\n  sched: features fix\n  sched: /debug/sched_features\n  sched: add SCHED_FEAT_DEADLINE\n  sched: debug: show a weight tree\n  sched: fair: weight calculations\n  sched: fair-group: de-couple load-balancing from the rb-trees\n  sched: fair-group scheduling vs latency\n  sched: rt-group: optimize dequeue_rt_stack\n  sched: debug: add some debug code to handle the full hierarchy\n  sched: fair-group: SMP-nice for group scheduling\n  sched, cpuset: customize sched domains, core\n  sched, cpuset: customize sched domains, docs\n  sched: prepatory code movement\n  sched: rt: multi level group constraints\n  sched: task_group hierarchy\n  sched: fix the task_group hierarchy for UID grouping\n  sched: allow the group scheduler to have multiple levels\n  sched: mix tasks and groups\n  ...\n"
    },
    {
      "commit": "833df317f9ada91488898b005f4641bb674a3bae",
      "tree": "4d71c55616b3bd5648511a3c485324984c8c2472",
      "parents": [
        "3f34d024c12e49fbce4009d094ae1d287084e511"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "gcosta@redhat.com",
        "time": "Fri Apr 18 13:38:58 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 21 07:59:51 2008 +0200"
      },
      "message": "clockevents: fix typo in tick-broadcast.c\n\nbraodcast -\u003e broadcast\n\nSigned-off-by: Glauber Costa \u003cgcosta@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d0b27fa77854b149ad4af08b0fe47fe712a47ade",
      "tree": "2f4487c108a5132e8d52456567b4a67e78fbb4a6",
      "parents": [
        "57d3da2911787a101a384532f4519f9640bae883"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: rt-group: synchonised bandwidth period\n\nVarious SMP balancing algorithms require that the bandwidth period\nrun in sync.\n\nPossible improvements are moving the rt_bandwidth thing into root_domain\nand keeping a span per rt_bandwidth which marks throttled cpus.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d8bb6f4c1670c8324e4135c61ef07486f7f17379",
      "tree": "d53b676621b3bd6bb4d39a4b22588b58e1a7ea45",
      "parents": [
        "f1326973262382150c26bf4dfccd0fce310c4a9c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 01 19:45:18 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:19:55 2008 +0200"
      },
      "message": "x86: tsc prevent time going backwards\n\nWe already catch most of the TSC problems by sanity checks, but there\nis a subtle bug which has been in the code forever. This can cause\ntime jumps in the range of hours.\n\nThis was reported in:\n     http://lkml.org/lkml/2007/8/23/96\nand\n     http://lkml.org/lkml/2008/3/31/23\n\nI was able to reproduce the problem with a gettimeofday loop test on a\ndual core and a quad core machine which both have sychronized\nTSCs. The TSCs seems not to be perfectly in sync though, but the\nkernel is not able to detect the slight delta in the sync check. Still\nthere exists an extremly small window where this delta can be observed\nwith a real big time jump. So far I was only able to reproduce this\nwith the vsyscall gettimeofday implementation, but in theory this\nmight be observable with the syscall based version as well.\n\nCPU 0 updates the clock source variables under xtime/vyscall lock and\nCPU1, where the TSC is slighty behind CPU0, is reading the time right\nafter the seqlock was unlocked.\n\nThe clocksource reference data was updated with the TSC from CPU0 and\nthe value which is read from TSC on CPU1 is less than the reference\ndata. This results in a huge delta value due to the unsigned\nsubtraction of the TSC value and the reference value. This algorithm\ncan not be changed due to the support of wrapping clock sources like\npm timer.\n\nThe huge delta is converted to nanoseconds and added to xtime, which\nis then observable by the caller. The next gettimeofday call on CPU1\nwill show the correct time again as now the TSC has advanced above the\nreference value.\n\nTo prevent this TSC specific wreckage we need to compare the TSC value\nagainst the reference value and return the latter when it is larger\nthan the actual TSC value.\n\nI pondered to mark the TSC unstable when the readout is smaller than\nthe reference value, but this would render an otherwise good and fast\nclocksource unusable without a real good reason.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "73e3e6481f56b3b5b618671a8d32b19a35f84316",
      "tree": "44addba339ca1279a82d6d702e92e6cc2c183810",
      "parents": [
        "4adeaaf51ebcc3f629f5512b96aebb5089388bca",
        "6993fc5bbc5d63ccd55985b39c34417e430e75e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:41 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  clocksource: make clocksource watchdog cycle through online CPUs\n  Documentation: move timer related documentation to a single place\n  clockevents: optimise tick_nohz_stop_sched_tick() a bit\n  locking: remove unused double_spin_lock()\n  hrtimers: simplify lockdep handling\n  timers: simplify lockdep handling\n  posix-timers: fix shadowed variables\n  timer_list: add annotations to workqueue.c\n  hrtimer: use nanosleep specific restart_block fields\n  hrtimer: add nanosleep specific restart_block member\n"
    },
    {
      "commit": "9732b6112343df2872518ec6701c8ef729310a05",
      "tree": "9e3dcc461845038da4730c2062eee546348ca445",
      "parents": [
        "9e9abecfc0ff3a9ad2ead954b37bbfcb863c775e",
        "1a9a3e76dde191f82f7a8a66059dcbb4a9f63ff3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 08:37:01 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb:\n  kgdb: always use icache flush for sw breakpoints\n  kgdb: fix SMP NMI kgdb_handle_exception exit race\n  kgdb: documentation fixes\n  kgdb: allow static kgdbts boot configuration\n  kgdb: add documentation\n  kgdb: Kconfig fix\n  kgdb: add kgdb internal test suite\n  kgdb: fix several kgdb regressions\n  kgdb: kgdboc pl011 I/O module\n  kgdb: fix optional arch functions and probe_kernel_*\n  kgdb: add x86 HW breakpoints\n  kgdb: print breakpoint removed on exception\n  kgdb: clocksource watchdog\n  kgdb: fix NMI hangs\n  kgdb: fix kgdboc dynamic module configuration\n  kgdb: document parameters\n  x86: kgdb support\n  consoles: polling support, kgdboc\n  kgdb: core\n  uaccess: add probe_kernel_write()\n"
    },
    {
      "commit": "7c3078b637882303b1dcf6a16229d0e35f6b60a5",
      "tree": "4b1456f81627056eff8750e42481c0b00ac84cf0",
      "parents": [
        "d359752407f8916c29ad53a5c30ac73e338f2797"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Feb 15 14:55:54 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 17 20:05:38 2008 +0200"
      },
      "message": "kgdb: clocksource watchdog\n\nIn order to not trip the clocksource watchdog, kgdb must touch the\nclocksource watchdog on the return to normal system run state.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6993fc5bbc5d63ccd55985b39c34417e430e75e9",
      "tree": "6a1ea13d3f27a8063a9375689b729479c4e63e22",
      "parents": [
        "3833eecc183ce052e9ac96b39b45121a2d11ac16"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "clocksource: make clocksource watchdog cycle through online CPUs\n\nThis way it checks if the clocks are synchronized between CPUs too.\nThis might be able to detect slowly drifting TSCs which only\ngo wrong over longer time.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "903b8a8d4835a796f582033802c83283886f4a3d",
      "tree": "11837b4da0000633f90000bb47aaa4fa82a029be",
      "parents": [
        "3f3eafc921e2378954c28cfd0eb10910449f4c11"
      ],
      "author": {
        "name": "Karsten Wiese",
        "email": "fzu@wemgehoertderstaat.de",
        "time": "Thu Feb 28 15:10:50 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 17 12:22:31 2008 +0200"
      },
      "message": "clockevents: optimise tick_nohz_stop_sched_tick() a bit\n\nCall\n\tts \u003d \u0026per_cpu(tick_cpu_sched, cpu);\nand\n\tcpu \u003d smp_processor_id();\nonce instead of twice.\n\nNo functional change done, as changed code runs with local irq off.\nReduces source lines and text size (20bytes on x86_64).\n\n[ akpm@linux-foundation.org: Build fix ]\n\nSigned-off-by: Karsten Wiese \u003cfzu@wemgehoertderstaat.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d7b906897e9caae452947e33674df0a2d6f7e10f",
      "tree": "5df31094a1b24a46369bda89cdf54d5403b1caa9",
      "parents": [
        "43ca5c3a1cefdaa09231d64485b8f676118bf1e0"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Thu Apr 17 07:46:24 2008 +0200"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Apr 17 07:47:05 2008 +0200"
      },
      "message": "[S390] genirq/clockevents: move irq affinity prototypes/inlines to interrupt.h\n\n\u003e Generic code is not supposed to include irq.h. Replace this include\n\u003e by linux/hardirq.h instead and add/replace an include of linux/irq.h\n\u003e in asm header files where necessary.\n\u003e This change should only matter for architectures that make use of\n\u003e GENERIC_CLOCKEVENTS.\n\u003e Architectures in question are mips, x86, arm, sh, powerpc, uml and sparc64.\n\u003e\n\u003e I did some cross compile tests for mips, x86_64, arm, powerpc and sparc64.\n\u003e This patch fixes also build breakages caused by the include replacement in\n\u003e tick-common.h.\n\nI generally dislike adding optional linux/* includes in asm/* includes -\nI\u0027m nervous about this causing include loops.\n\nHowever, there\u0027s a separate point to be discussed here.\n\nThat is, what interfaces are expected of every architecture in the kernel.\nIf generic code wants to be able to set the affinity of interrupts, then\nthat needs to become part of the interfaces listed in linux/interrupt.h\nrather than linux/irq.h.\n\nSo what I suggest is this approach instead (against Linus\u0027 tree of a\ncouple of days ago) - we move irq_set_affinity() and irq_can_set_affinity()\nto linux/interrupt.h, change the linux/irq.h includes to linux/interrupt.h\nand include asm/irq_regs.h where needed (asm/irq_regs.h is supposed to be\nrarely used include since not much touches the stacked parent context\nregisters.)\n\nBuild tested on ARM PXA family kernels and ARM\u0027s Realview platform\nkernels which both use genirq.\n\n[ tglx@linutronix.de: add GENERIC_HARDIRQ dependencies ]\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "898a19de1502649877091b398229026b4142c0e2",
      "tree": "14bb8190db30d356cb1da9e7467898e12bf26a29",
      "parents": [
        "a4083c9271e0a697278e089f2c0b9a95363ada0a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 25 09:01:51 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 25 20:13:25 2008 +0100"
      },
      "message": "clocksource: revert: use init_timer_deferrable for clocksource_watchdog\n\nRevert\n\ncommit 1077f5a917b7c630231037826b344b2f7f5b903f\nAuthor: Parag Warudkar \u003cparag.warudkar@gmail.com\u003e\nDate:   Wed Jan 30 13:30:01 2008 +0100\n\n    clocksource.c: use init_timer_deferrable for clocksource_watchdog\n    \n    clocksource_watchdog can use a deferrable timer - reduces wakeups from\n    idle per second.\n\nThe watchdog timer needs to run with the specified interval. Otherwise\nit will miss the possible wrap of the watchdog clocksource.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n\n"
    },
    {
      "commit": "92896bd9fd75b1c993b92874d339a8088bb75560",
      "tree": "2bd8bc5a8c8ee10a4b1fd62804281d2b486067f0",
      "parents": [
        "d2532dd20a126020de407c1c2476a75b53fce7ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:07:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:07:15 2008 -0700"
      },
      "message": "Don\u0027t \u0027printk()\u0027 while holding xtime lock for writing\n\nThe printk() can deadlock because it can wake up klogd(), and\ntask enqueueing will try to read the time in order to set a hrtimer.\n\nReported-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nDebugged-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3150e63df41450a795bbd0bd98a8e70da74e0285",
      "tree": "cee77b25ba25abc5c892cfb06fdac92bbd946991",
      "parents": [
        "cf821e8f53e3d147ebae03c8c710d2b8842d88a1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 19 17:01:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:37 2008 -0700"
      },
      "message": "revert \"clocksource: make clocksource watchdog cycle through online CPUs\"\n\nRevert commit 1ada5cba6a0318f90e45b38557e7b5206a9cba38 (\"clocksource:\nmake clocksource watchdog cycle through online CPUs\") due to the\nregression reported by Gabriel C at\n\n\thttp://lkml.org/lkml/2008/2/24/281\n\n(short vesion: it makes TSC be marked as always unstable on his\nmachine).\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Robert Hancock \u003chancockr@shaw.ca\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Gabriel C \u003cnix.or.die@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10a398d04c4a1fc395840f4d040493375f562302",
      "tree": "02096fe81b70e2baf8db35ebc9d303a1b13029c3",
      "parents": [
        "a79017660ea4597ec489fab3b5aaf71dd776dfc7"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue Mar 04 15:14:26 2008 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "time: remove obsolete CLOCK_TICK_ADJUST\n\nThe first version of the ntp_interval/tick_length inconsistent usage patch was\nrecently merged as bbe4d18ac2e058c56adb0cd71f49d9ed3216a405\n\nhttp://git.kernel.org/gitweb.cgi?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003dbbe4d18ac2e058c56adb0cd71f49d9ed3216a405\n\nWhile the fix did greatly improve the situation, it was correctly pointed out\nby Roman that it does have a small bug: If the users change clocksources after\nthe system has been running and NTP has made corrections, the correctoins made\nagainst the old clocksource will be applied against the new clocksource,\ncausing error.\n\nThe second attempt, which corrects the issue in the NTP_INTERVAL_LENGTH\ndefinition has also made it up-stream as commit\ne13a2e61dd5152f5499d2003470acf9c838eab84\n\nhttp://git.kernel.org/gitweb.cgi?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003de13a2e61dd5152f5499d2003470acf9c838eab84\n\nRoman has correctly pointed out that CLOCK_TICK_ADJUST is calculated\nbased on the PIT\u0027s frequency, and isn\u0027t really relevant to non-PIT\ndriven clocksources (that is, clocksources other then jiffies and pit).\n\nThis patch reverts both of those changes, and simply removes\nCLOCK_TICK_ADJUST.\n\nThis does remove the granularity error correction for users of PIT and Jiffies\nclocksource users, but the granularity error but for the majority of users, it\nshould be within the 500ppm range NTP can accommodate for.\n\nFor systems that have granularity errors greater then 500ppm, the\n\"ntp_tick_adj\u003d\" boot option can be used to compensate.\n\n[johnstul@us.ibm.com: provided changelog]\n[mattilinnanvuori@yahoo.com: maek ntp_tick_adj static]\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Matti Linnanvuori \u003cmattilinnanvuori@yahoo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: mingo@elte.hu\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a79017660ea4597ec489fab3b5aaf71dd776dfc7",
      "tree": "87fedadc8d003391c9ccf5d3cf0aba69fb8e443d",
      "parents": [
        "38332cb98772f5ea757e6486bed7ed0381cb5f98"
      ],
      "author": {
        "name": "Karsten Wiese",
        "email": "fzu@wemgehoertderstaat.de",
        "time": "Tue Mar 04 14:59:55 2008 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "time: don\u0027t touch an offlined CPU\u0027s ts-\u003etick_stopped in tick_cancel_sched_timer()\n\nSilences WARN_ONs in rcu_enter_nohz() and rcu_exit_nohz(), which appeared\nbefore caused by (repeated) calls to:\n        $ echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n        $ echo 1 \u003e /sys/devices/system/cpu/cpu1/online\n\nSigned-off-by: Karsten Wiese \u003cfzu@wemgehoertderstaat.de\u003e\nCc: johnstul@us.ibm.com\nCc: Rafael Wysocki \u003crjw@sisk.pl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e48af19f56eb47a1f908ee8f16df9d246f955b21",
      "tree": "39a6769d80f125f6cfd4721a900e4b897ea15fbb",
      "parents": [
        "84c6f6046c5a2189160a8f0dca8b90427bf690ea"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Feb 25 18:31:57 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "ntp: use unsigned input for do_div()\n\nThe kernel NTP code shouldn\u0027t hand 64-bit *signed* values to do_div().  Make it\ninstead hand 64-bit unsigned values.  This gets rid of a couple of warnings.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2232c2d8e0a6a31061dec311f3d1cf7624bc14f1",
      "tree": "1d90ec0b8bd4e3c154e386f005ef596ee25fa53f",
      "parents": [
        "c0f4133b8f70769bc8dda977feb9a29109d6ccca"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 29 18:46:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 29 18:46:50 2008 +0100"
      },
      "message": "rcu: add support for dynamic ticks and preempt rcu\n\nThe PREEMPT-RCU can get stuck if a CPU goes idle and NO_HZ is set. The\nidle CPU will not progress the RCU through its grace period and a\nsynchronize_rcu my get stuck. Without this patch I have a box that will\nnot boot when PREEMPT_RCU and NO_HZ are set. That same box boots fine\nwith this patch.\n\nThis patch comes from the -rt kernel where it has been tested for\nseveral months.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db4315d6f53edc2cc0b0b06fce1beffebb119c71",
      "tree": "4c0c4a3f86e9f319e6aeda3210e33a51b38a7fba",
      "parents": [
        "1309d4e68497184d2fd87e892ddf14076c2bda98"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Tue Feb 05 00:48:13 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Feb 17 17:29:38 2008 +0100"
      },
      "message": "timer_list: print relative expiry time signed\n\nRelative expiry time can get negative, so it should be signed.\n\nSigned-off-by: Pavel Machek \u003cPavel@suse.cz\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "e13a2e61dd5152f5499d2003470acf9c838eab84",
      "tree": "4846b2ea392773f7a92d31334295d7aadbafd83e",
      "parents": [
        "25f666300625d894ebe04bac2b4b3aadb907c861"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Sun Feb 10 10:48:03 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Feb 10 10:48:03 2008 +0100"
      },
      "message": "ntp: correct inconsistent interval/tick_length usage\n\nclocksource initialization and error accumulation.  This corrects a 280ppm\ndrift seen on some systems using acpi_pm, and affects other clocksources as\nwell (likely to a lesser degree).\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3eb056764dd806bbe84eb604e45e7470feeaafd8",
      "tree": "97a8fe2123d2c9df2bcb48052ac33d445a00f64c",
      "parents": [
        "cf4fc6cb76e50b01666e28a9f4b2e6fbcbb96d5f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 08 04:19:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "time: fix typo in comments\n\nFix typo in comments.\n\nBTW: I have to fix coding style in arch/ia64/kernel/time.c also, otherwise\ncheckpatch.pl will be complaining.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "cf4fc6cb76e50b01666e28a9f4b2e6fbcbb96d5f"
}
