)]}'
{
  "log": [
    {
      "commit": "b274776c54c320763bc12eb035c0e244f76ccb43",
      "tree": "c75b70d0824a7ae029229b19d61884039abf2127",
      "parents": [
        "b24174b0cbbe383c5bb6097aeb24480b8fd2d338",
        "3b1209e7994c4d31ff9932a7f566ae1c96b3c443"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 14:58:40 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 14:58:40 2013 -0800"
      },
      "message": "Merge tag \u0027cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull ARM SoC cleanups from Arnd Bergmann:\n \"A large number of cleanups, all over the platforms.  This is dominated\n  largely by the Samsung platforms (s3c, s5p, exynos) and a few of the\n  others moving code out of arch/arm into more appropriate subsystems.\n\n  The clocksource and irqchip drivers are now abstracted to the point\n  where platforms that are already cleaned up do not need to even\n  specify the driver they use, it can all get configured from the device\n  tree as we do for normal device drivers.  The clocksource changes\n  basically touch every single platform in the process.\n\n  We further clean up the use of platform specific header files here,\n  with the goal of turning more of the platforms over to being\n  \"multiplatform\" enabled, which implies that they cannot expose their\n  headers to architecture independent code any more.\n\n  It is expected that no functional changes are part of the cleanup.\n  The overall reduction in total code lines is mostly the result of\n  removing broken and obsolete code.\"\n\n* tag \u0027cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (133 commits)\n  ARM: mvebu: correct gated clock documentation\n  ARM: kirkwood: add missing include for nsa310\n  ARM: exynos: move exynos4210-combiner to drivers/irqchip\n  mfd: db8500-prcmu: update resource passing\n  drivers/db8500-cpufreq: delete dangling include\n  ARM: at91: remove NEOCORE 926 board\n  sunxi: Cleanup the reset code and add meaningful registers defines\n  ARM: S3C24XX: header mach/regs-mem.h local\n  ARM: S3C24XX: header mach/regs-power.h local\n  ARM: S3C24XX: header mach/regs-s3c2412-mem.h local\n  ARM: S3C24XX: Remove plat-s3c24xx directory in arch/arm/\n  ARM: S3C24XX: transform s3c2443 subirqs into new structure\n  ARM: S3C24XX: modify s3c2443 irq init to initialize all irqs\n  ARM: S3C24XX: move s3c2443 irq code to irq.c\n  ARM: S3C24XX: transform s3c2416 irqs into new structure\n  ARM: S3C24XX: modify s3c2416 irq init to initialize all irqs\n  ARM: S3C24XX: move s3c2416 irq init to common irq code\n  ARM: S3C24XX: Modify s3c_irq_wake to use the hwirq property\n  ARM: S3C24XX: Move irq syscore-ops to irq-pm\n  clocksource: always define CLOCKSOURCE_OF_DECLARE\n  ...\n"
    },
    {
      "commit": "90889a635a9b5488624bccce3ff6b2eec68c007b",
      "tree": "8ddde1e04060bd65ca2aafb09b38066cb7d69b4d",
      "parents": [
        "a9037430c6c784165a940a90bcd29f886834c8e7",
        "6f16eebe1ff82176339a0439c98ebec9768b0ee2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 04 11:03:03 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 04 11:03:03 2013 +0100"
      },
      "message": "Merge branch \u0027fortglx/3.9/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n\nTrivial conflict in arch/x86/Kconfig\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "31ade30692dc9680bfc95700d794818fa3f754ac",
      "tree": "cb436c839b890d04f589b49f75cb0df59315158e",
      "parents": [
        "f0dbe81f0e7c39783ad25d9084bbcda131508993"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Wed Jan 16 00:09:47 2013 +0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:07 2013 -0800"
      },
      "message": "timekeeping: Add persistent_clock_exist flag\n\nIn current kernel, there are several places which need to check\nwhether there is a persistent clock for the platform. Current check\nis done by calling the read_persistent_clock() and validating its\nreturn value.\n\nSo one optimization is to do the check only once in timekeeping_init(),\nand use a flag persistent_clock_exist to record it.\n\nv2: Add a has_persistent_clock() helper function, as suggested by John.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "1e817fb62cd185a2232ad4302579491805609489",
      "tree": "d4155fb65a9fb32cd9236405a8b7534f39c293b9",
      "parents": [
        "9c3f9e281697d02889c3b08922f3b30be75f56c2"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Mon Nov 19 10:26:16 2012 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:02 2013 -0800"
      },
      "message": "time: create __getnstimeofday for WARNless calls\n\nThe pstore RAM backend can get called during resume, and must be defensive\nagainst a suspended time source. Expose getnstimeofday logic that returns\nan error instead of a WARN. This can be detected and the timestamp can\nbe zeroed out.\n\nReported-by: Doug Anderson \u003cdianders@chromium.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "7b1f62076bba10786d2118006ae68ac120cd6c56",
      "tree": "9af9f556fc331c77644c2e1c4eafdddad60019b1",
      "parents": [
        "547046f2f09f1837d39619afbc7a6e35673d7c98"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Nov 07 17:58:54 2012 -0700"
      },
      "committer": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Mon Dec 24 09:36:07 2012 -0700"
      },
      "message": "time: convert arch_gettimeoffset to a pointer\n\nCurrently, whenever CONFIG_ARCH_USES_GETTIMEOFFSET is enabled, each\narch core provides a single implementation of arch_gettimeoffset(). In\nmany cases, different sub-architectures, different machines, or\ndifferent timer providers exist, and so the arch ends up implementing\narch_gettimeoffset() as a call-through-pointer anyway. Examples are\nARM, Cris, M68K, and it\u0027s arguable that the remaining architectures,\nM32R and Blackfin, should be doing this anyway.\n\nModify arch_gettimeoffset so that it itself is a function pointer, which\nthe arch initializes. This will allow later changes to move the\ninitialization of this function into individual machine support or timer\ndrivers. This is particularly useful for code in drivers/clocksource\nwhich should rely on an arch-independant mechanism to register their\nimplementation of arch_gettimeoffset().\n\nThis patch also converts the Cris architecture to set arch_gettimeoffset\ndirectly to the final implementation in time_init(), because Cris already\nhad separate time_init() functions per sub-architecture. M68K and ARM\nare converted to set arch_gettimeoffset to the final implementation in\nlater patches, because they already have function pointers in place for\nthis purpose.\n\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\n"
    },
    {
      "commit": "66cdd0ceaf65a18996f561b770eedde1d123b019",
      "tree": "4892eaa422d366fce5d1e866ff1fe0988af95569",
      "parents": [
        "896ea17d3da5f44b2625c9cda9874d7dfe447393",
        "58b7825bc324da55415034a9f6ca5d716b8fd898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 15:31:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 15:31:08 2012 -0800"
      },
      "message": "Merge tag \u0027kvm-3.8-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Marcelo Tosatti:\n \"Considerable KVM/PPC work, x86 kvmclock vsyscall support,\n  IA32_TSC_ADJUST MSR emulation, amongst others.\"\n\nFix up trivial conflict in kernel/sched/core.c due to cross-cpu\nmigration notifier added next to rq migration call-back.\n\n* tag \u0027kvm-3.8-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (156 commits)\n  KVM: emulator: fix real mode segment checks in address linearization\n  VMX: remove unneeded enable_unrestricted_guest check\n  KVM: VMX: fix DPL during entry to protected mode\n  x86/kexec: crash_vmclear_local_vmcss needs __rcu\n  kvm: Fix irqfd resampler list walk\n  KVM: VMX: provide the vmclear function and a bitmap to support VMCLEAR in kdump\n  x86/kexec: VMCLEAR VMCSs loaded on all cpus if necessary\n  KVM: MMU: optimize for set_spte\n  KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface\n  KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation\n  KVM: PPC: bookehv: Add guest computation mode for irq delivery\n  KVM: PPC: Make EPCR a valid field for booke64 and bookehv\n  KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit\n  KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation\n  KVM: PPC: Mask ea\u0027s high 32-bits in 32/64 instr emulation\n  KVM: PPC: e500: Add emulation helper for getting instruction ea\n  KVM: PPC: bookehv64: Add support for interrupt handling\n  KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler\n  KVM: PPC: booke: Fix get_tb() compile error on 64-bit\n  KVM: PPC: e500: Silence bogus GCC warning in tlb code\n  ...\n"
    },
    {
      "commit": "e0b306fef90556233797d2e1747bd6a3ae35ea93",
      "tree": "0340c76e923fc02a47e5be8bd88c1d75ee0a84f1",
      "parents": [
        "886b470cb14733a0286e365c77f1844c240c33a4"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:28:59 2012 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:29:12 2012 -0200"
      },
      "message": "time: export time information for KVM pvclock\n\nAs suggested by John, export time data similarly to how its\ndone by vsyscall support. This allows KVM to retrieve necessary\ninformation to implement vsyscall support in KVM guests.\n\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "d6ad418763888f617ac5b4849823e4cd670df1dd",
      "tree": "92d75b05849f98e1a20eb8fa8bb8a26818707cd2",
      "parents": [
        "47c8c91b2d60006df22146effe79ac4cdafd9205"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Feb 28 16:50:11 2012 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Nov 13 14:08:23 2012 -0500"
      },
      "message": "time: Kill xtime_lock, replacing it with jiffies_lock\n\nNow that timekeeping is protected by its own locks, rename\nthe xtime_lock to jifffies_lock to better describe what it\nprotects.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "03d3602a833715f83ea53b9feb078b9c4c5f6c1a",
      "tree": "7b63ec6753dd65e61392017e1aba2ee1e6b4bcd1",
      "parents": [
        "0588f1f934791b79d0a1e9b327be9b6eb361d2b8",
        "5b3900cd409466c0070b234d941650685ad0c791"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 12 22:17:48 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 12 22:17:48 2012 +0900"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer core update from Thomas Gleixner:\n - Bug fixes (one for a longstanding dead loop issue)\n - Rework of time related vsyscalls\n - Alarm timer updates\n - Jiffies updates to remove compile time dependencies\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  timekeeping: Cast raw_interval to u64 to avoid shift overflow\n  timers: Fix endless looping between cascade() and internal_add_timer()\n  time/jiffies: bring back unconditional LATCH definition\n  time: Convert x86_64 to using new update_vsyscall\n  time: Only do nanosecond rounding on GENERIC_TIME_VSYSCALL_OLD systems\n  time: Introduce new GENERIC_TIME_VSYSCALL\n  time: Convert CONFIG_GENERIC_TIME_VSYSCALL to CONFIG_GENERIC_TIME_VSYSCALL_OLD\n  time: Move update_vsyscall definitions to timekeeper_internal.h\n  time: Move timekeeper structure to timekeeper_internal.h for vsyscall changes\n  jiffies: Remove compile time assumptions about CLOCK_TICK_RATE\n  jiffies: Kill unused TICK_USEC_TO_NSEC\n  alarmtimer: Rename alarmtimer_remove to alarmtimer_dequeue\n  alarmtimer: Remove unused helpers \u0026 defines\n  alarmtimer: Use hrtimer per-alarm instead of per-base\n  alarmtimer: Implement minimum alarm interval for allowing suspend\n"
    },
    {
      "commit": "5b3900cd409466c0070b234d941650685ad0c791",
      "tree": "1a381a23d3d06cfc8941ee2e5dd400ba6cea6f21",
      "parents": [
        "26cff4e2aa4d666dc6a120ea34336b5057e3e187"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Oct 09 10:18:23 2012 +0300"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 09 21:27:14 2012 +0200"
      },
      "message": "timekeeping: Cast raw_interval to u64 to avoid shift overflow\n\nWe fixed a bunch of integer overflows in timekeeping code during the 3.6\ncycle.  I did an audit based on that and found this potential overflow.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20121009071823.GA19159@elgon.mountain\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "16642a2e7be23bbda013fc32d8f6c68982eab603",
      "tree": "346ae485f485f6901e5d8150f0d34d178a7dd448",
      "parents": [
        "51562cba98939da0a1d10fe7c25359b77a069033",
        "b9142167a2bb979b58b98ffcd928a311b55cbd9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 18:32:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 18:32:35 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.7-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management updates from Rafael J Wysocki:\n\n - Improved system suspend/resume and runtime PM handling for the SH\n   TMU, CMT and MTU2 clock event devices (also used by ARM/shmobile).\n\n - Generic PM domains framework extensions related to cpuidle support\n   and domain objects lookup using names.\n\n - ARM/shmobile power management updates including improved support for\n   the SH7372\u0027s A4S power domain containing the CPU core.\n\n - cpufreq changes related to AMD CPUs support from Matthew Garrett,\n   Andre Przywara and Borislav Petkov.\n\n - cpu0 cpufreq driver from Shawn Guo.\n\n - cpufreq governor fixes related to the relaxing of limit from Michal\n   Pecio.\n\n - OMAP cpufreq updates from Axel Lin and Richard Zhao.\n\n - cpuidle ladder governor fixes related to the disabling of states from\n   Carsten Emde and me.\n\n - Runtime PM core updates related to the interactions with the system\n   suspend core from Alan Stern and Kevin Hilman.\n\n - Wakeup sources modification allowing more helper functions to be\n   called from interrupt context from John Stultz and additional\n   diagnostic code from Todd Poynor.\n\n - System suspend error code path fix from Feng Hong.\n\nFixed up conflicts in cpufreq/powernow-k8 that stemmed from the\nworkqueue fixes conflicting fairly badly with the removal of support for\nhardware P-state chips.  The changes were independent but somewhat\nintertwined.\n\n* tag \u0027pm-for-3.7-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)\n  Revert \"PM QoS: Use spinlock in the per-device PM QoS constraints code\"\n  PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE, even when disabled, v2\n  cpuidle: rename function name \"__cpuidle_register_driver\", v2\n  cpufreq: OMAP: Check IS_ERR() instead of NULL for omap_device_get_by_hwmod_name\n  cpuidle: remove some empty lines\n  PM: Prevent runtime suspend during system resume\n  PM QoS: Use spinlock in the per-device PM QoS constraints code\n  PM / Sleep: use resume event when call dpm_resume_early\n  cpuidle / ACPI : move cpuidle_device field out of the acpi_processor_power structure\n  ACPI / processor: remove pointless variable initialization\n  ACPI / processor: remove unused function parameter\n  cpufreq: OMAP: remove loops_per_jiffy recalculate for smp\n  sections: fix section conflicts in drivers/cpufreq\n  cpufreq: conservative: update frequency when limits are relaxed\n  cpufreq / ondemand: update frequency when limits are relaxed\n  properly __init-annotate pm_sysrq_init()\n  cpufreq: Add a generic cpufreq-cpu0 driver\n  PM / OPP: Initialize OPP table from device tree\n  ARM: add cpufreq transiton notifier to adjust loops_per_jiffy for smp\n  cpufreq: Remove support for hardware P-state chips from powernow-k8\n  ...\n"
    },
    {
      "commit": "92bb1fcf57a0c2e45f7e67fbf0a8ed475a749236",
      "tree": "f92496be64d01da6cf3ba54c31c4c4753c10bd59",
      "parents": [
        "576094b7f0aaf41aadab9b7d4e5bd85faa432711"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 04 15:38:12 2012 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:08 2012 -0400"
      },
      "message": "time: Only do nanosecond rounding on GENERIC_TIME_VSYSCALL_OLD systems\n\nWe only do rounding to the next nanosecond so we don\u0027t see minor\n1ns inconsistencies in the vsyscall implementations. Since we\u0027re\nchanging the vsyscall implementations to avoid this, conditionalize\nthe rounding only to the GENERIC_TIME_VSYSCALL_OLD architectures.\n\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "576094b7f0aaf41aadab9b7d4e5bd85faa432711",
      "tree": "9cf7a86b58e5b6242625663af274b594085487fa",
      "parents": [
        "706394211648117762edfaeffd6fc04bf3b1a75d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 11 19:58:13 2012 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:08 2012 -0400"
      },
      "message": "time: Introduce new GENERIC_TIME_VSYSCALL\n\nNow that we moved everyone over to GENERIC_TIME_VSYSCALL_OLD,\nintroduce the new declaration and config option for the new\nupdate_vsyscall method.\n\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "706394211648117762edfaeffd6fc04bf3b1a75d",
      "tree": "9ce33be0d144430c4089656a9e20c74d829d4638",
      "parents": [
        "189374aed657e2228ad6b39ece438c9cdafc8dae"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 04 15:34:21 2012 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:07 2012 -0400"
      },
      "message": "time: Convert CONFIG_GENERIC_TIME_VSYSCALL to CONFIG_GENERIC_TIME_VSYSCALL_OLD\n\nTo help migrate archtectures over to the new update_vsyscall method,\nredfine CONFIG_GENERIC_TIME_VSYSCALL as CONFIG_GENERIC_TIME_VSYSCALL_OLD\n\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "d7b4202e0581683f1a14fe598633da0067f5241e",
      "tree": "437a9d3e935c8ec9f00ed091f71e5483f4669978",
      "parents": [
        "b3c869d35b9b014f63ac0beacd31c57372084d01"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 04 15:12:07 2012 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:05 2012 -0400"
      },
      "message": "time: Move timekeeper structure to timekeeper_internal.h for vsyscall changes\n\nWe\u0027re going to need to access the timekeeper in update_vsyscall,\nso make the structure available for those who need it.\n\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ec145babe754f9ea1079034a108104b6001e001c",
      "tree": "2b65fdc6916989cacdc2bbcc94a48ef847eae099",
      "parents": [
        "0bd1189e239c76eb3a50e458548fbe7e4a5dfff1"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 11 19:26:03 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Sep 13 17:39:14 2012 +0200"
      },
      "message": "time: Fix timeekeping_get_ns overflow on 32bit systems\n\nDaniel Lezcano reported seeing multi-second stalls from\nkeyboard input on his T61 laptop when NOHZ and CPU_IDLE\nwere enabled on a 32bit kernel.\n\nHe bisected the problem down to commit\n1e75fa8be9fb6 (\"time: Condense timekeeper.xtime into xtime_sec\").\n\nAfter reproducing this issue, I narrowed the problem down\nto the fact that timekeeping_get_ns() returns a 64bit\nnsec value that hasn\u0027t been accumulated. In some cases\nthis value was being then stored in timespec.tv_nsec\n(which is a long).\n\nOn 32bit systems, with idle times larger then 4 seconds\n(or less, depending on the value of xtime_nsec), the\nreturned nsec value would overflow 32bits. This limited\nkept time from increasing, causing timers to not expire.\n\nThe fix is to make sure we don\u0027t directly store the\nresult of timekeeping_get_ns() into a tv_nsec field,\ninstead using a 64bit nsec value which can then be\nadded into the timespec via timespec_add_ns().\n\nReported-and-bisected-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nTested-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1347405963-35715-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "adc78e6b9946a4b22e22403d961f3b03c469e5d3",
      "tree": "e0837d6a5778c9bfa0a698f10a7cbedf9cf76cd0",
      "parents": [
        "77f827de07432a74821cf0f831d699544b2d474f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Aug 06 01:40:41 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Sep 04 01:36:01 2012 +0200"
      },
      "message": "timekeeping: Add suspend and resume of clock event devices\n\nSome clock event devices, for example such that belong to PM domains,\nneed to be handled in a spcial way during the timekeeping suspend\nand resume (which takes place in the system core, or \"syscore\",\nstages of system power transitions) in analogy with clock sources.\n\nIntroduce .suspend() and .resume() callbacks for clock event devices\nthat will be executed by timekeeping_suspend/_resume(), respectively,\nnext the the clock sources\u0027 .suspend() and .resume() callbacks.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "cee58483cf56e0ba355fdd97ff5e8925329aa936",
      "tree": "8cc2dc979a93a48a07c25d309250a2271e508e21",
      "parents": [
        "7a611e69b26069a511d9d5251c6a28af6c521121"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Aug 31 13:30:06 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 01 10:24:48 2012 -0700"
      },
      "message": "time: Move ktime_t overflow checking into timespec_valid_strict\n\nAndreas Bombe reported that the added ktime_t overflow checking added to\ntimespec_valid in commit 4e8b14526ca7 (\"time: Improve sanity checking of\ntimekeeping inputs\") was causing problems with X.org because it caused\ntimeouts larger then KTIME_T to be invalid.\n\nPreviously, these large timeouts would be clamped to KTIME_MAX and would\nnever expire, which is valid.\n\nThis patch splits the ktime_t overflow checking into a new\ntimespec_valid_strict function, and converts the timekeeping codes\ninternal checking to use this more strict function.\n\nReported-and-tested-by: Andreas Bombe \u003caeb@debian.org\u003e\nCc: Zhouping Liu \u003czliu@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf2ac312195155511a0f79325515cbb61929898a",
      "tree": "514057045cf52d3da13f551661131fd102f67376",
      "parents": [
        "6ea565a9be32a3c8d1092017686f183b6d8c4514"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Aug 21 20:30:49 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:13 2012 +0200"
      },
      "message": "time: Avoid making adjustments if we haven\u0027t accumulated anything\n\nIf update_wall_time() is called and the current offset isn\u0027t large\nenough to accumulate, avoid re-calling timekeeping_adjust which may\nchange the clock freq and can cause 1ns inconsistencies with\nCLOCK_REALTIME_COARSE/CLOCK_MONOTONIC_COARSE.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1345595449-34965-5-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6ea565a9be32a3c8d1092017686f183b6d8c4514",
      "tree": "2db67e9659f91f11997998ba9845f4c7cb0d89ab",
      "parents": [
        "85dc8f05c93c8105987de9d7e7cebf15a72ff4ec"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Aug 21 20:30:48 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:13 2012 +0200"
      },
      "message": "time: Avoid potential shift overflow with large shift values\n\nAndreas Schwab noticed that the 1 \u003c\u003c tk-\u003eshift could overflow if the\nshift value was greater than 30, since 1 would be a 32bit long on\n32bit architectures. This issue was introduced by 1e75fa8be (time:\nCondense timekeeper.xtime into xtime_sec)\n\nUse 1ULL instead to ensure we don\u0027t overflow on the shift.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1345595449-34965-4-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "85dc8f05c93c8105987de9d7e7cebf15a72ff4ec",
      "tree": "5be946b9b6f5be3c20fa4c6692b3a4491b86b0a9",
      "parents": [
        "784ffcbb96c3a97b4c64fd48b1dfe12ef3fcbcda"
      ],
      "author": {
        "name": "Andreas Schwab",
        "email": "schwab@linux-m68k.org",
        "time": "Tue Aug 21 20:30:47 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:13 2012 +0200"
      },
      "message": "time: Fix casting issue in timekeeping_forward_now\n\narch_gettimeoffset returns a u32 value which when shifted by tk-\u003eshift\ncan overflow. This issue was introduced with 1e75fa8be (time: Condense\ntimekeeper.xtime into xtime_sec)\n\nCast it to u64 first.\n\nSigned-off-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1345595449-34965-3-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "784ffcbb96c3a97b4c64fd48b1dfe12ef3fcbcda",
      "tree": "bd413e1c43512c1963d25ed25dd617642a639444",
      "parents": [
        "4e8b14526ca7fb046a81c94002c1c43b6fdf0e9b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Aug 21 20:30:46 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:12 2012 +0200"
      },
      "message": "time: Ensure we normalize the timekeeper in tk_xtime_add\n\nAndreas noticed problems with resume on specific hardware after commit\n1e75fa8b (time: Condense timekeeper.xtime into xtime_sec) combined\nwith commit b44d50dca (time: Fix casting issue in tk_set_xtime and\ntk_xtime_add)\n\nAfter some digging I realized we aren\u0027t normalizing the timekeeper\nafter the add. Add the missing normalize call.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nTested-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1345595449-34965-2-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4e8b14526ca7fb046a81c94002c1c43b6fdf0e9b",
      "tree": "d0681e8e99fe2fbae1bfa574a8a68320ae5c7c1f",
      "parents": [
        "3bf671af14d591ede9251acb0085e8017f3705e7"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 08 15:36:20 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 15 15:54:01 2012 +0200"
      },
      "message": "time: Improve sanity checking of timekeeping inputs\n\nUnexpected behavior could occur if the time is set to a value large\nenough to overflow a 64bit ktime_t (which is something larger then the\nyear 2262).\n\nAlso unexpected behavior could occur if large negative offsets are\ninjected via adjtimex.\n\nSo this patch improves the sanity check timekeeping inputs by\nimproving the timespec_valid() check, and then makes better use of\ntimespec_valid() to make sure we don\u0027t set the time to an invalid\nnegative value or one that overflows ktime_t.\n\nNote: This does not protect from setting the time close to overflowing\nktime_t and then letting natural accumulation cause the overflow.\n\nReported-by: CAI Qian \u003ccaiqian@redhat.com\u003e\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Zhouping Liu \u003czliu@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1344454580-17031-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1d17d17484d40f2d5b35c79518597a2b25296996",
      "tree": "a11000cb9a7197b5d70573d0faa417cb36ba0e4b",
      "parents": [
        "e7882d6c40874a5b5033ca85f7508a602a60b662"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Aug 04 21:21:14 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Aug 05 12:37:14 2012 +0200"
      },
      "message": "time: Fix adjustment cleanup bug in timekeeping_adjust()\n\nTetsuo Handa reported that sporadically the system clock starts\ncounting up too quickly which is enough to confuse the hangcheck\ntimer to print a bogus stall warning.\n\nCommit 2a8c0883 \"time: Move xtime_nsec adjustment underflow handling\ntimekeeping_adjust\" overlooked this exit path:\n\n        } else\n                return;\n\nwhich should really be a proper exit sequence, fixing the bug as a\nside effect.\n\nAlso make the flow more readable by properly balancing curly\nbraces.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e wrote:\nTested-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e wrote:\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: john.stultz@linaro.org\nCc: a.p.zijlstra@chello.nl\nCc: richardcochran@gmail.com\nCc: prarit@redhat.com\nLink: http://lkml.kernel.org/r/20120804192114.GA28347@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4e250fdde9be50581c7dd5fed88c9b9960615314",
      "tree": "12f19a5c6f55f67d2b8dc2f24d9efa25faaa8eab",
      "parents": [
        "6d0ef903e2bda70da124c10d8ad89f2382c87991"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 27 14:48:13 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:09:14 2012 +0200"
      },
      "message": "time: Remove all direct references to timekeeper\n\nIngo noted that the numerous timekeeper.value references made\nthe timekeeping code ugly and caused many long lines that\nhad to be broken up. He recommended replacing timekeeper.value\nreferences with tk-\u003evalue.\n\nThis patch provides a local tk value for all top level time\nfunctions and sets it to \u0026timekeeper. Then all timekeeper\naccess is done via a tk pointer.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343414893-45779-6-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6d0ef903e2bda70da124c10d8ad89f2382c87991",
      "tree": "fae52a865dbe0757e4e5ff49ce4a7f65447e0343",
      "parents": [
        "d4e3ab384b2343c7074f713ac330f839c38c52ee"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 27 14:48:12 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:09:14 2012 +0200"
      },
      "message": "time: Clean up offs_real/wall_to_mono and offs_boot/total_sleep_time updates\n\nFor performance reasons, we maintain ktime_t based duplicates of\nwall_to_monotonic (offs_real) and total_sleep_time (offs_boot).\n\nSince large problems could occur (such as the resume regression\non 3.5-rc7, or the leapsecond hrtimer issue) if these value\npairs were to be inconsistently updated, this patch this cleans\nup how we modify these value pairs to ensure we are always\nconsistent.\n\nAs a side-effect this is also more efficient as we only\ncaulculate the duplicate values when they are changed,\nrather then every update_wall_time call.\n\nThis also provides WARN_ONs to detect if future changes break\nthe invariants.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343414893-45779-5-git-send-email-john.stultz@linaro.org\n[ Cleaned up minor style issues. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d4e3ab384b2343c7074f713ac330f839c38c52ee",
      "tree": "f5e387e160533e7bb6a7b6fb70b9564b7aa31283",
      "parents": [
        "02ab20ae38337b99b5c29c81090f594b8fd61283"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 27 14:48:11 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:09:13 2012 +0200"
      },
      "message": "time: Clean up stray newlines\n\nIngo noted inconsistent newline usage between functions.\nThis patch cleans those up.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343414893-45779-4-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "1f815faec46e83bc96039797151846b60875bb06",
      "tree": "41a874f8090e3f69c8a9f13e3c85dd7a371e569b",
      "parents": [
        "b44d50dcacea0d485ca2ff9140f8cc28ee22f28d",
        "e2b34e311be3a57c9abcb927e37a57e38913714c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:05:27 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:05:27 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/urgent\n\nMerge in Linus\u0027s branch which already has timers/core merged.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b44d50dcacea0d485ca2ff9140f8cc28ee22f28d",
      "tree": "5c1702b71fd15a79381edf6fe83b202212d3b387",
      "parents": [
        "f726a697d06102e7a1fc0a87308cb30a84580205"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Jul 23 16:22:37 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 24 16:48:45 2012 +0200"
      },
      "message": "time: Fix casting issue in tk_set_xtime and tk_xtime_add\n\ncommit 1e75fa8b (time: Condense timekeeper.xtime into xtime_sec)\nintroduced helper functions which apply a timespec to the core\ninternal timekeeper data. The internal storage type is u64. The\ntimespec tv_nsec value must be shifted before set or added to the\ninternal value. tv_nsec is a long, which is 32bit on a 32bit system,\nso without casting tv_nsec to u64 we lose the bits which are shifted\nover the 32bit boundary.\n\nAdd the proper typecasts.\n\nReported-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nTested-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343074957-16541-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eec19d1a0d04c80e66eef634f7b8f460f2ca5643",
      "tree": "e68f24938d458fc776b76dc6037f9a2d03f09403",
      "parents": [
        "f726a697d06102e7a1fc0a87308cb30a84580205",
        "a018540141a931f5299a866907b27886916b4374"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:24:41 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:25:55 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/core\n\nResolve semantic conflict in kernel/time/timekeeping.c.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "3e997130bd2e8c6f5aaa49d6e3161d4d29b43ab0",
      "tree": "8276ff12cb09a4f4e11c832e9f4ad43e34bde6c2",
      "parents": [
        "33d519feaccb8a1208f736d00f53a2a73d98ffaa"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 16 12:50:42 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 16 10:02:17 2012 -0700"
      },
      "message": "timekeeping: Add missing update call in timekeeping_resume()\n\nThe leap second rework unearthed another issue of inconsistent data.\n\nOn timekeeping_resume() the timekeeper data is updated, but nothing\ncalls timekeeping_update(), so now the update code in the timer\ninterrupt sees stale values.\n\nThis has been the case before those changes, but then the timer\ninterrupt was using stale data as well so this went unnoticed for quite\nsome time.\n\nAdd the missing update call, so all the data is consistent everywhere.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nReported-and-tested-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nReported-and-tested-by: Martin Steigerwald \u003cMartin@lichtvoll.de\u003e\nCc: LKML \u003clinux-kernel@vger.kernel.org\u003e\nCc: Linux PM list \u003clinux-pm@vger.kernel.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e,\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f726a697d06102e7a1fc0a87308cb30a84580205",
      "tree": "1c70d5187ecb27a0b5e0ae2882d978c8c943211d",
      "parents": [
        "2a8c0883c3cfffcc148ea606e2a4e7453cd75e73"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:57 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:07 2012 +0200"
      },
      "message": "time: Rework timekeeping functions to take timekeeper ptr as argument\n\nAs part of cleaning up the timekeeping code, this patch converts\na number of internal functions to takei a timekeeper ptr as an\nargument, so that the internal functions don\u0027t access the global\ntimekeeper structure directly. This allows for further optimizations\nto reduce lock hold time later.\n\nThis patch has been updated to include more consistent usage of the\ntimekeeper value, by making sure it is always passed as a argument\nto non top-level functions.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-9-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2a8c0883c3cfffcc148ea606e2a4e7453cd75e73",
      "tree": "9a340aaef6785881ec0eab74c32ad35841441889",
      "parents": [
        "f2a5a0854efc62abe7f69e9947842cb135837f9a"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:56 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:07 2012 +0200"
      },
      "message": "time: Move xtime_nsec adjustment underflow handling timekeeping_adjust\n\nWhen we make adjustments speeding up the clock, its possible\nfor xtime_nsec to underflow. We already handle this properly,\nbut we do so from update_wall_time() instead of the more logical\ntimekeeping_adjust(), where the possible underflow actually\noccurs.\n\nThus, move the correction logic to the timekeeping_adjust, which\nis the function that causes the issue. Making update_wall_time()\nmore readable.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-8-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f2a5a0854efc62abe7f69e9947842cb135837f9a",
      "tree": "02db590982e92fb514f2d8b1791a49ec5b02d484",
      "parents": [
        "1f4f948706bcec1b51bf6492bf04057d2e21e273"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:55 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:06 2012 +0200"
      },
      "message": "time: Move arch_gettimeoffset() usage into timekeeping_get_ns()\n\nSince we call arch_gettimeoffset() in all the accessor\nfunctions, move arch_gettimeoffset() calls into\ntimekeeping_get_ns() and timekeeping_get_ns_raw() to simplify\nthe code.\n\nThis also makes the code easier to maintain as we don\u0027t have to\nworry about forgetting the arch_gettimeoffset() as has happened\nin the past.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-7-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1f4f948706bcec1b51bf6492bf04057d2e21e273",
      "tree": "1677cf2f130da9ff53259fdb658fa53a4ef81b4e",
      "parents": [
        "1e75fa8be9fb61e1af46b5b3b176347a4c958ca1"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:54 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:06 2012 +0200"
      },
      "message": "time: Refactor accumulation of nsecs to secs\n\nWe do the exact same logic moving nsecs to secs in the\ntimekeeper in multiple places, so condense this into a\nsingle function.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-6-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1e75fa8be9fb61e1af46b5b3b176347a4c958ca1",
      "tree": "b353cf5c5ae0c17e7813d7e1e86a403227b35fc7",
      "parents": [
        "fee84c43e6afc42295ae8058cbbef9ea5633926c"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:53 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:06 2012 +0200"
      },
      "message": "time: Condense timekeeper.xtime into xtime_sec\n\nThe timekeeper struct has a xtime_nsec, which keeps the\nsub-nanosecond remainder.  This ends up being somewhat\nduplicative of the timekeeper.xtime.tv_nsec value, and we\nhave to do extra work to keep them apart, copying the full\nnsec portion out and back in over and over.\n\nThis patch simplifies some of the logic by taking the timekeeper\nxtime value and splitting it into timekeeper.xtime_sec and\nreuses the timekeeper.xtime_nsec for the sub-second portion\n(stored in higher res shifted nanoseconds).\n\nThis simplifies some of the accumulation logic. And will\nallow for more accurate timekeeping once the vsyscall code\nis updated to use the shifted nanosecond remainder.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-5-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fee84c43e6afc42295ae8058cbbef9ea5633926c",
      "tree": "4cbc2c945aee74e15e1a08bc86a66c697169b55f",
      "parents": [
        "42e71e81f5bb5125ca7c194b5ccf1c93511ff8fb"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:52 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:05 2012 +0200"
      },
      "message": "time: Explicitly use u32 instead of int for shift values\n\nIngo noted that using a u32 instead of int for shift values\nwould be better to make sure the compiler doesn\u0027t unnecessarily\nuse complex signed arithmetic.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-4-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "42e71e81f5bb5125ca7c194b5ccf1c93511ff8fb",
      "tree": "2f0233b2f102bd1d8f05c3fffda6e3a7a3848331",
      "parents": [
        "e8b9dd7e2471b1274e3be719fcc385e0a710e46f"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:51 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:05 2012 +0200"
      },
      "message": "time: Whitespace cleanups per Ingo%27s requests\n\nIngo noted a number of places where there is inconsistent\nuse of whitespace. This patch tries to address the main\nculprits.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-3-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f6c06abfb3972ad4914cef57d8348fcb2932bc3b",
      "tree": "5882f90d98d0429b30d0f7f7d35c14f6e0a5125a",
      "parents": [
        "196951e91262fccda81147d2bcf7fdab08668b40"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 10 18:43:24 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:39 2012 +0200"
      },
      "message": "timekeeping: Provide hrtimer update function\n\nTo finally fix the infamous leap second issue and other race windows\ncaused by functions which change the offsets between the various time\nbases (CLOCK_MONOTONIC, CLOCK_REALTIME and CLOCK_BOOTTIME) we need a\nfunction which atomically gets the current monotonic time and updates\nthe offsets of CLOCK_REALTIME and CLOCK_BOOTTIME with minimalistic\noverhead. The previous patch which provides ktime_t offsets allows us\nto make this function almost as cheap as ktime_get() which is going to\nbe replaced in hrtimer_interrupt().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/1341960205-56738-7-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5b9fe759a678e05be4937ddf03d50e950207c1c0",
      "tree": "7f0e7d0c56e87422d4a2e9847c7079850bde6b11",
      "parents": [
        "4873fa070ae84a4115f0b3c9dfabc224f1bc7c51"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 10 18:43:21 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:38 2012 +0200"
      },
      "message": "timekeeping: Maintain ktime_t based offsets for hrtimers\n\nWe need to update the hrtimer clock offsets from the hrtimer interrupt\ncontext. To avoid conversions from timespec to ktime_t maintain a\nktime_t based representation of those offsets in the timekeeper. This\nputs the conversion overhead into the code which updates the\nunderlying offsets and provides fast accessible values in the hrtimer\ninterrupt.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1341960205-56738-4-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4873fa070ae84a4115f0b3c9dfabc224f1bc7c51",
      "tree": "84479277770c3f02a3580f6d93965fb39f71e1c5",
      "parents": [
        "f55a6faa384304c89cfef162768e88374d3312cb"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 10 18:43:20 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:37 2012 +0200"
      },
      "message": "timekeeping: Fix leapsecond triggered load spike issue\n\nThe timekeeping code misses an update of the hrtimer subsystem after a\nleap second happened. Due to that timers based on CLOCK_REALTIME are\neither expiring a second early or late depending on whether a leap\nsecond has been inserted or deleted until an operation is initiated\nwhich causes that update. Unless the update happens by some other\nmeans this discrepancy between the timekeeping and the hrtimer data\nstays forever and timers are expired either early or late.\n\nThe reported immediate workaround - $ data -s \"`date`\" - is causing a\ncall to clock_was_set() which updates the hrtimer data structures.\nSee: http://www.sheeri.com/content/mysql-and-leap-second-high-cpu-and-fix\n\nAdd the missing clock_was_set() call to update_wall_time() in case of\na leap second event. The actual update is deferred to softirq context\nas the necessary smp function call cannot be invoked from hard\ninterrupt context.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReported-by: Jan Engelhardt \u003cjengelh@inai.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1341960205-56738-3-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fad0c66c4bb836d57a5f125ecd38bed653ca863a",
      "tree": "f35b5081b03f0f090c13a0fa074ff7cb3b1f60c1",
      "parents": [
        "9171c670b4915e30360c2aed530b8377fbbcc852"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed May 30 10:54:57 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 04 21:46:29 2012 +0200"
      },
      "message": "timekeeping: Fix CLOCK_MONOTONIC inconsistency during leapsecond\n\nCommit 6b43ae8a61 (ntp: Fix leap-second hrtimer livelock) broke the\nleapsecond update of CLOCK_MONOTONIC. The missing leapsecond update to\nwall_to_monotonic causes discontinuities in CLOCK_MONOTONIC.\n\nAdjust wall_to_monotonic when NTP inserted a leapsecond.\n\nReported-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nTested-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/1338400497-12420-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d239f49d77ad9ffa442e700db3cab06d8b414cd1",
      "tree": "88332a452e25e70e9bd894cc840bfb66bc7ef15d",
      "parents": [
        "190d3b6b4ab0e1ce991e8bc94ad95f00b0dc476b"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Fri Apr 27 10:12:42 2012 +0200"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon May 21 16:20:32 2012 -0700"
      },
      "message": "timekeeping: Fix a few minor newline issues.\n\nFix a few minor newline issues.\n\nSigned-off-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "bcd550745fc54f789c14e7526e0633222c505faa",
      "tree": "c3fe11a6503b7ffdd4406a9fece5c40b3e2a3f6d",
      "parents": [
        "93f378883cecb9dcb2cf5b51d9d24175906659da",
        "646783a389828e76e813f50791f7999429c821bc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:16:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 14:16:48 2012 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer core updates from Thomas Gleixner.\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ia64: vsyscall: Add missing paranthesis\n  alarmtimer: Don\u0027t call rtc_timer_init() when CONFIG_RTC_CLASS\u003dn\n  x86: vdso: Put declaration before code\n  x86-64: Inline vdso clock_gettime helpers\n  x86-64: Simplify and optimize vdso clock_gettime monotonic variants\n  kernel-time: fix s/then/than/ spelling errors\n  time: remove no_sync_cmos_clock\n  time: Avoid scary backtraces when warning of \u003e 11% adj\n  alarmtimer: Make sure we initialize the rtctimer\n  ntp: Fix leap-second hrtimer livelock\n  x86, tsc: Skip refined tsc calibration on systems with reliable TSC\n  rtc: Provide flag for rtc devices that don\u0027t support UIE\n  ia64: vsyscall: Use seqcount instead of seqlock\n  x86: vdso: Use seqcount instead of seqlock\n  x86: vdso: Remove bogus locking in update_vsyscall_tz()\n  time: Remove bogus comments\n  time: Fix change_clocksource locking\n  time: x86: Fix race switching from vsyscall to non-vsyscall clock\n"
    },
    {
      "commit": "88b28adf6fcdd6d10a1cfc7765bb200d7366a265",
      "tree": "2a5e792dbd6e3a8971e8c163dac7f6a85f52f101",
      "parents": [
        "335dd85895abeca1957d5eaa3013dfe8dc60c7d7"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Wed Mar 14 21:28:56 2012 -0600"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 23 16:49:21 2012 -0700"
      },
      "message": "kernel-time: fix s/then/than/ spelling errors\n\nUse than for comparisons, like more than.\n\nCC: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "e919cfd42da54d400e7e0385f22cae3672dcf874",
      "tree": "2fad9b552439188e2e48b0d3b0cacce52dc71b95",
      "parents": [
        "ad30dfa94c5cc23931c822922a50bd163ab293a5"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Mar 22 19:14:46 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 23 16:25:16 2012 -0700"
      },
      "message": "time: Avoid scary backtraces when warning of \u003e 11% adj\n\nFolks have been getting a number of warnings about time\nadjustments \u003e 11%. The WARN_ON leaves a big useless backtrace\nso this patch removes it for a printk_once().\n\nI\u0027m still working to narrow down the cause of the \u003e 11% adjustment.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "7bfe0e66d5da32961f0060fc5d96b739b1ed64b9",
      "tree": "6d5dcf77248b574bb0c50930bbf9030aafb99fce",
      "parents": [
        "6a76a6992341faab0ef31e7d97000e0cf336d0ba",
        "10ce3cc919f50c2043b41ca968b43c26a3672600"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 20:20:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 20:20:18 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\nPull input subsystem updates from Dmitry Torokhov:\n \"- we finally merged driver for USB version of Synaptics touchpads\n    (I guess most commonly found in IBM/Lenovo keyboard/touchpad combo);\n\n   - a bunch of new drivers for embedded platforms (Cypress\n     touchscreens, DA9052 OnKey, MAX8997-haptic, Ilitek ILI210x\n     touchscreens, TI touchscreen);\n\n   - input core allows clients to specify desired clock source for\n     timestamps on input events (EVIOCSCLOCKID ioctl);\n\n   - input core allows querying state of all MT slots for given event\n     code via EVIOCGMTSLOTS ioctl;\n\n   - various driver fixes and improvements.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (45 commits)\n  Input: ili210x - add support for Ilitek ILI210x based touchscreens\n  Input: altera_ps2 - use of_match_ptr()\n  Input: synaptics_usb - switch to module_usb_driver()\n  Input: convert I2C drivers to use module_i2c_driver()\n  Input: convert SPI drivers to use module_spi_driver()\n  Input: omap4-keypad - move platform_data to \u003clinux/platform_data\u003e\n  Input: kxtj9 - who_am_i check value and initial data rate fixes\n  Input: add driver support for MAX8997-haptic\n  Input: tegra-kbc - revise device tree support\n  Input: of_keymap - add device tree bindings for simple key matrices\n  Input: wacom - fix physical size calculation for 3rd-gen Bamboo\n  Input: twl4030-vibra - really switch from #if to #ifdef\n  Input: hp680_ts_input - ensure arguments to request_irq and free_irq are compatible\n  Input: max8925_onkey - avoid accessing input device too early\n  Input: max8925_onkey - allow to be used as a wakeup source\n  Input: atmel-wm97xx - convert to dev_pm_ops\n  Input: atmel-wm97xx - set driver owner\n  Input: add cyttsp touchscreen maintainer entry\n  Input: cyttsp - remove useless checks in cyttsp_probe()\n  Input: usbtouchscreen - add support for Data Modul EasyTouch TP 72037\n  ...\n"
    },
    {
      "commit": "6b43ae8a619d17c4935c3320d2ef9e92bdeed05d",
      "tree": "007df06a9cf0d4d2b72ed7dd8d646e853de80e9b",
      "parents": [
        "57779dc2b3b75bee05ef5d1ada47f615f7a13932"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Mar 15 13:04:03 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Mar 22 19:43:43 2012 -0700"
      },
      "message": "ntp: Fix leap-second hrtimer livelock\n\nSince commit 7dffa3c673fbcf835cd7be80bb4aec8ad3f51168 the ntp\nsubsystem has used an hrtimer for triggering the leapsecond\nadjustment. However, this can cause a potential livelock.\n\nThomas diagnosed this as the following pattern:\nCPU 0                                                    CPU 1\ndo_adjtimex()\n  spin_lock_irq(\u0026ntp_lock);\n    process_adjtimex_modes();\t\t\t\t timer_interrupt()\n      process_adj_status();                                do_timer()\n        ntp_start_leap_timer();                             write_lock(\u0026xtime_lock);\n          hrtimer_start();                                  update_wall_time();\n             hrtimer_reprogram();                            ntp_tick_length()\n               tick_program_event()                            spin_lock(\u0026ntp_lock);\n                 clockevents_program_event()\n\t\t   ktime_get()\n                     seq \u003d req_seqbegin(xtime_lock);\n\nThis patch tries to avoid the problem by reverting back to not using\nan hrtimer to inject leapseconds, and instead we handle the leapsecond\nprocessing in the second_overflow() function.\n\nThe downside to this change is that on systems that support highres\ntimers, the leap second processing will occur on a HZ tick boundary,\n(ie: ~1-10ms, depending on HZ)  after the leap second instead of\npossibly sooner (~34us in my tests w/ x86_64 lapic).\n\nThis patch applies on top of tip/timers/core.\n\nCC: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nDiagnoised-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "f695cf94837de53864180400cbac42cfa370426f",
      "tree": "9bb91a9b8c5a1291a083a37e790da00d477b18f8",
      "parents": [
        "a939e817aa7e199d2fff05a67cb745be32dd5c2d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Mar 14 16:38:15 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Mar 15 18:17:54 2012 -0700"
      },
      "message": "time: Fix change_clocksource locking\n\nchange_clocksource() fails to grab locks or call timekeeping_update(),\nwhich leaves a race window for time inconsistencies.\n\nThis adds proper locking and a call to timekeeping_update() to fix this.\n\nCC: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "b675b3667f6729dcd1036a2a129b35445947f905",
      "tree": "0d58791e9063d3ca2c352da6f3e7df2bdb876f9d",
      "parents": [
        "104a5f3cad8f2f27cadbdf0029400ecd9e17ccc0",
        "192cfd58774b4d17b2fe8bdc77d89c2ef4e0591d"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Mar 09 10:55:17 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Mar 09 10:55:17 2012 -0800"
      },
      "message": "Merge commit \u0027v3.3-rc6\u0027 into next\n"
    },
    {
      "commit": "a80b83b7b8456e9b475346c2e01d7e210883208c",
      "tree": "fb05acce28923e0e62b1b13cd39b9e1eee9bd0ae",
      "parents": [
        "4065d1e7b2164cff4af57b58fac887df2fe75d2a"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Feb 03 00:19:07 2012 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Feb 03 00:24:58 2012 -0800"
      },
      "message": "Input: add infrastructure for selecting clockid for event time stamps\n\nAs noted by Arve and others, since wall time can jump backwards, it is\ndifficult to use for input because one cannot determine if one event\noccurred before another or for how long a key was pressed.\n\nHowever, the timestamp field is part of the kernel ABI, and cannot be\nchanged without possibly breaking existing users.\n\nThis patch adds a new IOCTL that allows a clockid to be set in the\nevdev_client struct that will specify which time base to use for event\ntimestamps (ie: CLOCK_MONOTONIC instead of CLOCK_REALTIME).\n\nFor now we only support CLOCK_MONOTONIC and CLOCK_REALTIME, but\nin the future we could support other clockids if appropriate.\n\nThe default remains CLOCK_REALTIME, so we don\u0027t change the ABI.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Daniel Kurtz \u003cdjkurtz@google.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "cc06268c6a87db156af2daed6e96a936b955cc82",
      "tree": "7edfb767cf3a58b82c8ee299d3689943b87d1d3d",
      "parents": [
        "058892e632aa53be8255c2f0a42f9ace7bed66bb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Nov 13 23:19:49 2011 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 26 19:44:31 2012 -0800"
      },
      "message": "time: Move common updates to a function\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "058892e632aa53be8255c2f0a42f9ace7bed66bb",
      "tree": "3528cc45b80245fc8d3eba00d3cda80f782d0fe1",
      "parents": [
        "92c1d3ed4dc0b8cfb10e85ed0c9934db41efc027"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Nov 13 23:19:48 2011 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 26 19:44:29 2012 -0800"
      },
      "message": "time: Reorder so the hot data is together\n\nKeep all the interesting data in a single cache line.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "92c1d3ed4dc0b8cfb10e85ed0c9934db41efc027",
      "tree": "233556d74e7bd062d8e174bc0a33fdc2dc7f95b1",
      "parents": [
        "bd3312681f69207a40431981c1bce1afdc9b7975"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Nov 14 14:05:44 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 26 19:44:27 2012 -0800"
      },
      "message": "time: Remove most of xtime_lock usage in timekeeping.c\n\nNow that ntp.c\u0027s locking is reworked, we can remove most\nof the xtime_lock usage in timekeeping.c\n\nThe remaining xtime_lock presence is really for jiffies access\nand the global load calculation.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ea7cf49a7633c2b70125f59b4e3553d9181cb15d",
      "tree": "877bca59752e387e93fc030079afc28515c86edf",
      "parents": [
        "8357929e6ae3661d5a3a7378a717f29873ea18c6"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Nov 14 13:18:07 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 26 19:44:23 2012 -0800"
      },
      "message": "ntp: Access tick_length variable via ntp_tick_length()\n\nCurrently the NTP managed tick_length value is accessed globally,\nin preparations for locking cleanups, make sure it is accessed via\na function and mark it as static.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "70471f2f061d59375e959b4e7d47ee62121babb1",
      "tree": "f2799ccaaed2d976748d6ecd8708c0886c142bf5",
      "parents": [
        "8fcce546be16130865550136831f71097d7fc228"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Nov 14 12:48:10 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 26 19:44:18 2012 -0800"
      },
      "message": "time: Add timekeeper lock\n\nNow that all the timekeeping variables are stored in\nthe timekeeper structure, add a new lock to protect the\nstructure.\n\nFor now, this lock nests under the xtime_lock for writes.\n\nFor readers, we don\u0027t need to take xtime_lock anymore.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "8fcce546be16130865550136831f71097d7fc228",
      "tree": "a7670612d8196da348842c7c8d83336aa7922e90",
      "parents": [
        "01f71b47e08f2a062c4e77c94dfa9a7e0ae65fcb"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Nov 14 11:46:39 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 26 19:44:16 2012 -0800"
      },
      "message": "time: Cleanup global variables and move them to the top\n\nMove global xtime_lock and timekeeping_suspended values up\nto the top of timekeeping.c\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "01f71b47e08f2a062c4e77c94dfa9a7e0ae65fcb",
      "tree": "bad9a642d8f55def709d71ecc9affe78ecc59e42",
      "parents": [
        "8ff2cb92dd1afcf23e7b5287c43a900b16f40bad"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Nov 14 11:43:49 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 26 19:44:14 2012 -0800"
      },
      "message": "time: Move raw_time into timekeeper structure\n\nIn preparation for locking cleanups, move raw_time into\ntimekeeper structure.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "8ff2cb92dd1afcf23e7b5287c43a900b16f40bad",
      "tree": "52c3e19533e4f44a491603f5842595c4e2630da0",
      "parents": [
        "d9f7217aac6833cc634741f2f771a87fd1518fee"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Nov 14 11:40:54 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 26 19:44:12 2012 -0800"
      },
      "message": "time: Move xtime into timekeeeper structure\n\nIn preparation for locking cleanups, move xtime into\ntimekeeper structure.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "d9f7217aac6833cc634741f2f771a87fd1518fee",
      "tree": "284a9a1597ec2166a0d2b43d108f1262be1f6b88",
      "parents": [
        "00c5fb774e3fa8c9d082c62eac7e3d178c006f56"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Nov 14 11:29:32 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 26 19:44:09 2012 -0800"
      },
      "message": "time: Move wall_to_monotonic into the timekeeper structure\n\nIn preparation for locking cleanups, move wall_to_monotonic\ninto the timekeeper structure.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "00c5fb774e3fa8c9d082c62eac7e3d178c006f56",
      "tree": "986ae7cd7c10f7668d2c140093ebbc1591999ae1",
      "parents": [
        "a99cbf6b43a7b3b15f6139b2d9ac4ecceccd3c99"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Nov 14 11:23:15 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Jan 26 19:44:07 2012 -0800"
      },
      "message": "time: Move total_sleep_time into the timekeeper structure\n\nMove total_sleep_time into the timekeeper structure in preparation\nfor locking cleanups\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "0518469d0a32be1e6dd8850ff274d52d72cdb52d",
      "tree": "c13038d099e04208feae565947783cf92ceae9ee",
      "parents": [
        "28a00184be261e3dc152ba0d664a067bbe235b6a",
        "f5a54dd7952e9032785cd1ef0dde72cd61025341"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 05 22:13:49 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 05 22:13:49 2011 +0100"
      },
      "message": "Merge branch \u0027fortglx/3.3/tip/timers/core\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n"
    },
    {
      "commit": "3f86f28ffc298e168692ce88791c1d64a03b655b",
      "tree": "0b0c8fa3e63e1f3e41f5da857f64d5395eb0d100",
      "parents": [
        "c9fad429d438fdd736ac6816b75d16c4cd626acd"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Oct 27 17:41:17 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Nov 21 19:00:55 2011 -0800"
      },
      "message": "time: Fix spelling mistakes in new comments\n\nFixup spelling issues caught by Richard\n\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCC: Chen Jie \u003cchenj@lemote.com\u003e\nCC: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "c9fad429d438fdd736ac6816b75d16c4cd626acd",
      "tree": "165c5edface9e59d4634ff2a5d0e6dd135d9532a",
      "parents": [
        "367177e50189ab0a983b52f3d3f7eb2a1927db71"
      ],
      "author": {
        "name": "Dan McGee",
        "email": "dpmcgee@gmail.com",
        "time": "Mon Oct 17 13:58:43 2011 -0500"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Nov 21 19:00:46 2011 -0800"
      },
      "message": "time: fix bogus comment in timekeeping_get_ns_raw\n\nThe whole point of this function is to return a value not touched by\nNTP; unfortunately the comment got copied wholesale without adjustment\nfrom the timekeeping_get_ns function above.\n\nSigned-off-by: Dan McGee \u003cdpmcgee@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "d004e024058a0eaca097513ce62cbcf978913e0a",
      "tree": "94191734e099dd46b8998d813125efaa4a8a37d6",
      "parents": [
        "367177e50189ab0a983b52f3d3f7eb2a1927db71"
      ],
      "author": {
        "name": "Hector Palacios",
        "email": "hector.palacios@digi.com",
        "time": "Mon Nov 14 11:15:25 2011 +0100"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Nov 17 14:57:19 2011 -0800"
      },
      "message": "timekeeping: add arch_offset hook to ktime_get functions\n\nktime_get and ktime_get_ts were calling timekeeping_get_ns()\nbut later they were not calling arch_gettimeoffset() so architectures\nusing this mechanism returned 0 ns when calling these functions.\n\nThis happened for example when running Busybox\u0027s ping which calls\nsyscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts) which eventually\ncalls ktime_get. As a result the returned ping travel time was zero.\n\nCC: stable@kernel.org\nSigned-off-by: Hector Palacios \u003chector.palacios@digi.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "367177e50189ab0a983b52f3d3f7eb2a1927db71",
      "tree": "fed5e93eb35d002e21cb3c2fafbfe38062aaa266",
      "parents": [
        "c2bc11113c50449f23c40b724fe410fc2380a8e9",
        "d65670a78cdbfae94f20a9e05ec705871d7cdf2b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:10:42 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 11 08:10:42 2011 +0100"
      },
      "message": "Merge branch \u0027formingo/3.2/tip/timers/core\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n\nConflicts:\n\tkernel/time/timekeeping.c\n"
    },
    {
      "commit": "d65670a78cdbfae94f20a9e05ec705871d7cdf2b",
      "tree": "3c16dedb75fa5ab6c0fdc072cc8d73df01d43a17",
      "parents": [
        "e35f95b36e43f67a6f806172555a152c11ea0a78"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Oct 31 17:06:35 2011 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Nov 10 11:27:08 2011 -0800"
      },
      "message": "clocksource: Avoid selecting mult values that might overflow when adjusted\n\nFor some frequencies, the clocks_calc_mult_shift() function will\nunfortunately select mult values very close to 0xffffffff.  This\nhas the potential to overflow when NTP adjusts the clock, adding\nto the mult value.\n\nThis patch adds a clocksource.maxadj value, which provides\nan approximation of an 11% adjustment(NTP limits adjustments to\n500ppm and the tick adjustment is limited to 10%), which could\nbe made to the clocksource.mult value. This is then used to both\ncheck that the current mult value won\u0027t overflow/underflow, as\nwell as warning us if the timekeeping_adjust() code pushes over\nthat 11% boundary.\n\nv2: Fix max_adjustment calculation, and improve WARN_ONCE\nmessages.\n\nv3: Don\u0027t warn before maxadj has actually been set\n\nCC: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCC: David Daney \u003cddaney.cavm@gmail.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Chen Jie \u003cchenj@lemote.com\u003e\nCC: zhangfx \u003czhangfx@lemote.com\u003e\nCC: stable@kernel.org\nReported-by: Chen Jie \u003cchenj@lemote.com\u003e\nReported-by: zhangfx \u003czhangfx@lemote.com\u003e\nTested-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "c2bc11113c50449f23c40b724fe410fc2380a8e9",
      "tree": "f5a6a5f9c199d6b3ed7a973dfb7556ad2af2bf5a",
      "parents": [
        "e35f95b36e43f67a6f806172555a152c11ea0a78"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Oct 27 18:12:42 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 28 08:57:38 2011 +0200"
      },
      "message": "time: Improve documentation of timekeeeping_adjust()\n\nAfter getting a number of questions in private emails about the\nmath around admittedly very complex timekeeping_adjust() and\ntimekeeping_big_adjust(), I figure the code needs some better\ncomments.\n\nHopefully the explanations are clear enough and don\u0027t muddy the\nwater any worse.\n\nStill needs documentation for ntp_error, but I couldn\u0027t recall\nexactly the full explanation behind the code that\u0027s there\n(although I do recall once working it out when Roman first\nproposed it). Given a bit more time I can probably work it out,\nbut I don\u0027t want to hold back this documentation until then.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Chen Jie \u003cchenj@lemote.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/1319764362-32367-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbaa51524b3224813814607177a00c350ee35d12",
      "tree": "34f0fabff444e5dde2ee2b92d841abb97daf41b1",
      "parents": [
        "3dcad5ff08f65ae30832220a0e0ee2eac3502a1a"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Jul 20 15:42:55 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Jul 20 15:42:55 2011 -0700"
      },
      "message": "time: Fix stupid KERN_WARN compile issue\n\nTerribly embarassing. Don\u0027t know how I committed this, but its\nKERN_WARNING not KERN_WARN.\n\nThis fixes the following compile error:\nkernel/time/timekeeping.c: In function ‘__timekeeping_inject_sleeptime’:\nkernel/time/timekeeping.c:608: error: ‘KERN_WARN’ undeclared (first use in this function)\nkernel/time/timekeeping.c:608: error: (Each undeclared identifier is reported only once\nkernel/time/timekeeping.c:608: error: for each function it appears in.)\nkernel/time/timekeeping.c:608: error: expected ‘)’ before string constant\nmake[2]: *** [kernel/time/timekeeping.o] Error 1\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "cb33217b1b2523895eb328a0b13fb3b1c4000969",
      "tree": "f3ce72c0f6cb9a23411c2639acf300f1f453a3c0",
      "parents": [
        "cb5de2f8d0306be38f9b377b8a5c56acca7dbc3d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue May 31 22:53:23 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jun 21 16:55:37 2011 -0700"
      },
      "message": "time: Avoid accumulating time drift in suspend/resume\n\nBecause the read_persistent_clock interface is usually backed by\nonly a second granular interface, each time we read from the persistent\nclock for suspend/resume, we introduce a half second (on average) of error.\n\nIn order to avoid this error accumulating as the system is suspended\nover and over, this patch measures the time delta between the persistent\nclock and the system CLOCK_REALTIME.\n\nIf the delta is less then 2 seconds from the last suspend, we compensate\nby using the previous time delta (keeping it close). If it is larger\nthen 2 seconds, we assume the clock was set or has been changed, so we\ndo no correction and update the delta.\n\nNote: If NTP is running, ths could seem to \"fight\" with the NTP corrected\ntime, where as if the system time was off by 1 second, and NTP slewed the\nvalue in, a suspend/resume cycle could undo this correction, by trying to\nrestore the previous offset from the persistent clock.  However, without\nthis patch, since each read could cause almost a full second worth of\nerror, its possible to get almost 2 seconds of error just from the\nsuspend/resume cycle alone, so this about equal to any offset added by\nthe compensation.\n\nFurther on systems that suspend/resume frequently, this should keep time\ncloser then NTP could compensate for if the errors were allowed to\naccumulate.\n\nCredits to Arve Hjønnevåg for suggesting this solution.\n\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "cb5de2f8d0306be38f9b377b8a5c56acca7dbc3d",
      "tree": "9edd5bd1fd1e41be44026a37b2184200f6f90d50",
      "parents": [
        "e08f6d4131ab964420f0bcabecc68d75fb49df79"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Jun 01 18:18:09 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jun 21 16:55:36 2011 -0700"
      },
      "message": "time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime\n\nArve suggested making sure we catch possible negative sleep time\nintervals that could be passed into timekeeping_inject_sleeptime.\n\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "99ee5315dac6211e972fa3f23bcc9a0343ff58c4",
      "tree": "6663d6ceaabcb9bac03193e2781cdbe6a139f70c",
      "parents": [
        "b12a03ce4880bd13786a98db6de494a3e0123129"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 27 14:16:42 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 02 21:39:15 2011 +0200"
      },
      "message": "timerfd: Allow timers to be cancelled when clock was set\n\nSome applications must be aware of clock realtime being set\nbackward. A simple example is a clock applet which arms a timer for\nthe next minute display. If clock realtime is set backward then the\napplet displays a stale time for the amount of time which the clock\nwas set backwards. Due to that applications poll the time because we\ndon\u0027t have an interface.\n\nExtend the timerfd interface by adding a flag which puts the timer\nonto a different internal realtime clock. All timers on this clock are\nexpired whenever the clock was set.\n\nThe timerfd core records the monotonic offset when the timer is\ncreated. When the timer is armed, then the current offset is compared\nto the previous recorded offset. When it has changed, then\ntimerfd_settime returns -ECANCELED. When a timer is read the offset is\ncompared and if it changed -ECANCELED returned to user space. Periodic\ntimers are not rearmed in the cancelation case.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Chris Friesen \u003cchris.friesen@genband.com\u003e\nTested-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nReviewed-by: Alexander Shishkin \u003cvirtuoso@slind.org\u003e\nLink: http://lkml.kernel.org/r/%3Calpine.LFD.2.02.1104271359580.3323%40ionos%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b12a03ce4880bd13786a98db6de494a3e0123129",
      "tree": "2a8f2cf0d1d6749b4a33cc07c9b7839a4a139e9a",
      "parents": [
        "942c3c5c329274fa6de5998cb911cf3d0a42d0b1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 02 16:48:57 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 02 21:37:58 2011 +0200"
      },
      "message": "hrtimers: Prepare for cancel on clock was set timers\n\nMake clock_was_set() unconditional and rename hres_timers_resume to\nhrtimers_resume. This is a preparatory patch for hrtimers which are\ncancelled when clock realtime was set.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "304529b1b6f8612ccbb4582e997051b48b94f4a4",
      "tree": "025b53989f39b463621e9a9eb8e903dc54dd87e1",
      "parents": [
        "4175242c0dc1d92e821d2b45bc8fe06d4650a7b5"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Apr 01 14:32:09 2011 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Apr 26 14:01:41 2011 -0700"
      },
      "message": "time: Add timekeeping_inject_sleeptime\n\nSome platforms cannot implement read_persistent_clock, as\ntheir RTC devices are only accessible when interrupts are enabled.\nThis keeps them from being used by the timekeeping code on resume\nto measure the time in suspend.\n\nThe RTC layer tries to work around this, by calling do_settimeofday\non resume after irqs are reenabled to set the time properly. However,\nthis only corrects CLOCK_REALTIME, and does not properly adjust\nthe sleep time value. This causes btime in /proc/stat to be incorrect\nas well as making the new CLOCK_BOTTTIME inaccurate.\n\nThis patch resolves the issue by introducing a new timekeeping hook\nto allow the RTC layer to inject the sleep time on resume.\n\nThe code also checks to make sure that read_persistent_clock is\nnonfunctional before setting the sleep time, so that should the RTC\u0027s\nHCTOSYS option be configured in on a system that does support\nread_persistent_clock we will not increase the total_sleep_time twice.\n\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "e1a85b2c519551d4792180cdab4074d7e99bf2c9",
      "tree": "ee53aed254043d06a7e30151af6500eab3bf0407",
      "parents": [
        "f3c6ea1b06c71b43f751b36bd99345369fe911af"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 23 22:16:04 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 23 22:16:04 2011 +0100"
      },
      "message": "timekeeping: Use syscore_ops instead of sysdev class and sysdev\n\nThe timekeeping subsystem uses a sysdev class and a sysdev for\nexecuting timekeeping_suspend() after interrupts have been turned off\non the boot CPU (during system suspend) and for executing\ntimekeeping_resume() before turning on interrupts on the boot CPU\n(during system resume).  However, since both of these functions\nignore their arguments, the entire mechanism may be replaced with a\nstruct syscore_ops object which is simpler.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "314ac37150011ebb398f522db528d2dbcc611189",
      "tree": "0731fced7713d3889bd783577673068a6bc93796",
      "parents": [
        "abb3a4ea2e0ea7114a4475745da2f32bd9ad5b73"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 14 18:43:08 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 21 12:53:07 2011 -0800"
      },
      "message": "time: Extend get_xtime_and_monotonic_offset() to also return sleep\n\nExtend get_xtime_and_monotonic_offset to\nget_xtime_and_monotonic_and_sleep_offset().\n\nCC: Jamie Lokier \u003cjamie@shareable.org\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alexander Shishkin \u003cvirtuoso@slind.org\u003e\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "abb3a4ea2e0ea7114a4475745da2f32bd9ad5b73",
      "tree": "ba78d928a1b58faf16c2507777b8430d54666f52",
      "parents": [
        "e06383db9ec591696a06654257474b85bac1f8cb"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 14 17:52:09 2011 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Feb 21 12:53:05 2011 -0800"
      },
      "message": "time: Introduce get_monotonic_boottime and ktime_get_boottime\n\nThis adds new functions that return the monotonic time since boot\n(in other words, CLOCK_MONOTONIC + suspend time).\n\nCC: Jamie Lokier \u003cjamie@shareable.org\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Alexander Shishkin \u003cvirtuoso@slind.org\u003e\nCC: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "c528f7c6c208f1fae6b4025957173dec045e5f21",
      "tree": "86986bf39f82622ea81179dad3382fc4580875a8",
      "parents": [
        "0061748dd2400d0bcd4d49d258db5d7b5d106ca0"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Feb 01 13:52:17 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 15:28:18 2011 +0100"
      },
      "message": "time: Introduce timekeeping_inject_offset\n\nThis adds a kernel-internal timekeeping interface to add or subtract\na fixed amount from CLOCK_REALTIME. This makes it so kernel users or\ninterfaces trying to do so do not have to read the time, then add an\noffset and then call settimeofday(), which adds some extra error in\ncomparision to just simply adding the offset in the kernel timekeeping\ncore.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nLKML-Reference: \u003c20110201134419.584311693@linutronix.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1e6d767924c74929c0cfe839ae8f37bcee9e544e",
      "tree": "4ace06971e2b3519e556bea2f7e3e999e860eedd",
      "parents": [
        "7cf37e87dd2cfa17a64f28ea7f31eed4525f79e4"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richard.cochran@omicron.at",
        "time": "Tue Feb 01 13:50:58 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 15:28:11 2011 +0100"
      },
      "message": "time: Correct the *settime* parameters\n\nBoth settimeofday() and clock_settime() promise with a \u0027const\u0027\nattribute not to alter the arguments passed in. This patch adds the\nmissing \u0027const\u0027 attribute into the various kernel functions\nimplementing these calls.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c20110201134417.545698637@linutronix.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f0af911a9dec9de702645182c8d269449e24d24b",
      "tree": "17cd5683ab3878479b59d9786102fcf699d3051a",
      "parents": [
        "79ecaf0d15344d78904becf0f25de3fc9b49d430"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Thu Jan 27 15:59:10 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 14:55:43 2011 +0100"
      },
      "message": "time: Provide xtime_update()\n\nxtime_update() takes xtime_lock write locked and calls\ndo_timer(). Provided to replace the do_timer() calls in the\narchitecture code.\n\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: johnstul@us.ibm.com\nCc: yong.zhang0@gmail.com\nCc: hch@infradead.org\nLKML-Reference: \u003c20110127145910.23248.21379.stgit@localhost\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "79ecaf0d15344d78904becf0f25de3fc9b49d430",
      "tree": "1fb8b5f73c86dbb2636c9a6e3458212f0843e378",
      "parents": [
        "48cf76f7104f655bbd48a75c7759dce82c3e1ab6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 11:07:54 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 14:55:43 2011 +0100"
      },
      "message": "time: Remove unused __get_wall_to_monotonic()\n\nNo users left. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "48cf76f7104f655bbd48a75c7759dce82c3e1ab6",
      "tree": "2b3cf138fd277ba9c551d75ccbe575a40974560a",
      "parents": [
        "fbad1ea94159a71bc0f68b00e57ae803606af9fb"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Thu Jan 27 15:59:05 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 14:55:42 2011 +0100"
      },
      "message": "time: Provide get_xtime_and_monotonic_offset()\n\nThe hrtimer code accesses timekeeping variables under\nxtime_lock. Provide a sensible accessor function and use it.\n\n[ tglx: Removed the conditionals, unused variable, fixed codingstyle\n  \tand massaged changelog ]\n\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: johnstul@us.ibm.com\nCc: yong.zhang0@gmail.com\nCc: hch@infradead.org\nLKML-Reference: \u003c20110127145905.23248.30458.stgit@localhost\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "871cf1e5f2a17702f58539a3af8b18fc8666ad4c",
      "tree": "da80fbad2c79dee33d4ac559c8881ce4c77476b7",
      "parents": [
        "70d1f365568e0cdbc9f4ab92428e1830fdb09ab0"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Thu Jan 27 15:58:55 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 14:55:41 2011 +0100"
      },
      "message": "time: Move do_timer() to kernel/time/timekeeping.c\n\ndo_timer() is primary timekeeping related. calc_global_load() is\ncalled from do_timer() as well, but that\u0027s more for historical\nreasons.\n\n[ tglx: Fixed up the calc_global_load() reject andmassaged changelog ]\n\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: johnstul@us.ibm.com\nCc: yong.zhang0@gmail.com\nCc: hch@infradead.org\nLKML-Reference: \u003c20110127145855.23248.56933.stgit@localhost\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f9ee7f60d6f37ae0184812b4c59b3869f875768b",
      "tree": "6c30a7e94b90cfa3a43cda45f4bdb2f254f3ba10",
      "parents": [
        "16c1020362083b320868c0deef492249089c3cd3",
        "1161ec944916069ceec21c487e30247d9ff22857",
        "76d1f7bfcd5872056902c5a88b5fcd5d4d00a7a9",
        "afa14e7c553ebe45844d76208f66017a43abd0e2",
        "7c46d8da09df22361d1d43465c4f1b06cecaf25f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027x86-fixes-for-linus\u0027, \u0027timers-fixes-for-linus\u0027 and \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: avoid pointless blocked-task warnings\n  rcu: demote SRCU_SYNCHRONIZE_DELAY from kernel-parameter status\n  rtmutex: Fix comment about why new_owner can be NULL in wake_futex_pi()\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, olpc: Add missing Kconfig dependencies\n  x86, mrst: Set correct APB timer IRQ affinity for secondary cpu\n  x86: tsc: Fix calibration refinement conditionals to avoid divide by zero\n  x86, ia64, acpi: Clean up x86-ism in drivers/acpi/numa.c\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timekeeping: Make local variables static\n  time: Rename misnamed minsec argument of clocks_calc_mult_shift()\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove syscall_exit_fields\n  tracing: Only process module tracepoints once\n  perf record: Add \"nodelay\" mode, disabled by default\n  perf sched: Fix list of events, dropping unsupported \u0027:r\u0027 modifier\n  Revert \"perf tools: Emit clearer message for sys_perf_event_open ENOENT return\"\n  perf top: Fix annotate segv\n  perf evsel: Fix order of event list deletion\n"
    },
    {
      "commit": "e2c18e49a0d4f822ffc29fb4958943beb1ff08b7",
      "tree": "227dbb544277f7908fa1666ce21a15e6b2282ccb",
      "parents": [
        "025b40abe715d638e60516a657d354e8560c1a85"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "lasaine@lvk.cs.msu.su",
        "time": "Wed Jan 12 17:00:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 08:03:21 2011 -0800"
      },
      "message": "pps: capture MONOTONIC_RAW timestamps as well\n\nMONOTONIC_RAW clock timestamps are ideally suited for frequency\ncalculation and also fit well into the original NTP hardpps design.  Now\nphase and frequency can be adjusted separately: the former based on\nREALTIME clock and the latter based on MONOTONIC_RAW clock.\n\nA new function getnstime_raw_and_real is added to timekeeping subsystem to\ncapture both timestamps at the same time and atomically.\n\nSigned-off-by: Alexander Gordeev \u003clasaine@lvk.cs.msu.su\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@enneenne.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afa14e7c553ebe45844d76208f66017a43abd0e2",
      "tree": "2f1d13e996ba3db9be9d34b793edb432f6368bdd",
      "parents": [
        "5fdade95f26372154459347dfb9f60721d22cfc7"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Jan 11 17:59:38 2011 -0600"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 12 12:23:13 2011 +0100"
      },
      "message": "timekeeping: Make local variables static\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c0D753D10438DA54287A00B027084269764CE0E54B7@AUSP01VMBX24.collaborationhost.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "a386b5af8edda1c742ce9f77891e112eefffc005",
      "tree": "8a74b512d751758144b219988f60d69a5fd028f9",
      "parents": [
        "8af3c153baf95374eff20a37f00c59a295b52756"
      ],
      "author": {
        "name": "Kasper Pedersen",
        "email": "kkp2010@kasperkp.dk",
        "time": "Wed Oct 20 15:55:15 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 21 17:30:05 2010 +0200"
      },
      "message": "time: Compensate for rounding on odd-frequency clocksources\n\nWhen the clocksource is not a multiple of HZ, the clock will be off.  For\nacpi_pm, HZ\u003d1000 the error is 127.111 ppm:\n\nThe rounding of cycle_interval ends up generating a false error term in\nntp_error accumulation since xtime_interval is not exactly 1/HZ.  So, we\nsubtract out the error caused by the rounding.\n\nThis has been visible since 2.6.32-rc2\n\tcommit a092ff0f90cae22b2ac8028ecd2c6f6c1a9e4601\n\ttime: Implement logarithmic time accumulation\nThat commit raised NTP_INTERVAL_FREQ and exposed the rounding error.\n\ntesting tool: http://n1.taur.dk/permanent/testpmt.c\nAlso tested with ntpd and a frequency counter.\n\nSigned-off-by: Kasper Pedersen \u003ckkp2010@kasperkp.dk\u003e\nAcked-by: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c7dcf87a6881bf796faee83003163eb3de41a309",
      "tree": "1e4333e588ad6e8e69e310d8ae71798af1c0bdb5",
      "parents": [
        "2be1f3a73dd02e38e181cf5abacb3d45a6a2d6b8"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Aug 13 11:30:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 13 12:03:24 2010 -0700"
      },
      "message": "time: Workaround gcc loop optimization that causes 64bit div errors\n\nEarly 4.3 versions of gcc apparently aggressively optimize the raw\ntime accumulation loop, replacing it with a divide.\n\nOn 32bit systems, this causes the following link errors:\n\tundefined reference to `__umoddi3\u0027\n\tundefined reference to `__udivdi3\u0027\n\nThe gcc issue has been fixed in 4.4 and greater.\n\nThis patch replaces the accumulation loop with a do_div, as suggested\nby Linus.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCC: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCC: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "deda2e81961e96be4f2c09328baca4710a2fd1a0",
      "tree": "da1968f7e6791cb96735e8f2c602aa55e76fec21",
      "parents": [
        "95f4572737da469b66ebfd1badd69d9adc340409"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Aug 09 14:20:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 12 09:53:39 2010 -0700"
      },
      "message": "timekeeping: Fix overflow in rawtime tv_nsec on 32 bit archs\n\nThe tv_nsec is a long and when added to the shifted interval it can wrap\nand become negative which later causes looping problems in the\ngetrawmonotonic().  The edge case occurs when the system has slept for\na short period of time of ~2 seconds.\n\nA trace printk of the values in this patch illustrate the problem:\n\nftrace time stamp: log\n43.716079: logarithmic_accumulation: raw: 3d0913 tv_nsec d687faa\n43.718513: logarithmic_accumulation: raw: 3d0913 tv_nsec da588bd\n43.722161: logarithmic_accumulation: raw: 3d0913 tv_nsec de291d0\n46.349925: logarithmic_accumulation: raw: 7a122600 tv_nsec e1f9ae3\n46.349930: logarithmic_accumulation: raw: 1e848980 tv_nsec 8831c0e3\n\nThe kernel starts looping at 46.349925 in the getrawmonotonic() due to\nthe negative value from adding the raw value to tv_nsec.\n\nA simple solution is to accumulate into a u64, and then normalize it\nto a timespec_t.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n [ Reworked variable names and simplified some of the code. - John ]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0fb86b06298b6cd3205cac2e68a499f269282dac",
      "tree": "3adcd4149fbe643ea8cae88578e169d02b7a9e5f",
      "parents": [
        "8ab4351a4c888016620f43bde605b3d0964af339"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:26 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:55 2010 +0200"
      },
      "message": "timekeeping: Make xtime and wall_to_monotonic static\n\nThis patch makes xtime and wall_to_monotonic static, as planned in\nDocumentation/feature-removal-schedule.txt. This will allow for\nfurther cleanups to the timekeeping core.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1279068988-21864-10-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "8ab4351a4c888016620f43bde605b3d0964af339",
      "tree": "9d92ee7fbf9391bfcfdc1e49fecc31b9fa4e03c0",
      "parents": [
        "9f31f5774961a735687fee17953ab505b3df3abf"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:25 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:55 2010 +0200"
      },
      "message": "hrtimer: Cleanup direct access to wall_to_monotonic\n\nProvides an accessor function to replace hrtimer.c\u0027s\ndirect access of wall_to_monotonic.\n\nThis will allow wall_to_monotonic to be made static as\nplanned in Documentation/feature-removal-schedule.txt\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1279068988-21864-9-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "592913ecb87a9e06f98ddb55b298f1a66bf94c6b",
      "tree": "0f63f5535fe517faf418e0f7e69800fcf1e4d8db",
      "parents": [
        "ce3bf7ab22527183634a76512d9854a38615e4d5"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:20 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:54 2010 +0200"
      },
      "message": "time: Kill off CONFIG_GENERIC_TIME\n\nNow that all arches have been converted over to use generic time via\nclocksources or arch_gettimeoffset(), we can remove the GENERIC_TIME\nconfig option and simplify the generic code.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1279068988-21864-4-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ce3bf7ab22527183634a76512d9854a38615e4d5",
      "tree": "79e48c7c84618d968664bd660c75e03fc98e7d11",
      "parents": [
        "8c73626ab28527b7eb7f3061c027fbfe530c488c"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 13 17:56:19 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 27 12:40:53 2010 +0200"
      },
      "message": "time: Implement timespec_add\n\nAfter accidentally misusing timespec_add_safe, I wanted to make sure\nwe don\u0027t accidently trip over that issue again, so I created a simple\ntimespec_add() function which we can use to replace the instances\nof timespec_add_safe() that don\u0027t want the overflow detection.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLKML-Reference: \u003c1279068988-21864-3-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "dbb6be6d5e974c42bbecd183effaa0df69e1dd8b",
      "tree": "5735cb47e70853d057a9881dd0ce44b83e88fa63",
      "parents": [
        "6a867a395558a7f882d041783e4cdea6744ca2bf",
        "b57f95a38233a2e73b679bea4a5453a1cc2a1cc9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 10 11:59:37 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 10 14:20:42 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/core\n\nReason: Further posix_cpu_timer patches depend on mainline changes\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6a867a395558a7f882d041783e4cdea6744ca2bf",
      "tree": "dfe350df25fba5fec6f7e1088b04d6b03f0974b3",
      "parents": [
        "9ca7d8e6834c40a99622bbe4a88aaf64313ae43c"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Apr 06 14:30:51 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 13 12:43:42 2010 +0200"
      },
      "message": "time: Remove xtime_cache\n\nWith the earlier logarithmic time accumulation patch, xtime will now\nalways be within one \"tick\" of the current time, instead of possibly\nhalf a second off.\n\nThis removes the need for the xtime_cache value, which always stored the\ntime at the last interrupt, so this patch cleans that up removing the\nxtime_cache related code.\n\nThis patch also addresses an issue with an earlier version of this change,\nwhere xtime_cache was normalizing xtime, which could in some cases be\nnot valid (ie: tv_nsec \u003d\u003d NSEC_PER_SEC). This is fixed by handling\nthe edge case in update_wall_time().\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Petr Titěra \u003cP.Titera@century.cz\u003e\nLKML-Reference: \u003c1270589451-30773-1-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "830ec0458c390f29c6c99e1ff7feab9e36368d12",
      "tree": "81a344892bd7696a42d87b76189b59f4e1af71ef",
      "parents": [
        "15365c108ea27598e265f8c13e7051d99ca5b0b9"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Thu Mar 18 14:47:30 2010 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 23 16:41:01 2010 +0100"
      },
      "message": "time: Fix accumulation bug triggered by long delay.\n\nThe logarithmic accumulation done in the timekeeping has some overflow\nprotection that limits the max shift value. That means it will take\nmore then shift loops to accumulate all of the cycles. This causes\nthe shift decrement to underflow, which causes the loop to never exit.\n\nThe simplest fix would be simply to do a:\n\tif (shift)\n\t\tshift--;\n\nHowever that is not optimal, as we know the cycle offset is larger\nthen the interval \u003c\u003c shift, the above would make shift drop to zero,\nthen we would be spinning for quite awhile accumulating at interval\nchunks at a time.\n\nInstead, this patch only decreases shift if the offset is smaller\nthen cycle_interval \u003c\u003c shift.  This makes sure we accumulate using\nthe largest chunks possible without overflowing tick_length, and limits\nthe number of iterations through the loop.\n\nThis issue was found and reported by Sonic Zhang, who also tested the fix.\nMany thanks your explanation and testing!\n\nReported-by: Sonic Zhang \u003csonic.adi@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nTested-by: Sonic Zhang \u003csonic.adi@gmail.com\u003e\nLKML-Reference: \u003c1268948850-5225-1-git-send-email-johnstul@us.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e56425b135a8892d1e71ad5bb605d12c10efeb32",
      "tree": "9bb899e1b6b45a125bcc21554f3673878d932035",
      "parents": [
        "786f8ba2e9449a7f01ec6bc35838d0a335921061",
        "6622e670b26fbaa9c4ae7772a4d2d0abd3414b51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 01 08:48:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 01 08:48:25 2010 -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  posix-timers.c: Don\u0027t export local functions\n  clocksource: start CMT at clocksource resume\n  clocksource: add suspend callback\n  clocksource: add argument to resume callback\n  ntp: Cleanup xtime references in ntp.c\n  ntp: Make time_esterror and time_maxerror static\n"
    },
    {
      "commit": "c93d89f3dbf0202bf19c07960ca8602b48c2f9a0",
      "tree": "1534d49d8baeab231dc9f3693780a605d5c32d2e",
      "parents": [
        "6339204ecc2aa2067a99595522de0403f0854bb8"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Wed Jan 27 19:13:40 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Tue Feb 09 19:20:15 2010 +0200"
      },
      "message": "Export the symbol of getboottime and mmonotonic_to_bootbased\n\nExport getboottime and monotonic_to_bootbased in order to let them\ncould be used by following patch.\n\nCc: stable@kernel.org\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\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"
    }
  ],
  "next": "83f57a11d84460dfe2afdb5a8bc759953428e38b"
}
