)]}'
{
  "log": [
    {
      "commit": "369db4c9524b7487faf1ff89646eee396c1363e1",
      "tree": "0df5fb62ebc4b233ef962a12cd7791509a31c9e3",
      "parents": [
        "a18f22a968de17b29f2310cdb7ba69163e65ec15"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 18 21:33:40 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 19 14:24:15 2011 +0200"
      },
      "message": "clocksource: Restructure clocksource struct members\n\nGroup the hot path members of struct clocksource together so we have a\nbetter cache line footprint. Make it cacheline aligned.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLink: http://lkml.kernel.org/r/%3C20110518210136.003081882%40linutronix.de%3E\n"
    },
    {
      "commit": "a18f22a968de17b29f2310cdb7ba69163e65ec15",
      "tree": "a7d56d88fad5e444d7661484109758a2f436129e",
      "parents": [
        "a1c57e0fec53defe745e64417eacdbd3618c3e66",
        "798778b8653f64b7b2162ac70eca10367cff6ce8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 14 12:06:36 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat May 14 12:06:36 2011 +0200"
      },
      "message": "Merge branch \u0027consolidate-clksrc-i8253\u0027 of master.kernel.org:~rmk/linux-2.6-arm into timers/clocksource\n\nConflicts:\n\tarch/ia64/kernel/cyclone.c\n\tarch/mips/kernel/i8253.c\n\tarch/x86/kernel/i8253.c\n\nReason: Resolve conflicts so further cleanups do not conflict further\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8c414ff3f4dcdde228c6a668385218290d73a265",
      "tree": "2454fc7bf7d76b13fd6c03c08954afbae9d633b0",
      "parents": [
        "89c0b8e2520e12d69dafc663dfbd39f8180438ea"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun May 08 18:50:20 2011 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat May 14 10:29:48 2011 +0100"
      },
      "message": "clocksource: convert footbridge to generic i8253 clocksource\n\nConvert the footbridge isa-timer code to use generic i8253 clocksource.\n\nAcked-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "36d8593ec74dc04d3bd7c1c897a7b7cfbd0b0dc6",
      "tree": "d47a19e8f87d7167c5d395950cb55edfa6b899f0",
      "parents": [
        "6f576d57f1fa0d6026b495d8746d56d949989161"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Sat Feb 19 15:34:50 2011 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 21 13:29:07 2011 -0800"
      },
      "message": "Make clocksource name const\n\nAs nothing should be writing to the clocksource name string, make the\nclocksource name pointer const.  Build-tested on ARM Versatile Express.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\n"
    },
    {
      "commit": "852db46d55e85b475a72e665ca08d3317769ceef",
      "tree": "3802273b1135f0f650868fe9e048d7c0594195fe",
      "parents": [
        "f12a15be63d1de9a35971f35f06b73088fa25c3a"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:28 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:55 2010 +0200"
      },
      "message": "clocksource: Add __clocksource_updatefreq_hz/khz methods\n\nTo properly handle clocksources that change frequencies\nat the clocksource-\u003eenable() point, this patch adds\na method that will update the clocksource\u0027s mult/shift and\nmax_idle_ns values.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1279068988-21864-12-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "7615856ebfee52b080c22d263ca4debbd0df0ac1",
      "tree": "beb06e60af7560c28d5bad41f03a5238636e91fc",
      "parents": [
        "06d518e3dfb25334282c7e38b4d7a4eada215f6d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:23 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:54 2010 +0200"
      },
      "message": "timkeeping: Fix update_vsyscall to provide wall_to_monotonic offset\n\nupdate_vsyscall() did not provide the wall_to_monotoinc offset,\nso arch specific implementations tend to reference wall_to_monotonic\ndirectly. This limits future cleanups in the timekeeping core, so\nthis patch fixes the update_vsyscall interface to provide\nwall_to_monotonic, allowing wall_to_monotonic to be made static\nas planned in Documentation/feature-removal-schedule.txt\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nLKML-Reference: \u003c1279068988-21864-7-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d7e81c269db899b800e0963dc4aceece1f82a680",
      "tree": "bf30c8c5ed86dbf3c71a25e0f3ab1093c19e516f",
      "parents": [
        "29f87b793da421a6ab816d991dc8dbf909dfb66a"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri May 07 18:07:38 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 10 14:24:26 2010 +0200"
      },
      "message": "clocksource: Add clocksource_register_hz/khz interface\n\nHow to pick good mult/shift pairs has always been difficult to\ndescribe to folks writing clocksource drivers, since it requires\ncareful tradeoffs in adjustment accuracy vs overflow limits.\n\nNow, with the clocks_calc_mult_shift function, its much\neasier. However, not many clocksources have converted to using that\nfunction, and there is still the issue of the max interval length\nassumption being made by each clocksource driver independently.\n\nSo this patch simplifies the registration process by having\nclocksources be registered with a hz/khz value and the registration\nfunction taking care of setting mult/shift.\n\nThis should take most of the confusion out of writing a clocksource\ndriver.\n\nAdditionally it also keeps the shift size tradeoff (more accuracy vs\nlonger possible nohz times) centralized so the timekeeping core can\nkeep track of the assumptions being made.\n\n[ tglx: Coding style and comments fixed ]\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1273280858-30143-1-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c54a42b19fbaae4e9f212322ecca25a6bc95c1ba",
      "tree": "2c929d3cde3b4ae864d5f5a50bdda688fd5293eb",
      "parents": [
        "17622339af2536b32cf29699ddd4ba0fe79a61d5"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@opensource.se",
        "time": "Tue Feb 02 14:41:41 2010 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 05 14:54:10 2010 +0100"
      },
      "message": "clocksource: add suspend callback\n\nAdd a clocksource suspend callback.  This callback can be used by the\nclocksource driver to shutdown and perform any kind of late suspend\nactivities even though the clocksource driver itself is a non-sysdev\ndriver.\n\nOne example where this is useful is to fix the sh_cmt.c platform driver\nthat today suspends using the platform bus and shuts down the clocksource\ntoo early.\n\nWith this callback in place the sh_cmt driver will suspend using the\nclocksource and clockevent hooks and leave the platform device pm\ncallbacks unused.\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nCc: Paul Mundt \u003clethal@linux-sh.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": "17622339af2536b32cf29699ddd4ba0fe79a61d5",
      "tree": "03832ecc8aecd1623b8dc8a8eef915cea08226e4",
      "parents": [
        "7e1b584774c6168ca5b27c340fbeff8f67651e4f"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@opensource.se",
        "time": "Tue Feb 02 14:41:39 2010 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 05 14:54:10 2010 +0100"
      },
      "message": "clocksource: add argument to resume callback\n\nPass the clocksource as an argument to the clocksource resume callback. \nNeeded so we can point out which CMT channel the sh_cmt.c driver shall\nresume.\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fbf07eac7bf21c262143194181bd97c5d18b8ceb",
      "tree": "c9228b7d272f1e39472da28032605ecd1860e688",
      "parents": [
        "60d8ce2cd6c283132928c11f3fd57ff4187287e0",
        "8629ea2eaba8ca0de2e38ce1b4a825e16255976e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 19:28:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 19:28:09 2009 -0800"
      },
      "message": "Merge branch \u0027timers-for-linus-urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus-urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: Fix /proc/timer_list regression\n  itimers: Fix racy writes to cpu_itimer fields\n  timekeeping: Fix clock_gettime vsyscall time warp\n"
    },
    {
      "commit": "0696b711e4be45fa104c12329f617beb29c03f78",
      "tree": "96292fdc4ab443d6218077d363548532df6cbd8b",
      "parents": [
        "a9366e61b03f55a6e009e687ad10e706714c9907"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Tue Nov 17 13:49:50 2009 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 11:52:34 2009 +0100"
      },
      "message": "timekeeping: Fix clock_gettime vsyscall time warp\n\nSince commit 0a544198 \"timekeeping: Move NTP adjusted clock multiplier\nto struct timekeeper\" the clock multiplier of vsyscall is updated with\nthe unmodified clock multiplier of the clock source and not with the\nNTP adjusted multiplier of the timekeeper.\n\nThis causes user space observerable time warps:\nnew CLOCK-warp maximum: 120 nsecs,  00000025c337c537 -\u003e 00000025c337c4bf\n\nAdd a new argument \"mult\" to update_vsyscall() and hand in the\ntimekeeping internal NTP adjusted multiplier.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: \"Zhang Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nLKML-Reference: \u003c1258436990.17765.83.camel@minggr.sh.intel.com\u003e\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": "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": "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": "0a54419836254a27baecd9037103171bcbabaf67",
      "tree": "ad4dc7ca1fc974a53c7fc2e972558bcb6b786afe",
      "parents": [
        "23ce72117c714baab794e66c8daf343bf6a912bf"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Aug 14 15:47:28 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 10:55:46 2009 +0200"
      },
      "message": "timekeeping: Move NTP adjusted clock multiplier to struct timekeeper\n\nThe clocksource structure has two multipliers, the unmodified multiplier\nclock-\u003emult_orig and the NTP corrected multiplier clock-\u003emult. The NTP\nmultiplier is misplaced in the struct clocksource, this is private\ninformation of the timekeeping code. Add the mult field to the struct\ntimekeeper to contain the NTP corrected value, keep the unmodifed\nmultiplier in clock-\u003emult and remove clock-\u003emult_orig.\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.149047645@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": "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": "a0f7d48bfb95a4c5172a2756dbc4b82afc8e9ae4",
      "tree": "b82580eb76f99ee1352f399975050630ca21936a",
      "parents": [
        "31089c13bcb18d2cd2a3ddfbe3a28666346f237e"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Aug 14 15:47:19 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 10:55:45 2009 +0200"
      },
      "message": "timekeeping: Remove clocksource inline functions\n\nThe three inline functions clocksource_read, clocksource_enable and\nclocksource_disable are simple wrappers of an indirect call plus the\ncopy from and to the mult_orig value. The functions are exclusively\nused by the timekeeping code which has intimate knowledge of the\nclocksource anyway. Therefore remove the inline functions. No\nfunctional change.\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: \u003c20090814134807.903108946@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c7121843685de2bf7f3afd3ae1d6a146010bf1fc",
      "tree": "f3a098159b8463386cd6d55b6272b6604bfbb9ce",
      "parents": [
        "4be3bd7849165e7efa6b0b35a23d6a3598d97465"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "magnus.damm@gmail.com",
        "time": "Tue Jul 28 14:09:55 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 31 14:12:36 2009 +0200"
      },
      "message": "clocksource: Save mult_orig in clocksource_disable()\n\nTo fix the common case where -\u003eenable() does not set up\nmult, make sure mult_orig is saved in mult on disable.\n\nAlso add comments to explain why we do this.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nCc: johnstul@us.ibm.com\nCc: lethal@linux-sh.org\nCc: akpm@linux-foundation.org\nLKML-Reference: \u003c20090618152432.10136.9932.sendpatchset@rx1.opensource.se\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": "4614e6adafa2c5e6c3a9c245af2807fa7bc5117a",
      "tree": "e4bb5eeaa252ede053abc6b3c4d15c4127ce7a32",
      "parents": [
        "8e19608e8b5c001e4a66ce482edc474f05fb7355"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Tue Apr 21 12:24:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:47 2009 -0700"
      },
      "message": "clocksource: add enable() and disable() callbacks\n\nAdd enable() and disable() callbacks for clocksources.\n\nThis allows us to put unused clocksources in power save mode.  The\nfunctions clocksource_enable() and clocksource_disable() wrap the\ncallbacks and are inserted in the timekeeping code to enable before use\nand disable after switching to a new clocksource.\n\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: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "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": "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": "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": "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": "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": "1d76c2622813fbc692b0d323028cfef9ee36051a",
      "tree": "c94e425658e6532273e4fd0fc5185cf069b5ee3f",
      "parents": [
        "186e3cb8a465bac010ee3b020768d2fa2b505aef"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "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: make CLOCKSOURCE_MASK bullet-proof\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\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": "2c6221483169ddd4c04797cd7296ed4fe52fcdd7",
      "tree": "1db73f0bf60b036abe995350637a9a3e916c0ec2",
      "parents": [
        "6212e3a388fdda3f19fa660ef5a30edf54d1dcfd"
      ],
      "author": {
        "name": "Tony Breeds",
        "email": "tony@bakeyournoodle.com",
        "time": "Thu Oct 18 03:04:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:20 2007 -0700"
      },
      "message": "Fix discrepancy between VDSO based gettimeofday() and sys_gettimeofday().\n\nOn platforms that copy sys_tz into the vdso (currently only x86_64, soon to\ninclude powerpc), it is possible for the vdso to get out of sync if a user\ncalls (admittedly unusual) settimeofday(NULL, ptr).\n\nThis patch adds a hook for architectures that set\nCONFIG_GENERIC_TIME_VSYSCALL to ensure when sys_tz is updated they can also\nupdatee their copy in the vdso.\n\nSigned-off-by: Tony Breeds \u003ctony@bakeyournoodle.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\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": "0aa366f351d044703e25c8425e508170e80d83b1",
      "tree": "485040cbef6157b9bcb2e7b1b85920d1e391ab68",
      "parents": [
        "5bae7ac9feba925fd0099057f6b23d7be80b7b41"
      ],
      "author": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jul 20 11:22:30 2007 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Jul 20 11:22:30 2007 -0700"
      },
      "message": "[IA64] Convert to generic timekeeping/clocksource\n\nThis is a merge of Peter Keilty\u0027s initial patch (which was\nrevived by Bob Picco) for this with Hidetoshi Seto\u0027s fixes\nand scaling improvements.\n\nAcked-by: Bob Picco \u003cbob.picco@hp.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\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": "329c8d84ca1946c037d9859dc251b56d8b1b4630",
      "tree": "05cfd2124dd6066eb6c2e769be99f6860ffb7501",
      "parents": [
        "f75d222b836f7febfab0954c7612b23059d748cb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue May 08 00:27:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:06 2007 -0700"
      },
      "message": "time: SMP friendly alignment of struct clocksource\n\nstruct clocksource is a critical data structure.\n\nMost of its fields are read only, some of them are heavily modified at each\ntimer interrupt.\n\nIt makes sense to separate those fields and make sure they all share one\ncache line, or at least the minimum for machines with small cache lines.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: 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": "acc9a9dcdd0dd1d295c2f2ee02c27c761bd63cb1",
      "tree": "78acee4323183da18586c9f4fc8a50999a2f4755",
      "parents": [
        "88ad0bf6890505cbd9ca1dbb79944a27b5c8697d"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Feb 16 01:28:17 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:14:00 2007 -0800"
      },
      "message": "[PATCH] generic: vsyscall-gtod support for GENERIC_TIME\n\nProvides generic infrastructure for vsyscall-gtod.\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\n\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": "7e69f2b1ead2a4c51c12817f18263ff0e59335a6",
      "tree": "b00295fb1983dd0624b94a613c8661c1bd995a29",
      "parents": [
        "877fe38029366c19def24359627db8cc24d9fef6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:42 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:57 2007 -0800"
      },
      "message": "[PATCH] clocksource: Remove the update callback\n\nThe clocksource code allows direct updates of the rating of a given\nclocksource now.  Change TSC unstable tracking to use this interface and\nremove the update callback.\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": "73b08d2aa4245806ef1bdd48463e9a0b045c62cf",
      "tree": "1cd5b3a7b9f889bb6ff1e7fc6c9a95751faad4d7",
      "parents": [
        "95492e4646e5de8b43d9a7908d6177fb737b61f0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:36 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:57 2007 -0800"
      },
      "message": "[PATCH] clocksource: replace is_continuous by a flag field\n\nUsing a flag filed allows to encode more than one information into a variable.\nPreparatory patch for the generic clocksource verification.\n\n[mingo@elte.hu: convert vmitime.c to the new clocksource flag]\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": "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": "19923c190e0932bf0ac1e1d06a48f5c3678dd0de",
      "tree": "2a32f5f16b3bbebd74c0f4910493c7f28a70fd84",
      "parents": [
        "6415ce9a922a1446e7ee0ac9b016082232ebe373"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Mon Jun 26 00:25:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:21 2006 -0700"
      },
      "message": "[PATCH] fix and optimize clock source update\n\nThis fixes the clock source updates in update_wall_time() to correctly\ntrack the time coming in via current_tick_length().  Optimize the fast\npaths to be as short as possible to keep the overhead low.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7f9f303aa33c7acc7b4aa9ebea25cbd990bc707b",
      "tree": "b5916e6b018356afdb5c8687e554a049532633bd",
      "parents": [
        "7d622d4794490cef933c20e4a6279e43e03fafad"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Jun 26 00:25:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:21 2006 -0700"
      },
      "message": "[PATCH] generic-time: add macro to simplify/hide mask constants\n\nAdd a CLOCKSOURCE_MASK macro to simplify initializing the mask for a struct\nclocksource, and use it to replace literal mask constants in the various\nclocksource drivers.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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": "5eb6d20533d14a432df714520939a6181e28f099",
      "tree": "b032147620a8e213356658783f8037d2f5623b57",
      "parents": [
        "260a42309b31cbc54eb4b6b85649e412bcad053f"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:07 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 abstraction for NTP adjustments\n\nInstead of incrementing xtime by tick_nsec + ntp adjustments, use the\nclocksource abstraction to increment and scale time.  Using the clocksource\nabstraction allows other clocksources to be used consistently in the face of\nlate or lost ticks, while preserving the existing behavior via the jiffies\nclocksource.\n\nThis removes the need to keep time_phase adjustments as we just use the\ncurrent_tick_length() function as the NTP interface and accumulate time using\nshifted nanoseconds.\n\nThe basics of this design was by Roman Zippel, however it is my own\ninterpretation and implementation, so the credit should go to him and the\nblame to me.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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"
    }
  ]
}
