)]}'
{
  "log": [
    {
      "commit": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\n"
    },
    {
      "commit": "60d8ce2cd6c283132928c11f3fd57ff4187287e0",
      "tree": "36d08a2ead7a7d8c3c081d484215ccca00bf6aab",
      "parents": [
        "849e8dea099aafa56db9e74b580b0d858b956533",
        "feae3203d711db0a9965300ee6d592257fdaae4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 19:27:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 19:27:08 2009 -0800"
      },
      "message": "Merge branch \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers, init: Limit the number of per cpu calibration bootup messages\n  posix-cpu-timers: optimize and document timer_create callback\n  clockevents: Add missing include to pacify sparse\n  x86: vmiclock: Fix printk format\n  x86: Fix printk format due to variable type change\n  sparc: fix printk for change of variable type\n  clocksource/events: Fix fallout of generic code changes\n  nohz: Allow 32-bit machines to sleep for more than 2.15 seconds\n  nohz: Track last do_timer() cpu\n  nohz: Prevent clocksource wrapping during idle\n  nohz: Type cast printk argument\n  mips: Use generic mult/shift factor calculation for clocks\n  clocksource: Provide a generic mult/shift factor calculation\n  clockevents: Use u32 for mult and shift factors\n  nohz: Introduce arch_needs_cpu\n  nohz: Reuse ktime in sub-functions of tick_check_idle.\n  time: Remove xtime_cache\n  time: Implement logarithmic time accumulation\n"
    },
    {
      "commit": "a362c638bdf052bf424bce7645d39b101090f6ba",
      "tree": "9622bd946d6f21071611415530a7ce736144a9ff",
      "parents": [
        "97813f2fe77804a4464564c75ba8d8826377feea"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Nov 14 00:26:34 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Nov 14 00:35:52 2009 +0100"
      },
      "message": "clocksource/events: Fix fallout of generic code changes\n\npowerpc grew a new warning due to the type change of clockevent-\u003emult.\n\nThe architectures which use parts of the generic time keeping\ninfrastructure tripped over my wrong assumption that\nclocksource_register is only used when GENERIC_TIME\u003dy.\n\nI should have looked and also I should have known better. These\nrenitent Gaul villages are racking my nerves. Some serious deprecating\nis due.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "98962465ed9e6ea99c38e0af63fe1dcb5a79dc25",
      "tree": "f3f69ad8f6cd47e72a75da6de49eb3402f15cd9b",
      "parents": [
        "529eaccd900a59724619b4a6ef6579fd518d5218"
      ],
      "author": {
        "name": "Jon Hunter",
        "email": "jon-hunter@ti.com",
        "time": "Tue Aug 18 12:45:10 2009 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 13 20:46:24 2009 +0100"
      },
      "message": "nohz: Prevent clocksource wrapping during idle\n\nThe dynamic tick allows the kernel to sleep for periods longer than a\nsingle tick, but it does not limit the sleep time currently. In the\nworst case the kernel could sleep longer than the wrap around time of\nthe time keeping clock source which would result in losing track of\ntime.\n\nPrevent this by limiting it to the safe maximum sleep time of the\ncurrent time keeping clock source. The value is calculated when the\nclock source is registered.\n\n[ tglx: simplified the code a bit and massaged the commit msg ]\n\nSigned-off-by: Jon Hunter \u003cjon-hunter@ti.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1250617512-23567-2-git-send-email-jon-hunter@ti.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7d2f944a2b836c69a9d260a0a5f0d1720d57fdff",
      "tree": "67766d878c650ab7ac13d155081b9c745447e24e",
      "parents": [
        "23af368e9a904f59256c27d371ce223d6cee0430"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 11 14:05:29 2009 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 13 20:46:23 2009 +0100"
      },
      "message": "clocksource: Provide a generic mult/shift factor calculation\n\nMIPS has two functions to calculcate the mult/shift factors for clock\nsources and clock events at run time. ARM needs such functions as\nwell.\n\nImplement a function which calculates the mult/shift factors based on\nthe frequencies to which and from which is converted. The function\nalso has a parameter to specify the minimum conversion range in\nseconds. This range is guaranteed not to produce a 64bit overflow when\na value is multiplied with the calculated mult factor. The larger the\nconversion range the less becomes the conversion accuracy.\n\nProvide two inline wrappers which handle clock events and clock\nsources. For clock events the \"from\" frequency is nano seconds per\nsecond which corresponds to 1GHz and \"to\" is the device frequency. For\nclock sources \"from\" is the device frequency and \"to\" is nano seconds\nper second.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c20091111134229.766673305@linutronix.de\u003e\n"
    },
    {
      "commit": "3586e0a9a4a5f19110627d6ba81ada32a358467d",
      "tree": "6790be67eaf564522b4fddec7f4a1f6a33fe32ef",
      "parents": [
        "a3bc1f11e9b867a4f49505ecac486a33af248b2e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 11 19:06:30 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 11 19:06:30 2009 -0800"
      },
      "message": "clocksource/timecompare: Fix symbol exports to be GPL\u0027d.\n\nNoticed by Thomas GLeixner.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b71a8eb0fa64ec6d00175f479e3ef851703568af",
      "tree": "b3a71df4dde15af10511a8aa54033deb90ee27f6",
      "parents": [
        "fa3012318bfb395552baef69bb1ebe87e64945c8"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Oct 06 12:42:51 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 09 09:40:56 2009 +0100"
      },
      "message": "tree-wide: fix typos \"selct\" + \"slect\" -\u003e \"select\"\n\nThis patch was generated by\n\n\tgit grep -E -i -l \u0027s(le|el)ct\u0027 | xargs -r perl -p -i -e \u0027s/([Ss])(le|el)ct/$1elect/\n\nwith only skipping net/netfilter/xt_SECMARK.c and\ninclude/linux/netfilter/xt_SECMARK.h which have a struct member called\nselctx.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "89133f93508137231251543d1732da638e6022e1",
      "tree": "8f94df8c650bbe2ec765de89ce70b9e762a5ba2f",
      "parents": [
        "94a8d5caba74211ec76dac80fc6e2d5c391530df"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Sep 24 17:29:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 24 22:37:53 2009 +0200"
      },
      "message": "clocksource: Resume clocksource without taking the clocksource mutex\n\ngit commit 75c5158f70c065b9 converted the clocksource spinlock to a\nmutex. This causes the following BUG:\n\nBUG: sleeping function called from invalid context at\nkernel/mutex.c:280 in_atomic(): 0, irqs_disabled(): 1, pid: 2473,\nname: pm-suspend 2 locks held by pm-suspend/2473:\n #0:  (\u0026buffer-\u003emutex){......}, at: [\u003cffffffff8115ab13\u003e]\nsysfs_write_file+0x3c/0x137\n #1:  (pm_mutex){......}, at: [\u003cffffffff810865b5\u003e]\nenter_state+0x39/0x130 Pid: 2473, comm: pm-suspend Not tainted 2.6.31\n#1 Call Trace:\n [\u003cffffffff810792f0\u003e] ? __debug_show_held_locks+0x22/0x24\n [\u003cffffffff8104a2ef\u003e] __might_sleep+0x107/0x10b\n [\u003cffffffff8141fca9\u003e] mutex_lock_nested+0x25/0x43\n [\u003cffffffff81073537\u003e] clocksource_resume+0x1c/0x60\n [\u003cffffffff81072902\u003e] timekeeping_resume+0x1e/0x1c8\n [\u003cffffffff812aee62\u003e] __sysdev_resume+0x25/0xcf\n [\u003cffffffff812aef79\u003e] sysdev_resume+0x6d/0xae\n [\u003cffffffff810864f8\u003e] suspend_devices_and_enter+0x12b/0x1af\n [\u003cffffffff8108665b\u003e] enter_state+0xdf/0x130\n [\u003cffffffff81085dc3\u003e] state_store+0xb6/0xd3\n [\u003cffffffff81204c73\u003e] kobj_attr_store+0x17/0x19\n [\u003cffffffff8115abd2\u003e] sysfs_write_file+0xfb/0x137\n [\u003cffffffff811057d2\u003e] vfs_write+0xae/0x10b\n [\u003cffffffff81208392\u003e] ? __up_read+0x1a/0x7f\n [\u003cffffffff811058ef\u003e] sys_write+0x4a/0x6e\n [\u003cffffffff81011b82\u003e] system_call_fastpath+0x16/0x1b\n\nclocksource_resume is called early in the resume process, there is\nonly one cpu, no processes are running and the interrupts are\ndisabled. It is therefore possible to resume the clocksources\nwithout taking the clocksource mutex.\n\nReported-by: Xiaotian Feng \u003cxtfeng@gmail.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nTested-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nCc: Xiaotian Feng \u003cxtfeng@gmail.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c20090924172952.49697825@mschwide.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54a6bc0b071c50150bc6d1da16c2cd9a963e288c",
      "tree": "87b576e31db14f6d57b0d8ed97743ab9779de30e",
      "parents": [
        "e6c733050faa93ce616bfedccd279ab12cffdd7b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 14 19:49:02 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 14 21:59:32 2009 +0200"
      },
      "message": "clocksource: Delay clocksource down rating to late boot\n\nThe down rating of clock sources in the early boot process via the\nclock source watchdog mechanism can happen way before the per cpu\nevent queues are initialized. This leads to a boot crash on x86 when\nthe TSC is marked unstable in the SMP bring up.\n\nThe selection of a clock source for time keeping happens in the late\nboot process so we can safely delay the list manipulation until\nclocksource_done_booting() is called.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "e6c733050faa93ce616bfedccd279ab12cffdd7b",
      "tree": "03a1b49744d5aacd98d9e26b0769acb90a38dfac",
      "parents": [
        "f79e0258ea1f04d63db499479b5fb855dff6dbc5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 14 19:51:11 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 14 21:59:32 2009 +0200"
      },
      "message": "clocksource: clocksource_select must be called with mutex locked\n\nThe callers of clocksource_select must hold clocksource_mutex to\nprotect the clocksource_list.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "f79e0258ea1f04d63db499479b5fb855dff6dbc5",
      "tree": "66edb089e5c3aee03e1326d41e47d7e14c21e76b",
      "parents": [
        "e500011ffa191d662ac64d4ada6a5187b3180e16"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Sep 11 15:33:05 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 11 20:17:18 2009 +0200"
      },
      "message": "clocksource: Resolve cpu hotplug dead lock with TSC unstable, fix crash\n\nThe watchdog timer is started after the watchdog clocksource\nand at least one watched clocksource have been registered. The\nclocksource work element watchdog_work is initialized just\nbefore the clocksource timer is started. This is too late for\nthe clocksource_mark_unstable call from native_cpu_up. To fix\nthis use a static initializer for watchdog_work.\n\nThis resolves a boot crash reported by multiple people.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c20090911153305.3fe9a361@skybase\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7285dd7fd375763bfb8ab1ac9cf3f1206f503c16",
      "tree": "42f809ab3616cc3d93d655acccfc2d54e9f6d0e4",
      "parents": [
        "90cba64a5f672a239f43ec5cb9a11b806887331e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Aug 28 20:25:24 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Aug 28 20:25:24 2009 +0200"
      },
      "message": "clocksource: Resolve cpu hotplug dead lock with TSC unstable\n\nMartin Schwidefsky analyzed it:\nTo register a clocksource the clocksource_mutex is acquired and if\nnecessary timekeeping_notify is called to install the clocksource as\nthe timekeeper clock. timekeeping_notify uses stop_machine which needs\nto take cpu_add_remove_lock mutex.\nStarting a new cpu is done with the cpu_add_remove_lock mutex held.\nnative_cpu_up checks the tsc of the new cpu and if the tsc is no good\nclocksource_change_rating is called. Which needs the clocksource_mutex\nand the deadlock is complete.\n\nThe solution is to replace the TSC via the clocksource watchdog\nmechanism. Mark the TSC as unstable and schedule the watchdog work so\nit gets removed in the watchdog thread context.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\n"
    },
    {
      "commit": "01548f4d3e8e94caf323a4f664eb347fd34a34ab",
      "tree": "2717e7d4dd781be2d57737df96b074451090f3d9",
      "parents": [
        "d0981a1b21a03866c8da7f44e35e389c2e0d6061"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Aug 18 17:09:42 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 19 12:00:56 2009 +0200"
      },
      "message": "clocksource: Avoid clocksource watchdog circular locking dependency\n\nstop_machine from a multithreaded workqueue is not allowed because\nof a circular locking dependency between cpu_down and the workqueue\nexecution. Use a kernel thread to do the clocksource downgrade.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c20090818170942.3ab80c91@skybase\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "d0981a1b21a03866c8da7f44e35e389c2e0d6061",
      "tree": "7fe013c7de9adb1d4f20163669571fddfe09881c",
      "parents": [
        "6ea41d252f35465a2308a4038a323b6b07de06f6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 19 11:26:09 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 19 11:42:48 2009 +0200"
      },
      "message": "clocksource: Protect the watchdog rating changes with clocksource_mutex\n\nMartin pointed out that commit 6ea41d2529 (clocksource: Call\nclocksource_change_rating() outside of watchdog_lock) has a\ntheoretical reference count problem. The calls to\nclocksource_change_rating() are now done outside of the clocksource\nmutex and outside of the watchdog lock. A concurrent\nclocksource_unregister() could remove the clock.\n\nSplit out the code which changes the rating from\nclocksource_change_rating() into __clocksource_change_rating().\n\nProtect the clocksource_watchdog_work() code sequence with the\nclocksource_mutex() and call __clocksource_change_rating().\n\nLKML-Reference: \u003calpine.LFD.2.00.0908171038420.2782@localhost.localdomain\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6ea41d252f35465a2308a4038a323b6b07de06f6",
      "tree": "50315e593c1eacd4c0ebbe5abb1919bdb0302943",
      "parents": [
        "23970e389e9cee43c4b41023935e1417271708b2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 13:20:42 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 13:20:42 2009 +0200"
      },
      "message": "clocksource: Call clocksource_change_rating() outside of watchdog_lock\n\nThe changes to the watchdog logic introduced a lock inversion between\nwatchdog_lock and clocksource_mutex. Change the rating outside of\nwatchdog_lock to avoid it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "75c5158f70c065b9704b924503d96e8297838f79",
      "tree": "74b02ba1f13aaf8292bd472a8a197ac900ff20e7",
      "parents": [
        "2ba2a3054fdffc8e6452f4ee120760322a6fbd43"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Aug 14 15:47:30 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 10:55:46 2009 +0200"
      },
      "message": "timekeeping: Update clocksource with stop_machine\n\nupdate_wall_time calls change_clocksource HZ times per second to check\nif a new clock source is available. In close to 100% of all calls\nthere is no new clock. Replace the tick based check by an update done\nwith stop_machine.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Daniel Walker \u003cdwalker@fifo99.com\u003e\nLKML-Reference: \u003c20090814134810.711836357@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "155ec60226ae0ae2aadaa57c951a58a359331030",
      "tree": "fdee05f7b587f8d49cdd277abdbe44212279a4ba",
      "parents": [
        "c55c87c892c1875deace0c8fc28787335277fdf2"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Aug 14 15:47:26 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 10:55:46 2009 +0200"
      },
      "message": "timekeeping: Introduce struct timekeeper\n\nAdd struct timekeeper to keep the internal values timekeeping.c needs\nin regard to the currently selected clock source. This moves the\ntimekeeping intervals, xtime_nsec and the ntp error value from struct\nclocksource to struct timekeeper. The raw_time is removed from the\nclocksource as well. It gets treated like xtime as a global variable.\nEventually xtime raw_time should be moved to struct timekeeper.\n\n[ tglx: minor cleanup ]\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Daniel Walker \u003cdwalker@fifo99.com\u003e\nLKML-Reference: \u003c20090814134809.613209842@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c55c87c892c1875deace0c8fc28787335277fdf2",
      "tree": "8b3a4c08f0eea40683cfb94bc44ef18507ae3011",
      "parents": [
        "fb63a0ebe615fba9de8c75ea44ded999d1e24c65"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Aug 14 15:47:25 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 10:55:46 2009 +0200"
      },
      "message": "clocksource: Move watchdog downgrade to a work queue thread\n\nMove the downgrade of an unstable clocksource from the timer interrupt\ncontext into the process context of a work queue thread. This is\nneeded to be able to do the clocksource switch with stop_machine.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Daniel Walker \u003cdwalker@fifo99.com\u003e\nLKML-Reference: \u003c20090814134809.354926067@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fb63a0ebe615fba9de8c75ea44ded999d1e24c65",
      "tree": "7544b72d9de56f68047579d39da4927f839197d3",
      "parents": [
        "0f8e8ef7c204988246da5a42d576b7fa5277a8e4"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Aug 14 15:47:24 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 10:55:46 2009 +0200"
      },
      "message": "clocksource: Refactor clocksource watchdog\n\nRefactor clocksource watchdog code to make it more readable. Add\nclocksource_dequeue_watchdog to remove a clocksource from the watchdog\nlist when it is unregistered.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Daniel Walker \u003cdwalker@fifo99.com\u003e\nLKML-Reference: \u003c20090814134809.110881699@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0f8e8ef7c204988246da5a42d576b7fa5277a8e4",
      "tree": "390bcd20b76bfa331e029c731ade1b6263e14684",
      "parents": [
        "8cf4e750f8459d51c2e8a035a201da4bf7aa996a"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Aug 14 15:47:23 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 10:55:46 2009 +0200"
      },
      "message": "clocksource: Simplify clocksource watchdog resume logic\n\nTo resume the clocksource watchdog just remove the CLOCK_SOURCE_WATCHDOG\nbit from the watched clocksource.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Daniel Walker \u003cdwalker@fifo99.com\u003e\nLKML-Reference: \u003c20090814134808.880925790@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8cf4e750f8459d51c2e8a035a201da4bf7aa996a",
      "tree": "b197e6074bae727556cce983c21cfdcf17dc6388",
      "parents": [
        "f1b82746c1e93daf24e1ab9bfbd39bcdb2e7018b"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Aug 14 15:47:22 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 10:55:46 2009 +0200"
      },
      "message": "clocksource: Delay clocksource watchdog highres enablement\n\nThe clocksource watchdog marks a clock as highres capable before it\nchecked the deviation from the watchdog clocksource even for a single\ntime. Make sure that the deviation is at least checked once before\ndoing the switch to highres mode.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Daniel Walker \u003cdwalker@fifo99.com\u003e\nLKML-Reference: \u003c20090814134808.627795883@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f1b82746c1e93daf24e1ab9bfbd39bcdb2e7018b",
      "tree": "1403e3662dd3b32cb8b17218bfdd9a640061f654",
      "parents": [
        "1be396794897f80bfc8774719ba60309a9e3d374"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Aug 14 15:47:21 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 10:55:46 2009 +0200"
      },
      "message": "clocksource: Cleanup clocksource selection\n\nIf a non high-resolution clocksource is first set as override clock\nand then registered it becomes active even if the system is in one-shot\nmode. Move the override check from sysfs_override_clocksource to the\nclocksource selection. That fixes the bug and simplifies the code. The\ncheck in clocksource_register for double registration of the same\nclocksource is removed without replacement.\n\nTo find the initial clocksource a new weak function in jiffies.c is\ndefined that returns the jiffies clocksource. The architecture code\ncan then override the weak function with a more suitable clocksource,\ne.g. the TOD clock on s390.\n\n[ tglx: Folded in a fix from John Stultz ]\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Daniel Walker \u003cdwalker@fifo99.com\u003e\nLKML-Reference: \u003c20090814134808.388024160@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "79ef2bb01445400def20c7993b27fbcad27ca95f",
      "tree": "2b4941a2b4a6822dd0f50f13ff04e9e0a369878e",
      "parents": [
        "4841158b26e28e1476eed84c7347c18f11317750"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 19 17:09:12 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 19 17:15:54 2009 +0200"
      },
      "message": "clocksource: Prevent NULL pointer dereference\n\nWriting a zero length string to sys/.../current_clocksource will cause\na NULL pointer dereference if the clock events system is in one shot\n(highres or nohz) mode.\n\nPointed-out-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nLKML-Reference: \u003calpine.DEB.2.00.0907191545580.12306@bicker\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cd6d95d8449b7c9f415f26041e9ae173d387b6bd",
      "tree": "ddd1f2d6436f398419045b3e0ee860c01523cfea",
      "parents": [
        "3f68535adad8dd89499505a65fb25d0e02d118cc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jun 12 11:29:27 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jun 13 12:00:26 2009 +0200"
      },
      "message": "clocksource: prevent selection of low resolution clocksourse also for nohz\u003don\n\ncommit 3f68535adad (clocksource: sanity check sysfs clocksource\nchanges) prevents selection of non high resolution capable\nclocksources when high resolution mode is active, but did not take\ninto account that the same rules apply for highres\u003doff nohz\u003don.\n\nCheck the tick device mode instead of hrtimer_hres_active() to verify\nwhether the system needs to be protected from a switch to jiffies or\nother non highres capable clock sources.\n\nReported-by: Luming Yu \u003cluming.yu@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3f68535adad8dd89499505a65fb25d0e02d118cc",
      "tree": "b347c3901d2d590d8c2b8c3be993ef20b278e61f",
      "parents": [
        "7d27558c4138ac6b3684dea35c2f4379b940a7dd"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed Jan 21 22:53:22 2009 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 11 11:24:52 2009 +0200"
      },
      "message": "clocksource: sanity check sysfs clocksource changes\n\nThomas, Andrew and Ingo pointed out that we don\u0027t have any safety checks\nin the clocksource sysfs entries to make sure sysadmins don\u0027t try to\nchange the clocksource to a non high-res timer capable clocksource (such\nas jiffies) when high-res timers (HRT) is enabled.  Doing so will likely\nhang a system.\n\nCorrect this by filtering non HRT clocksources from available_clocksources\nand not accepting non HRT clocksources with HRT enabled.\n\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": "a25cbd045a2ffc42787d4dbcbb9c7118f5f42732",
      "tree": "cefbaaf38cd09ffb3c96cacf2b93b6d9caaa4fe2",
      "parents": [
        "091438dd5668396328a3419abcbc6591159eb8d1"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "magnus.damm@gmail.com",
        "time": "Fri May 01 14:45:46 2009 +0900"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 02 11:45:15 2009 +0200"
      },
      "message": "clocksource: setup mult_orig in clocksource_enable()\n\nSetup clocksource mult_orig in clocksource_enable().\n\nClocksource drivers can save power by using keeping the\ndevice clock disabled while the clocksource is unused.\n\nIn practice this means that the enable() and disable()\ncallbacks perform clk_enable() and clk_disable().\n\nThe enable() callback may also use clk_get_rate() to get\nthe clock rate from the clock framework. This information\ncan then be used to calculate the shift and mult variables.\n\nCurrently the mult_orig variable is setup from mult at\nregistration time only. This is conflicting with the above\ncase since the clock is disabled and the mult variable is\nnot yet calculated at the time of registration.\n\nMoving the mult_orig setup code to clocksource_enable()\nallows us to both handle the common case with no enable()\ncallback and the mult-changed-after-enable() case.\n\n[ Impact: allow dynamic clock source usage ]\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nLKML-Reference: \u003c20090501054546.8193.10688.sendpatchset@rx1.opensource.se\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8e19608e8b5c001e4a66ce482edc474f05fb7355",
      "tree": "06af4be339136da7476396604c30112238d84339",
      "parents": [
        "ff14ed5db6e7e5e5dc23712d3c877891d4d9a1a8"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Tue Apr 21 12:24:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:47 2009 -0700"
      },
      "message": "clocksource: pass clocksource to read() callback\n\nPass clocksource pointer to the read() callback for clocksources.  This\nallows us to share the callback between multiple instances.\n\n[hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a038a353c3de4040d8445ec568acebdac144436f",
      "tree": "2fac74d812b47fa2d9fabfa55261d544813b66f6",
      "parents": [
        "0a834a36ac92375cd82d9e4fe4f571e257997d6a"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Thu Feb 12 05:03:34 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 15 22:43:31 2009 -0800"
      },
      "message": "clocksource: allow usage independent of timekeeping.c\n\nSo far struct clocksource acted as the interface between time/timekeeping.c\nand hardware. This patch generalizes the concept so that a similar\ninterface can also be used in other contexts. For that it introduces\nnew structures and related functions *without* touching the existing\nstruct clocksource.\n\nThe reasons for adding these new structures to clocksource.[ch] are\n* the APIs are clearly related\n* struct clocksource could be cleaned up to use the new structs\n* avoids proliferation of files with similar names (timesource.h?\n  timecounter.h?)\n\nAs outlined in the discussion with John Stultz, this patch adds\n* struct cyclecounter: stateless API to hardware which counts clock cycles\n* struct timecounter: stateful utility code built on a cyclecounter which\n  provides a nanosecond counter\n* only the function to read the nanosecond counter; deltas are used internally\n  and not exposed to users of timecounter\n\nThe code does no locking of the shared state. It must be called at least\nas often as the cycle counter wraps around to detect these wrap arounds.\nBoth is the responsibility of the timecounter user.\n\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5db0e1e9e0f30f160b832a0b5cd1131954bf4f6e",
      "tree": "c49877290fcbebb6245429bc5d554bea438c4fe8",
      "parents": [
        "174596a0b9f21e8844d70566a6bb29bf48a87750"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:29 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:29 2009 +1030"
      },
      "message": "cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/\n\nImpact: cleanup\n\nSimple replacement, now the _nr is redundant.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "6b954823c24f04ed026a8517f6bab5abda279db8",
      "tree": "bc034346fa51ba63361e23a1631e163eeb52097e",
      "parents": [
        "e7577c50f2fb2d1c167e2c04a4b4c2cc042acb82"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:25 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:25 2009 +1030"
      },
      "message": "cpumask: convert kernel time functions\n\nImpact: Use new APIs\n\nConvert kernel/time functions to use struct cpumask *.\n\nNote the ugly bitmap declarations in tick-broadcast.c.  These should\nbe cpumask_var_t, but there was no obvious initialization function to\nput the alloc_cpumask_var() calls in.  This was safe.\n\n(Eventually \u0027struct cpumask\u0027 will be undefined for CONFIG_CPUMASK_OFFSTACK,\nso we use a bitmap here to show we really mean it).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\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": "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": "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": "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": "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": "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": "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": "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": "818c357802e2791880057fe752dc9ce9e210f772",
      "tree": "3694d26a887fea0cb96e843177d3281bc1cc7ef6",
      "parents": [
        "146a505d498c36de98ec161d791dd50beca7f9a3"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 08 04:19:23 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:29 2008 -0800"
      },
      "message": "clocksource: remove redundant code\n\nFlag CLOCK_SOURCE_WATCHDOG is cleared twice.  Note clocksource_change_rating()\nwon\u0027t do anyting with the cs flag.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e2cb1018a8a583b83d56c80f46507da6f3f2b57",
      "tree": "b9cbe718649c8be6e2d54aedcf75244fbe56bddd",
      "parents": [
        "be6c28e62e3a304b74013afab029af2021e1f50d"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Feb 06 01:36:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "time: fix sysfs_show_{available,current}_clocksources() buffer overflow problem\n\nI found that there is a buffer overflow problem in the following code.\n\nVersion:\t2.6.24-rc2,\nFile:\t\tkernel/time/clocksource.c:417-432\n--------------------------------------------------------------------\nstatic ssize_t\nsysfs_show_available_clocksources(struct sys_device *dev, char *buf)\n{\n\tstruct clocksource *src;\n\tchar *curr \u003d buf;\n\n\tspin_lock_irq(\u0026clocksource_lock);\n\tlist_for_each_entry(src, \u0026clocksource_list, list) {\n\t\tcurr +\u003d sprintf(curr, \"%s \", src-\u003ename);\n\t}\n\tspin_unlock_irq(\u0026clocksource_lock);\n\n\tcurr +\u003d sprintf(curr, \"\\n\");\n\n\treturn curr - buf;\n}\n-----------------------------------------------------------------------\n\nsysfs_show_current_clocksources() also has the same problem though in practice\nthe size of current clocksource\u0027s name won\u0027t exceed PAGE_SIZE.\n\nI fix the bug by using snprintf according to the specification of the kernel\n(Version:2.6.24-rc2,File:Documentation/filesystems/sysfs.txt)\n\nFix sysfs_show_available_clocksources() and sysfs_show_current_clocksources()\nbuffer overflow problem with snprintf().\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4713e22ce81eb8b3353e16435362eb3d0ec95640",
      "tree": "6f96151bd9b182d6b9d706d3ad3b4fe8c99e7f7e",
      "parents": [
        "316da3b3fc8efa9a5d2c99e0d449f01ff38c6aba"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "message": "clocksource: add unregister function to disable unusable clocksources\n\nOn x86 the PIT might become an unusable clocksource. Add an unregister\nfunction to provide a possibilty to remove the PIT from the list of\navailable clock sources.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ada5cba6a0318f90e45b38557e7b5206a9cba38",
      "tree": "262886af88fe55e2de6fb1e878f68bd6b452a3aa",
      "parents": [
        "1077f5a917b7c630231037826b344b2f7f5b903f"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "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": "1077f5a917b7c630231037826b344b2f7f5b903f",
      "tree": "e0083b73450d513b16d0f5c0704ad49961dce401",
      "parents": [
        "efd9ac8630e89b9ee7ce64008bd7783952374f37"
      ],
      "author": {
        "name": "Parag Warudkar",
        "email": "parag.warudkar@gmail.com",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "clocksource.c: use init_timer_deferrable for clocksource_watchdog\n\nclocksource_watchdog can use a deferrable timer - reduces wakeups from\nidle per second.\n\nSigned-off-by: Parag Warudkar \u003cparag.warudkar@gmail.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\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": "af5ca3f4ec5cc4432a42a73b050dd8898ce8fd00",
      "tree": "3e5a3081b2802547f10da72c0026b4929d0e287b",
      "parents": [
        "528a4bf1d5ffed310d26fc1d82d45c02949f71cf"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Dec 20 02:09:39 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Driver core: change sysdev classes to use dynamic kobject names\n\nAll kobjects require a dynamically allocated name now. We no longer\nneed to keep track if the name is statically assigned, we can just\nunconditionally free() all kobject names on cleanup.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2e1975868ac9d41211fcaa6f2c5e44c4e7ff9e5b",
      "tree": "fdf1304a9bcd092c63df6423327f33fcf5c3d44b",
      "parents": [
        "03ff17979c58a0b63b0fe30a373f41b719731bd2"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Thu Oct 18 23:39:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "kernel/time/clocksource.c: Use list_for_each_entry instead of list_for_each\n\nkernel/time/clocksource.c: Convert list_for_each to\nlist_for_each_entry in clocksource_resume(),\nsysfs_override_clocksource() and show_available_clocksources()\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f89441b37536fea92b1ed7004e5e2dda011473d",
      "tree": "7587c859ea62fb3905613fc4265a8120b5384516",
      "parents": [
        "3c46bdcaec53eda069a8a9cd60621c7431aa7842"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 15 01:41:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 15 08:54:00 2007 -0700"
      },
      "message": "clocksource: fix lock order in the resume path\n\nlockdep complains about the lock nesting of clocksource and watchdog lock\nin the resume path.\n\nChange the resume marker to a bit operation and remove the lock from this\npath.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b52f52a093bb1e841e014c2087b5bee7162da413",
      "tree": "7b7135897195fc9d14473d3ab824d59a4b65e5ad",
      "parents": [
        "4037d452202e34214e8a939fa5621b2b3bbb45b7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 09 02:35:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "clocksource: fix resume logic\n\nWe need to make sure that the clocksources are resumed, when timekeeping is\nresumed.  The current resume logic does not guarantee this.\n\nAdd a resume function pointer to the clocksource struct, so clocksource\ndrivers which need to reinitialize the clocksource can provide a resume\nfunction.\n\nAdd a resume function, which calls the maybe available clocksource resume\nfunctions and resets the watchdog function, so a stable TSC can be used\naccross suspend/resume.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "35c35d1afa8f9afe01d922ff9668a14c5d879b02",
      "tree": "5134d8447f5d25e8c8c32c7ed6f4cb0cd97c9da8",
      "parents": [
        "18d8362d517cb2bd97761294924fe6c2a6ee5e3c"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Wed May 09 02:33:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:49 2007 -0700"
      },
      "message": "clocksource: spelling error in watchdog code\n\nThere\u0027s more that need fixing, and fix my own subject spelling error too.\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "948ac6d71cf868b431adb3139d8dfbd9c4e4a6ca",
      "tree": "485171e5970cfc75614730aaa4201db430c3030a",
      "parents": [
        "9501b6cf5541f0d576d566a463f1e7d3eaaab4eb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 25 14:42:51 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Mar 25 14:57:34 2007 -0700"
      },
      "message": "[PATCH] clocksource: Fix thinko in watchdog selection\n\nThe watchdog implementation excludes low res / non continuous\nclocksources from being selected as a watchdog reference\nunintentionally.\n\nAllow using jiffies/PIT as a watchdog reference as long as no better\nclocksource is available. This is necessary to detect TSC breakage on\nsystems, which have no pmtimer/hpet.\n\nThe main goal of the initial patch (preventing to switch to highres/nohz\nwhen no reliable fallback clocksource is available) is still guaranteed\nby the checks in clocksource_watchdog().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6bb74df481223731af6c7e0ff3adb31f6442cfcd",
      "tree": "2aa0b0cfa55cb4b9a9236bd94b723d83eb0bdaa8",
      "parents": [
        "4540768011352d38afb89d400eacb3e261507b70"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Mar 05 00:30:50 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 05 07:57:53 2007 -0800"
      },
      "message": "[PATCH] clocksource init adjustments (fix bug #7426)\n\nThis patch resolves the issue found here:\nhttp://bugme.osdl.org/show_bug.cgi?id\u003d7426\n\nThe basic summary is:\nCurrently we register most of i386/x86_64 clocksources at module_init\ntime. Then we enable clocksource selection at late_initcall time. This\ncauses some problems for drivers that use gettimeofday for init\ncalibration routines (specifically the es1968 driver in this case),\nwhere durring module_init, the only clocksource available is the low-res\njiffies clocksource. This may cause slight calibration errors, due to\nthe small sampling time used.\n\nIt should be noted that drivers that require fine grained time may not\nfunction on architectures that do not have better then jiffies\nresolution timekeeping (there are a few). However, this does not\ndiscount the reasonable need for such fine-grained timekeeping at init\ntime.\n\nThus the solution here is to register clocksources earlier (ideally when\nthe hardware is being initialized), and then we enable clocksource\nselection at fs_initcall (before device_initcall).\n\nThis patch should probably get some testing time in -mm, since\nclocksource selection is one of the most important issues for correct\ntimekeeping, and I\u0027ve only been able to test this on a few of my own\nboxes.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79bf2bb335b85db25d27421c798595a2fa2a0e82",
      "tree": "550ec2654ae1dd65b871de7fe9c890108c6e86d8",
      "parents": [
        "f8381cba04ba8173fd5a2b8e5cd8b3290ee13a98"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] tick-management: dyntick / highres functionality\n\nWith Ingo Molnar \u003cmingo@elte.hu\u003e\n\nAdd functions to provide dynamic ticks and high resolution timers.  The code\nwhich keeps track of jiffies and handles the long idle periods is shared\nbetween tick based and high resolution timer based dynticks.  The dyntick\nfunctionality can be disabled on the kernel commandline.  Provide also the\ninfrastructure to support high resolution timers.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d8b34fdcb384161552d01ee8f34af5ff11f9684",
      "tree": "7052d50574d747b7ec2172051adf8126074d6982",
      "parents": [
        "7e69f2b1ead2a4c51c12817f18263ff0e59335a6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:43 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:57 2007 -0800"
      },
      "message": "[PATCH] clocksource: Add verification (watchdog) helper\n\nThe TSC needs to be verified against another clocksource.  Instead of using\nhardwired assumptions of available hardware, provide a generic verification\nmechanism.  The verification uses the best available clocksource and handles\nthe usability for high resolution timers / dynticks of the clocksource which\nneeds to be verified.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92c7e00254b2d0efc1e36ac3e45474ce1871b6b2",
      "tree": "9314279ec92bbbe57ac79667860b49d4df6c12cd",
      "parents": [
        "26a08eb301a2e3fce5a501e3dd26cf3ec46591d7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:33 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:57 2007 -0800"
      },
      "message": "[PATCH] Simplify the registration of clocksources\n\nEnqueue clocksources in rating order to make selection of the clocksource\neasier.  Also check the match with an user override at enqueue time.\n\nPreparatory patch for the generic clocksource verification.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc29a3657b52ac687970d81d7194cf4238702124",
      "tree": "1c0844c2a87468935875763f537303b2652498ca",
      "parents": [
        "38135614ddef4de16d5cdf03c2717e88b97dd2ab"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Sat Feb 10 01:43:43 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:20 2007 -0800"
      },
      "message": "[PATCH] kernel/time/clocksource.c needs struct task_struct on m68k\n\nkernel/time/clocksource.c needs struct task_struct on m68k.\n\nBecause it uses spin_unlock_irq(), which, on m68k, uses hardirq_count(), which\nuses preempt_count(), which needs to dereference struct task_struct, we\nhave to include sched.h. Because it would cause a loop inclusion, we\ncannot include sched.h in any other of asm-m68k/system.h,\nlinux/thread_info.h, linux/hardirq.h, which leaves this ugly include in\na C file as the only simple solution.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5f1a24a2caa299bb7d294aee92d7dd3410d9ed7",
      "tree": "499a2687c2e29733974d1721d238c561078b46c5",
      "parents": [
        "2b0137001de68153203dd3bc20e6d27eb7c9719c"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Sun Dec 10 02:21:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:57:22 2006 -0800"
      },
      "message": "[PATCH] clocksource: small cleanup\n\nMostly changing alignment.  Just some general cleanup.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2b0137001de68153203dd3bc20e6d27eb7c9719c",
      "tree": "9cb5870d892f750e1baa7255067fd6085a9dd09b",
      "parents": [
        "2b2842146cb4105877c2be51d3857ec61ebd4ff9"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Sun Dec 10 02:21:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:57:22 2006 -0800"
      },
      "message": "[PATCH] clocksource: add usage of CONFIG_SYSFS\n\nSimply adds some ifdefs to remove clocksoure sysfs code when CONFIG_SYSFS\nisn\u0027t turn on.\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a275254975a29c51929ee175b92ac471ac2a0043",
      "tree": "42ec41bf74c0c601f05ed12ff674539f4bf6f505",
      "parents": [
        "5d0cf410e94b1f1ff852c3f210d22cc6c5a27ffa"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:21 2006 -0700"
      },
      "message": "[PATCH] time: rename clocksource functions\n\nAs suggested by Roman Zippel, change clocksource functions to use\nclocksource_xyz rather then xyz_clocksource to avoid polluting the\nnamespace.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d0cf410e94b1f1ff852c3f210d22cc6c5a27ffa",
      "tree": "a30cd6d201295945f401fd1f2731493f68db9ee9",
      "parents": [
        "61743fe445213b87fb55a389c8d073785323ca3e"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:21 2006 -0700"
      },
      "message": "[PATCH] Time: i386 Clocksource Drivers\n\nImplement the time sources for i386 (acpi_pm, cyclone, hpet, pit, and tsc).\nWith this patch, the conversion of the i386 arch to the generic timekeeping\ncode should be complete.\n\nThe patch should be fairly straight forward, only adding the new clocksources.\n\n[hirofumi@mail.parknet.co.jp: acpi_pm cleanup]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ad596171ed635c51a9eef829187af100cbf8dcf7",
      "tree": "24b19bec1b1abd8bd110064226569aa42dde0b3b",
      "parents": [
        "734efb467b31e56c2f9430590a9aa867ecf3eea1"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Use clocksource infrastructure for update_wall_time\n\nModify the update_wall_time function so it increments time using the\nclocksource abstraction instead of jiffies.  Since the only clocksource driver\ncurrently provided is the jiffies clocksource, this should result in no\nfunctional change.  Additionally, a timekeeping_init and timekeeping_resume\nfunction has been added to initialize and maintain some of the new timekeping\nstate.\n\n[hirofumi@mail.parknet.co.jp: fixlet]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "734efb467b31e56c2f9430590a9aa867ecf3eea1",
      "tree": "30bf6b52d1e67128e656fb9a01cd7e6e13b7755e",
      "parents": [
        "ade1a29e168ba08b699a418ff5e762315fa33f70"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Clocksource Infrastructure\n\nThis introduces the clocksource management infrastructure.  A clocksource is a\ndriver-like architecture generic abstraction of a free-running counter.  This\ncode defines the clocksource structure, and provides management code for\nregistering, selecting, accessing and scaling clocksources.\n\nAdditionally, this includes the trivial jiffies clocksource, a lowest common\ndenominator clocksource, provided mainly for use as an example.\n\n[hirofumi@mail.parknet.co.jp: Don\u0027t enable IRQ too early]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
