)]}'
{
  "log": [
    {
      "commit": "67dd331c5d811b2e50c935a24c82f31b61c6dcd3",
      "tree": "0980dd54ec6ea9566be374738baacafd8b9c7492",
      "parents": [
        "15ef0298deb3929eb6ad6d2334fd2059fd53807c",
        "0d6bd9953f739dad96d9a0de65383e479ab4e10d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 29 09:55:01 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed May 29 09:55:01 2013 +0200"
      },
      "message": "Merge branch \u0027fortglx/3.10/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/urgent\n"
    },
    {
      "commit": "0d6bd9953f739dad96d9a0de65383e479ab4e10d",
      "tree": "0f053972369289c5368f67af03a420b8c725828d",
      "parents": [
        "aa848233f740abbabfa7669daca0ab94aaa37bcd"
      ],
      "author": {
        "name": "Zoran Markovic",
        "email": "zoran.markovic@linaro.org",
        "time": "Fri May 17 11:24:05 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue May 28 13:45:19 2013 -0700"
      },
      "message": "timekeeping: Correct run-time detection of persistent_clock.\n\nSince commit 31ade30692dc9680bfc95700d794818fa3f754ac, timekeeping_init()\nchecks for presence of persistent clock by attempting to read a non-zero\ntime value. This is an issue on platforms where persistent_clock (instead\nis implemented as a free-running counter (instead of an RTC) starting\nfrom zero on each boot and running during suspend. Examples are some ARM\nplatforms (e.g. PandaBoard).\n\nAn attempt to read such a clock during timekeeping_init() may return zero\nvalue and falsely declare persistent clock as missing. Additionally, in\nthe above case suspend times may be accounted twice (once from\ntimekeeping_resume() and once from rtc_resume()), resulting in a gradual\ndrift of system time.\n\nThis patch does a run-time correction of the issue by doing the same check\nduring timekeeping_suspend().\n\nA better long-term solution would have to return error when trying to read\nnon-existing clock and zero when trying to read an uninitialized clock, but\nthat would require changing all persistent_clock implementations.\n\nThis patch addresses the immediate breakage, for now.\n\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Feng Tang \u003cfeng.tang@intel.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Zoran Markovic \u003czoran.markovic@linaro.org\u003e\n[jstultz: Tweaked commit message and subject]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "aa848233f740abbabfa7669daca0ab94aaa37bcd",
      "tree": "28f36ed9f8037bde52a030c115ae137d546d8d20",
      "parents": [
        "c7788792a5e7b0d5d7f96d0766b4cb6112d47d75"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Fri May 03 23:27:07 2013 +0200"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue May 28 13:45:19 2013 -0700"
      },
      "message": "ntp: Remove unused variable flags in __hardpps\n\nkernel/time/ntp.c: In function ‘__hardpps’:\nkernel/time/ntp.c:877: warning: unused variable ‘flags’\n\ncommit a076b2146fabb0894cae5e0189a8ba3f1502d737 (\"ntp: Remove ntp_lock,\nusing the timekeeping locks to protect ntp state\") removed its users,\nbut not the actual variable.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "2938d2757fc99c26aa678ce4eba910c4a77c3a55",
      "tree": "67a083021705f6cac75f6bea2fa83e975807c624",
      "parents": [
        "e4aa937ec75df0eea0bee03bffa3303ad36c986b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 28 09:33:01 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 28 09:33:01 2013 +0200"
      },
      "message": "tick: Cure broadcast false positive pending bit warning\n\ncommit 26517f3e (tick: Avoid programming the local cpu timer if\nbroadcast pending) added a warning if the cpu enters broadcast mode\nagain while the pending bit is still set. Meelis reported that the\nwarning triggers. There are two corner cases which have been not\nconsidered:\n\n1) cpuidle calls clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER)\n   twice. That can result in the following scenario\n\n   CPU0                    CPU1\n                           cpuidle_idle_call()\n                             clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER)\n                               set cpu in tick_broadcast_oneshot_mask\n\n   broadcast interrupt\n     event expired for cpu1\n     set pending bit\n\n                             acpi_idle_enter_simple()\n                               clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER)\n                                 WARN_ON(pending bit)\n\n  Move the WARN_ON into the section where we enter broadcast mode so\n  it wont provide false positives on the second call.\n\n2) safe_halt() enables interrupts, so a broadcast interrupt can be\n   delivered befor the broadcast mode is disabled. That sets the\n   pending bit for the CPU which receives the broadcast\n   interrupt. Though the interrupt is delivered right away from the\n   broadcast handler and leaves the pending bit stale.\n\n   Clear the pending bit for the current cpu in the broadcast handler.\n\nReported-and-tested-by: Meelis Roos \u003cmroos@linux.ee\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1305271841130.4220@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cc51bf6e6d8b03bd459818492e0bc3bef09dcd74",
      "tree": "1df4cddf95a656e829242dfb89f29cf22259ca70",
      "parents": [
        "37cae5e24981f4619372e6a29456d34e4cbdc5e2",
        "b4f711ee03d28f776fd2324fd0bd999cc428e4d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 15 14:05:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 15 14:05:17 2013 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer fixes from Thomas Gleixner:\n\n - Cure for not using zalloc in the first place, which leads to random\n   crashes with CPUMASK_OFF_STACK.\n\n - Revert a user space visible change which broke udev\n\n - Add a missing cpu_online early return introduced by the new full\n   dyntick conversions\n\n - Plug a long standing race in the timer wheel cpu hotplug code.\n   Sigh...\n\n - Cleanup NOHZ per cpu data on cpu down to prevent stale data on cpu\n   up.\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  time: Revert ALWAYS_USE_PERSISTENT_CLOCK compile time optimizaitons\n  timer: Don\u0027t reinitialize the cpu base lock during CPU_UP_PREPARE\n  tick: Don\u0027t invoke tick_nohz_stop_sched_tick() if the cpu is offline\n  tick: Cleanup NOHZ per cpu data on cpu down\n  tick: Use zalloc_cpumask_var for allocating offstack cpumasks\n"
    },
    {
      "commit": "b4f711ee03d28f776fd2324fd0bd999cc428e4d2",
      "tree": "8d8b659c2514648be0bfe51f0de65110da008f22",
      "parents": [
        "42a5cf46cd56f46267d2a9fcf2655f4078cd3042"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Apr 24 11:32:56 2013 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 14 20:54:06 2013 +0200"
      },
      "message": "time: Revert ALWAYS_USE_PERSISTENT_CLOCK compile time optimizaitons\n\nKay Sievers noted that the ALWAYS_USE_PERSISTENT_CLOCK config,\nwhich enables some minor compile time optimization to avoid\nuncessary code in mostly the suspend/resume path could cause\nproblems for userland.\n\nIn particular, the dependency for RTC_HCTOSYS on\n!ALWAYS_USE_PERSISTENT_CLOCK, which avoids setting the time\ntwice and simplifies suspend/resume, has the side effect\nof causing the /sys/class/rtc/rtcN/hctosys flag to always be\nzero, and this flag is commonly used by udev to setup the\n/dev/rtc symlink to /dev/rtcN, which can cause pain for\nolder applications.\n\nWhile the udev rules could use some work to be less fragile,\nbreaking userland should strongly be avoided. Additionally\nthe compile time optimizations are fairly minor, and the code\nbeing optimized is likely to be reworked in the future, so\nlets revert this change.\n\nReported-by: Kay Sievers \u003ckay@vrfy.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e #3.9\nCc: Feng Tang \u003cfeng.tang@intel.com\u003e\nCc: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nLink: http://lkml.kernel.org/r/1366828376-18124-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f7ea0fd639c2c48d3c61b6eec75362be290c6874",
      "tree": "9b9d22393afbaa246272d896d2641fb0c33887be",
      "parents": [
        "4b0c0f294f60abcdd20994a8341a95c8ac5eeb96"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 13 21:40:27 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 14 17:40:31 2013 +0200"
      },
      "message": "tick: Don\u0027t invoke tick_nohz_stop_sched_tick() if the cpu is offline\n\ncommit 5b39939a4 (nohz: Move ts-\u003eidle_calls incrementation into strict\nidle logic) moved code out of tick_nohz_stop_sched_tick() and missed\nto bail out when the cpu is offline. That\u0027s causing subsequent\nfailures as an offline CPU is supposed to die and not to fiddle with\nnohz magic.\n\nReturn false in can_stop_idle_tick() if the cpu is offline.\n\nReported-and-tested-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nReported-and-tested-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: x86@kernel.org\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1305132138160.2863@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4b0c0f294f60abcdd20994a8341a95c8ac5eeb96",
      "tree": "cdfb352f5cf66f5e5bb79fa9a975aabd891e1f62",
      "parents": [
        "fbd44a607a1a5019bc32c3615cead8c5ee8f89c9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 03 15:02:50 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 12 12:20:09 2013 +0200"
      },
      "message": "tick: Cleanup NOHZ per cpu data on cpu down\n\nPrarit reported a crash on CPU offline/online. The reason is that on\nCPU down the NOHZ related per cpu data of the dead cpu is not cleaned\nup. If at cpu online an interrupt happens before the per cpu tick\ndevice is registered the irq_enter() check potentially sees stale data\nand dereferences a NULL pointer.\n\nCleanup the data after the cpu is dead.\n\nReported-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nCc: Mike Galbraith \u003cbitbucket@online.de\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1305031451561.2886@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "534c97b0950b1967bca1c753aeaed32f5db40264",
      "tree": "9421d26e4f6d479d1bc32b036a731b065daab0fa",
      "parents": [
        "64049d1973c1735f543eb7a55653e291e108b0cb",
        "265f22a975c1e4cc3a4d1f94a3ec53ffbb6f5b9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 05 13:23:27 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 05 13:23:27 2013 -0700"
      },
      "message": "Merge branch \u0027timers-nohz-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull \u0027full dynticks\u0027 support from Ingo Molnar:\n \"This tree from Frederic Weisbecker adds a new, (exciting! :-) core\n  kernel feature to the timer and scheduler subsystems: \u0027full dynticks\u0027,\n  or CONFIG_NO_HZ_FULL\u003dy.\n\n  This feature extends the nohz variable-size timer tick feature from\n  idle to busy CPUs (running at most one task) as well, potentially\n  reducing the number of timer interrupts significantly.\n\n  This feature got motivated by real-time folks and the -rt tree, but\n  the general utility and motivation of full-dynticks runs wider than\n  that:\n\n   - HPC workloads get faster: CPUs running a single task should be able\n     to utilize a maximum amount of CPU power.  A periodic timer tick at\n     HZ\u003d1000 can cause a constant overhead of up to 1.0%.  This feature\n     removes that overhead - and speeds up the system by 0.5%-1.0% on\n     typical distro configs even on modern systems.\n\n   - Real-time workload latency reduction: CPUs running critical tasks\n     should experience as little jitter as possible.  The last remaining\n     source of kernel-related jitter was the periodic timer tick.\n\n   - A single task executing on a CPU is a pretty common situation,\n     especially with an increasing number of cores/CPUs, so this feature\n     helps desktop and mobile workloads as well.\n\n  The cost of the feature is mainly related to increased timer\n  reprogramming overhead when a CPU switches its tick period, and thus\n  slightly longer to-idle and from-idle latency.\n\n  Configuration-wise a third mode of operation is added to the existing\n  two NOHZ kconfig modes:\n\n   - CONFIG_HZ_PERIODIC: [formerly !CONFIG_NO_HZ], now explicitly named\n     as a config option.  This is the traditional Linux periodic tick\n     design: there\u0027s a HZ tick going on all the time, regardless of\n     whether a CPU is idle or not.\n\n   - CONFIG_NO_HZ_IDLE: [formerly CONFIG_NO_HZ\u003dy], this turns off the\n     periodic tick when a CPU enters idle mode.\n\n   - CONFIG_NO_HZ_FULL: this new mode, in addition to turning off the\n     tick when a CPU is idle, also slows the tick down to 1 Hz (one\n     timer interrupt per second) when only a single task is running on a\n     CPU.\n\n  The .config behavior is compatible: existing !CONFIG_NO_HZ and\n  CONFIG_NO_HZ\u003dy settings get translated to the new values, without the\n  user having to configure anything.  CONFIG_NO_HZ_FULL is turned off by\n  default.\n\n  This feature is based on a lot of infrastructure work that has been\n  steadily going upstream in the last 2-3 cycles: related RCU support\n  and non-periodic cputime support in particular is upstream already.\n\n  This tree adds the final pieces and activates the feature.  The pull\n  request is marked RFC because:\n\n   - it\u0027s marked 64-bit only at the moment - the 32-bit support patch is\n     small but did not get ready in time.\n\n   - it has a number of fresh commits that came in after the merge\n     window.  The overwhelming majority of commits are from before the\n     merge window, but still some aspects of the tree are fresh and so I\n     marked it RFC.\n\n   - it\u0027s a pretty wide-reaching feature with lots of effects - and\n     while the components have been in testing for some time, the full\n     combination is still not very widely used.  That it\u0027s default-off\n     should reduce its regression abilities and obviously there are no\n     known regressions with CONFIG_NO_HZ_FULL\u003dy enabled either.\n\n   - the feature is not completely idempotent: there is no 100%\n     equivalent replacement for a periodic scheduler/timer tick.  In\n     particular there\u0027s ongoing work to map out and reduce its effects\n     on scheduler load-balancing and statistics.  This should not impact\n     correctness though, there are no known regressions related to this\n     feature at this point.\n\n   - it\u0027s a pretty ambitious feature that with time will likely be\n     enabled by most Linux distros, and we\u0027d like you to make input on\n     its design/implementation, if you dislike some aspect we missed.\n     Without flaming us to crisp! :-)\n\n  Future plans:\n\n   - there\u0027s ongoing work to reduce 1Hz to 0Hz, to essentially shut off\n     the periodic tick altogether when there\u0027s a single busy task on a\n     CPU.  We\u0027d first like 1 Hz to be exposed more widely before we go\n     for the 0 Hz target though.\n\n   - once we reach 0 Hz we can remove the periodic tick assumption from\n     nr_running\u003e\u003d2 as well, by essentially interrupting busy tasks only\n     as frequently as the sched_latency constraints require us to do -\n     once every 4-40 msecs, depending on nr_running.\n\n  I am personally leaning towards biting the bullet and doing this in\n  v3.10, like the -rt tree this effort has been going on for too long -\n  but the final word is up to you as usual.\n\n  More technical details can be found in Documentation/timers/NO_HZ.txt\"\n\n* \u0027timers-nohz-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)\n  sched: Keep at least 1 tick per second for active dynticks tasks\n  rcu: Fix full dynticks\u0027 dependency on wide RCU nocb mode\n  nohz: Protect smp_processor_id() in tick_nohz_task_switch()\n  nohz_full: Add documentation.\n  cputime_nsecs: use math64.h for nsec resolution conversion helpers\n  nohz: Select VIRT_CPU_ACCOUNTING_GEN from full dynticks config\n  nohz: Reduce overhead under high-freq idling patterns\n  nohz: Remove full dynticks\u0027 superfluous dependency on RCU tree\n  nohz: Fix unavailable tick_stop tracepoint in dynticks idle\n  nohz: Add basic tracing\n  nohz: Select wide RCU nocb for full dynticks\n  nohz: Disable the tick when irq resume in full dynticks CPU\n  nohz: Re-evaluate the tick for the new task after a context switch\n  nohz: Prepare to stop the tick on irq exit\n  nohz: Implement full dynticks kick\n  nohz: Re-evaluate the tick from the scheduler IPI\n  sched: New helper to prevent from stopping the tick in full dynticks\n  sched: Kick full dynticks CPU that have more than one task enqueued.\n  perf: New helper to prevent full dynticks CPUs from stopping tick\n  perf: Kick full dynticks CPU if events rotation is needed\n  ...\n"
    },
    {
      "commit": "fbd44a607a1a5019bc32c3615cead8c5ee8f89c9",
      "tree": "eec6e7d971a266352d3f8a9d4e90323b4d6afdfb",
      "parents": [
        "ce857229e0c3adc211944a13a5579ef84fd7b4af"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 03 20:22:36 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun May 05 11:12:19 2013 +0200"
      },
      "message": "tick: Use zalloc_cpumask_var for allocating offstack cpumasks\n\ncommit b352bc1cbc (tick: Convert broadcast cpu bitmaps to\ncpumask_var_t) broke CONFIG_CPUMASK_OFFSTACK in a very subtle way.\n\nInstead of allocating the cpumasks with zalloc_cpumask_var it uses\nalloc_cpumask_var, so we can get random data there, which of course\nconfuses the logic completely and causes random failures.\n\nReported-and-tested-by: Dave Jones \u003cdavej@redhat.com\u003e\nReported-and-tested-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1305032015060.2990@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "265f22a975c1e4cc3a4d1f94a3ec53ffbb6f5b9f",
      "tree": "c5b7ec6b64fc31e879e730d2edf8e836cfaf7e9b",
      "parents": [
        "73c30828771acafb0a5e3a1c4cf75e6c5dc5f98a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri May 03 03:39:05 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 04 08:32:02 2013 +0200"
      },
      "message": "sched: Keep at least 1 tick per second for active dynticks tasks\n\nThe scheduler doesn\u0027t yet fully support environments\nwith a single task running without a periodic tick.\n\nIn order to ensure we still maintain the duties of scheduler_tick(),\nkeep at least 1 tick per second.\n\nThis makes sure that we keep the progression of various scheduler\naccounting and background maintainance even with a very low granularity.\nExamples include cpu load, sched average, CFS entity vruntime,\navenrun and events such as load balancing, amongst other details\nhandled in sched_class::task_tick().\n\nThis limitation will be removed in the future once we get\nthese individual items to work in full dynticks CPUs.\n\nSuggested-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "73c30828771acafb0a5e3a1c4cf75e6c5dc5f98a",
      "tree": "08cfdcede966b63ff30ccaf6490535c7cc24a441",
      "parents": [
        "c032862fba51a3ca504752d3a25186b324c5ce83"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri May 03 01:28:12 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 04 08:30:34 2013 +0200"
      },
      "message": "rcu: Fix full dynticks\u0027 dependency on wide RCU nocb mode\n\nCommit 0637e029392386e6996f5d6574aadccee8315efa\n(\"nohz: Select wide RCU nocb for full dynticks\") intended\nto force CONFIG_RCU_NOCB_CPU_ALL\u003dy when full dynticks is\nenabled.\n\nHowever this option is part of a choice menu and Kconfig\u0027s\n\"select\" instruction has no effect on such targets.\n\nFix this by using reverse dependencies on the targets we\ndon\u0027t want instead.\n\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c032862fba51a3ca504752d3a25186b324c5ce83",
      "tree": "955dc2ba4ab3df76ecc2bb780ee84aca04967e8d",
      "parents": [
        "fda76e074c7737fc57855dd17c762e50ed526052",
        "8700c95adb033843fc163d112b9d21d4fda78018"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 02 17:37:49 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 02 17:54:19 2013 +0200"
      },
      "message": "Merge commit \u00278700c95adb03\u0027 into timers/nohz\n\nThe full dynticks tree needs the latest RCU and sched\nupstream updates in order to fix some dependencies.\n\nMerge a common upstream merge point that has these\nupdates.\n\nConflicts:\n\tinclude/linux/perf_event.h\n\tkernel/rcutree.h\n\tkernel/rcutree_plugin.h\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "6296ace467c8640317414ba589b124323806f7ce",
      "tree": "0bff9b94a366b77ad622f20aa2c85ae435e35e77",
      "parents": [
        "a1412ec539e4025831777ef78a1ce427c97bf400"
      ],
      "author": {
        "name": "Li Zhong",
        "email": "zhong@linux.vnet.ibm.com",
        "time": "Sun Apr 28 11:25:58 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Apr 29 13:17:33 2013 +0200"
      },
      "message": "nohz: Protect smp_processor_id() in tick_nohz_task_switch()\n\nI saw following error when testing the latest nohz code on\nPower:\n\n[   85.295384] BUG: using smp_processor_id() in preemptible [00000000] code: rsyslogd/3493\n[   85.295396] caller is .tick_nohz_task_switch+0x1c/0xb8\n[   85.295402] Call Trace:\n[   85.295408] [c0000001fababab0] [c000000000012dc4] .show_stack+0x110/0x25c (unreliable)\n[   85.295420] [c0000001fababba0] [c0000000007c4b54] .dump_stack+0x20/0x30\n[   85.295430] [c0000001fababc10] [c00000000044eb74] .debug_smp_processor_id+0xf4/0x124\n[   85.295438] [c0000001fababca0] [c0000000000d7594] .tick_nohz_task_switch+0x1c/0xb8\n[   85.295447] [c0000001fababd20] [c0000000000b9748] .finish_task_switch+0x13c/0x160\n[   85.295455] [c0000001fababdb0] [c0000000000bbe50] .schedule_tail+0x50/0x124\n[   85.295463] [c0000001fababe30] [c000000000009dc8] .ret_from_fork+0x4/0x54\n\nThe code below moves the test into local_irq_save/restore\nsection to avoid the above complaint.\n\nSigned-off-by: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/r/1367119558.6391.34.camel@ThinkPad-T5421.cn.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a1412ec539e4025831777ef78a1ce427c97bf400",
      "tree": "765d79c10c08aa7dda0b319fea48cc0c17b95ad0",
      "parents": [
        "47aa8b6cbcb839efe2edaa5b50fee21df115d37b",
        "8c23b80ec7f1f5405f07bb56c2f8378800ecf401"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Apr 27 09:16:06 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Apr 27 09:16:06 2013 +0200"
      },
      "message": "Merge branch \u0027timers/nohz-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/nohz\n\nPull more full-dynticks updates from Frederic Weisbecker:\n\n * Get rid of the passive dependency on VIRT_CPU_ACCOUNTING_GEN (finally!)\n * Preparation patch to remove the dependency on CONFIG_64BITS\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c58b0df12a6b5c497637db0676effd00e1fbab13",
      "tree": "fcceffefccc7c2e33d87406a5e4531c4c613a5ec",
      "parents": [
        "65e709dc0c25dbd563861924815e9a3a93878b75"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 26 15:16:31 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 26 18:56:59 2013 +0200"
      },
      "message": "nohz: Select VIRT_CPU_ACCOUNTING_GEN from full dynticks config\n\nTurn the full dynticks passive dependency on VIRT_CPU_ACCOUNTING_GEN\nto an active one.\n\nThe full dynticks Kconfig is currently hidden behind the full dynticks\ncputime accounting, which is an awkward and counter-intuitive layout:\nthe user first has to select the dynticks cputime accounting in order\nto make the full dynticks feature to be visible.\n\nWe definetly want it the other way around. The usual way to perform\nthis kind of active dependency is use \"select\" on the depended target.\nNow we can\u0027t use the Kconfig \"select\" instruction when the target is\na \"choice\".\n\nSo this patch inspires on how the RCU subsystem Kconfig interact\nwith its dependencies on SMP and PREEMPT: we make sure that cputime\naccounting can\u0027t propose another option than VIRT_CPU_ACCOUNTING_GEN\nwhen NO_HZ_FULL is selected by using the right \"depends on\" instruction\nfor each cputime accounting choices.\n\nv2: Keep full dynticks cputime accounting available even without\nfull dynticks, as per Paul McKenney\u0027s suggestion.\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "47aa8b6cbcb839efe2edaa5b50fee21df115d37b",
      "tree": "b3c54811c75f40c11ba4344b8089156724d5e074",
      "parents": [
        "65e709dc0c25dbd563861924815e9a3a93878b75"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 26 10:05:59 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 26 10:13:42 2013 +0200"
      },
      "message": "nohz: Reduce overhead under high-freq idling patterns\n\nOne testbox of mine (Intel Nehalem, 16-way) uses MWAIT for its idle routine,\nwhich apparently can break out of its idle loop rather frequently, with\nhigh frequency.\n\nIn that case NO_HZ_FULL\u003dy kernels show high ksoftirqd overhead and constant\ncontext switching, because tick_nohz_stop_sched_tick() will, if\ndelta_jiffies \u003d\u003d 0, mis-identify this as a timer event - activating the\nTIMER_SOFTIRQ, which wakes up ksoftirqd.\n\nFix this by treating delta_jiffies \u003d\u003d 0 the same way we treat other short\nwakeups, delta_jiffies \u003d\u003d 1.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6f7a05d7018de222e40ca003721037a530979974",
      "tree": "351f0785c033f5c954c8ac67175ccc6524918586",
      "parents": [
        "6402c7dc2a19c19bd8cdc7d80878b850da418942"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 25 11:45:53 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 25 13:57:04 2013 +0200"
      },
      "message": "clockevents: Set dummy handler on CPU_DEAD shutdown\n\nVitaliy reported that a per cpu HPET timer interrupt crashes the\nsystem during hibernation. What happens is that the per cpu HPET timer\ngets shut down when the nonboot cpus are stopped. When the nonboot\ncpus are onlined again the HPET code sets up the MSI interrupt which\nfires before the clock event device is registered. The event handler\nis still set to hrtimer_interrupt, which then crashes the machine due\nto highres mode not being active.\n\nSee http://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d700333\n\nThere is no real good way to avoid that in the HPET code. The HPET\ncode alrady has a mechanism to detect spurious interrupts when event\nhandler \u003d\u003d NULL for a similar reason.\n\nWe can handle that in the clockevent/tick layer and replace the\nprevious functional handler with a dummy handler like we do in\ntick_setup_new_device().\n\nThe original clockevents code did this in clockevents_exchange_device(),\nbut that got removed by commit 7c1e76897 (clockevents: prevent\nclockevent event_handler ending up handler_noop) which forgot to fix\nit up in tick_shutdown(). Same issue with the broadcast device.\n\nReported-by: Vitaliy Fillipov \u003cvitalif@yourcmc.ru\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: stable@vger.kernel.org\nCc: 700333@bugs.debian.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6402c7dc2a19c19bd8cdc7d80878b850da418942",
      "tree": "cda2ea2df40442e2aa016119f3548cc504127ea8",
      "parents": [
        "77c675ba18836802f6b73d2d773481d06ebc0f04",
        "60d509fa6a9c4653a86ad830e4c4b30360b23f0e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 24 20:33:46 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 24 20:33:54 2013 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/core\nReason: Get upstream fixes before adding conflicting code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "65e709dc0c25dbd563861924815e9a3a93878b75",
      "tree": "12941c82a00de7f804d473018395a8d90c047443",
      "parents": [
        "2c82d1be4d9d70b5e3da6e179bb033bd53e95299"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 20 17:35:50 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 24 16:17:36 2013 +0200"
      },
      "message": "nohz: Remove full dynticks\u0027 superfluous dependency on RCU tree\n\nRemove the dependency on (TREE_RCU || TREE_PREEMPT_RCU). The full\ndynticks option already depends on SMP which implies\n(whatever flavour of) RCU tree config anyway.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cb41a29076e9f95547da46578d5c8804f7b8845d",
      "tree": "ef6bcfbcd99ddbe366f1de94b6aa75da7c6ea55f",
      "parents": [
        "0637e029392386e6996f5d6574aadccee8315efa"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 20 17:35:50 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 23:03:09 2013 +0200"
      },
      "message": "nohz: Add basic tracing\n\nIt\u0027s not obvious to find out why the full dynticks subsystem\ndoesn\u0027t always stop the tick: whether this is due to kthreads,\nposix timers, perf events, etc...\n\nThese new tracepoints are here to help the user diagnose\nthe failures and test this feature.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0637e029392386e6996f5d6574aadccee8315efa",
      "tree": "0e09015cfb12647ad8a9895f83209ebbce11ceb0",
      "parents": [
        "67826eae8c16dbf00c262be6ec15021bb42f69c4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 21:15:59 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 23:02:26 2013 +0200"
      },
      "message": "nohz: Select wide RCU nocb for full dynticks\n\nIt makes testing and implementation much easier as we\nknow in advance that all CPUs are RCU nocbs.\n\nAlso this prepares to remove the dynamic check for\nnohz_full\u003d boot mask to be a subset of rcu_nocbs\u003d\n\nEventually this should also help removing the requirement\nfor the boot CPU to be outside the full dynticks range.\n\nSuggested-by: Christoph Lameter \u003ccl@linux.com\u003e\nSuggested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "99e5ada9407cc19d7c4c05ce2165f20dc46fc093",
      "tree": "6d39bf6095e18b82f78b3cc405d49fbb8836b299",
      "parents": [
        "5811d9963e26146898a24b535b301f7654257f8a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 20 17:11:50 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 20:29:07 2013 +0200"
      },
      "message": "nohz: Re-evaluate the tick for the new task after a context switch\n\nWhen a task is scheduled in, it may have some properties\nof its own that could make the CPU reconsider the need for\nthe tick: posix cpu timers, perf events, ...\n\nSo notify the full dynticks subsystem when a task gets\nscheduled in and re-check the tick dependency at this\nstage. This is done through a self IPI to avoid messing\nup with any current lock scenario.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5811d9963e26146898a24b535b301f7654257f8a",
      "tree": "1aba8d997214fc1979b049ab23d6430cbd774aee",
      "parents": [
        "9014c45d9e2dbb935498a5f1d106e220e8624643"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 20 16:40:31 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 20:29:05 2013 +0200"
      },
      "message": "nohz: Prepare to stop the tick on irq exit\n\nInterrupt exit is a natural place to stop the tick: it happens\nafter all events happening before and during the irq which\nare liable to update the dependency on the tick occured. Also\nit makes sure that any check on tick dependency is well ordered\nagainst dynticks kick IPIs.\n\nBring in the infrastructure that performs the tick dependency\nchecks on irq exit and shut it down if these checks show that we\ncan do it safely.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9014c45d9e2dbb935498a5f1d106e220e8624643",
      "tree": "2db8ead01d05d5a2a85904b251b2966b2c56dfca",
      "parents": [
        "ff442c51f6543378cf23107c75b7949dc64a9119"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 20 15:43:57 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 20:28:04 2013 +0200"
      },
      "message": "nohz: Implement full dynticks kick\n\nImplement the full dynticks kick that is performed from\nIPIs sent by various subsystems (scheduler, posix timers, ...)\nwhen they want to notify about a new event that may\nreconsider the dependency on the tick.\n\nMost of the time, such an event end up restarting the tick.\n\n(Part of the design with subsystems providing *_can_stop_tick()\nhelpers suggested by Peter Zijlstra a while ago).\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "77c675ba18836802f6b73d2d773481d06ebc0f04",
      "tree": "fbf1afe074218e110fb90cdbc108e78a3c89b008",
      "parents": [
        "d2054b2c11682495fca41e9d4092e654df63b517"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 22 09:37:04 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 22 20:17:51 2013 +0200"
      },
      "message": "timekeeping: Update tk-\u003ecycle_last in resume\n\ncommit 7ec98e15aa (timekeeping: Delay update of clock-\u003ecycle_last)\nforgot to update tk-\u003ecycle_last in the resume path. This results in a\nstale value versus clock-\u003ecycle_last and prevents resume in the worst\ncase.\n\nReported-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nReported-and-tested-by: Borislav Petkov \u003cbp@alien8.de\u003e\nAcked-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Linux-pm mailing list \u003clinux-pm@lists.linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1304211648150.21884@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ff442c51f6543378cf23107c75b7949dc64a9119",
      "tree": "7c3cf3031f0bb0b8f0c9e8a170d17922b3bd1926",
      "parents": [
        "ce831b38ca4920739a7a5b0c73b921da41f03718"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 20 15:27:08 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 20:16:04 2013 +0200"
      },
      "message": "nohz: Re-evaluate the tick from the scheduler IPI\n\nThe scheduler IPI is used by the scheduler to kick\nfull dynticks CPUs asynchronously when more than one\ntask are running or when a new timer list timer is\nenqueued. This way the destination CPU can decide\nto restart the tick to handle this new situation.\n\nNow let\u0027s call that kick in the scheduler IPI.\n\n(Reusing the scheduler IPI rather than implementing\na new IPI was suggested by Peter Zijlstra a while ago)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a166fcf04d848ffa09f0e831805553089f190cf4",
      "tree": "1fc97c397238692375f1ebf7a39746188f6424db",
      "parents": [
        "2727872dfe5d273f313f8a0c0dd0fcc58e96cde7",
        "555347f6c080d2f25265f981c963605b4dd3610d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Apr 21 11:05:47 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Apr 21 11:05:47 2013 +0200"
      },
      "message": "Merge branch \u0027timers/nohz-posix-timers-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/nohz\n\nPull posix cpu timers handling on full dynticks from Frederic Weisbecker.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f98823ac758ba1aa77c6e3f8ad4ef3ad84ee0a7c",
      "tree": "069ceb12d981f33d997afd214c2082a6685a2fd0",
      "parents": [
        "d1e43fa5f8bb25f83a86a29f11fcfb57ed4d7566"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 27 01:17:22 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 19 13:54:16 2013 +0200"
      },
      "message": "nohz: New option to default all CPUs in full dynticks range\n\nProvide a new kernel config that defaults all CPUs to be part\nof the full dynticks range, except the boot one for timekeeping.\n\nThis default setting is overriden by the nohz_full\u003d boot option\nif passed by the user.\n\nThis is helpful for those who don\u0027t need a finegrained range\nof full dynticks CPU and also for automated testing.\n\nSuggested-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d1e43fa5f8bb25f83a86a29f11fcfb57ed4d7566",
      "tree": "9eff00255c1061248b6aef2c8341ea527610150c",
      "parents": [
        "0453b435df0d69dd0d8c42eb9b3015aaf0d8a032"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Mar 26 23:47:24 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 19 13:54:04 2013 +0200"
      },
      "message": "nohz: Ensure full dynticks CPUs are RCU nocbs\n\nWe need full dynticks CPU to also be RCU nocb so\nthat we don\u0027t have to keep the tick to handle RCU\ncallbacks.\n\nMake sure the range passed to nohz_full\u003d boot\nparameter is a subset of rcu_nocbs\u003d\n\nThe CPUs that fail to meet this requirement will be\nexcluded from the nohz_full range. This is checked\nearly in boot time, before any CPU has the opportunity\nto stop its tick.\n\nSuggested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0453b435df0d69dd0d8c42eb9b3015aaf0d8a032",
      "tree": "a941e04d55e74cc40285834a37175a5be41c12db",
      "parents": [
        "65d798f0f9339ae2c4ebe9480e3260b33382a584"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 27 02:18:34 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 19 13:53:14 2013 +0200"
      },
      "message": "nohz: Force boot CPU outside full dynticks range\n\nThe timekeeping job must be able to run early on boot\nbecause there may be some pre-SMP (and thus pre-initcalls )\ncomponents that rely on it. The IO-APIC is one such users\nas it tests the timer health by watching jiffies progression.\n\nGiven that it happens before we know the initial online\nset, we can\u0027t rely on it to select a timekeeper. We need\none before SMP time otherwise we simply crash on boot.\n\nTo fix this and keep things simple for now, force the boot CPU\noutside of the full dynticks range in any case and do this early\non kernel parameter parsing time.\n\nWe might want a trickier solution later, expecially for aSMP\narchitectures that need to assign housekeeping tasks to arbitrary\nlow power CPUs.\n\nBut it\u0027s still first pass KISS time for now.\n\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "76c24fb054b52b34af4dcde589cbb9e2b98fc74c",
      "tree": "bbce968d4f057dce3b028ca5c5b894e68255db02",
      "parents": [
        "65d798f0f9339ae2c4ebe9480e3260b33382a584"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Apr 18 00:15:40 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Apr 18 18:53:34 2013 +0200"
      },
      "message": "nohz: New APIs to re-evaluate the tick on full dynticks CPUs\n\nProvide two new helpers in order to notify the full dynticks CPUs about\nsome internal system changes against which they may reconsider the state\nof their tick. Some practical examples include: posix cpu timers, perf tick\nand sched clock tick.\n\nFor now the notifying handler, implemented through IPIs, is a stub\nthat will be implemented when we get the tick stop/restart infrastructure\nin.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c038c1c44179c80da6201f91ef354e48d5689617",
      "tree": "a1ee34eadd567393cbdb6632ad7b8abb4a2fc4ea",
      "parents": [
        "b3956a896ea57f25cacd74708b8fab611543a81d"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Wed Apr 17 10:26:06 2013 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 17 21:30:56 2013 +0200"
      },
      "message": "clockevents: Switch into oneshot mode even if broadcast registered late\n\ntick_oneshot_notify() is used to notify a particular CPU to try\nto switch into oneshot mode after a oneshot capable tick device\nis registered and tick_clock_notify() is used to notify all CPUs\nto try to switch into oneshot mode after a high res clocksource\nis registered. There is one caveat; if the tick devices suffer\nfrom FEAT_C3_STOP we don\u0027t try to switch into oneshot mode unless\nwe have a oneshot capable broadcast device already registered.\n\nIf the broadcast device is registered after the tick devices that\nhave FEAT_C3_STOP we\u0027ll never try to switch into oneshot mode\nagain, causing us to be stuck in periodic mode forever. Avoid\nthis scenario by calling tick_clock_notify() after we register\nthe broadcast device so that we try to switch into oneshot mode\non all CPUs one more time.\n\n[ tglx: Adopted to timers/core and added a comment ]\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nLink: http://lkml.kernel.org/r/1366219566-29783-1-git-send-email-sboyd@codeaurora.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b3956a896ea57f25cacd74708b8fab611543a81d",
      "tree": "b80f2805317d0faa493086d89abaaccfe6143a69",
      "parents": [
        "60cf7ea849e77c8782dee147cfb8c38d1984236e"
      ],
      "author": {
        "name": "Nathan Zimmer",
        "email": "nzimmer@sgi.com",
        "time": "Tue Mar 26 19:56:30 2013 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 17 20:51:02 2013 +0200"
      },
      "message": "timer_list: Convert timer list to be a proper seq_file\n\nWhen running with 4096 cores attemping to read /proc/timer_list will fail\nwith an ENOMEM condition.  On a sufficantly large systems the total amount\nof data is more then 4mb, so it won\u0027t fit into a single buffer.  The\nfailure can also occur on smaller systems when memory fragmentation is\nhigh as reported by Dave Jones.\n\nConvert /proc/timer_list to a proper seq_file with its own iterator.  This\nis a little more complex given that we have to make two passes with two\nseparate headers.\n\nsysrq_timer_list_show also needed to be updated to reflect the fact that\nnow timer_list_show only does one cpu at at time.\n\nSigned-off-by: Nathan Zimmer \u003cnzimmer@sgi.com\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nLink: http://lkml.kernel.org/r/1364345790-14577-3-git-send-email-nzimmer@sgi.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "60cf7ea849e77c8782dee147cfb8c38d1984236e",
      "tree": "3cdec169578694ff849cfdce09cbb99d7c4664a5",
      "parents": [
        "57b8015e07a70301e9ec9f324db1a8b73b5a1e2b"
      ],
      "author": {
        "name": "Nathan Zimmer",
        "email": "nzimmer@sgi.com",
        "time": "Tue Mar 26 19:56:29 2013 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 17 20:51:02 2013 +0200"
      },
      "message": "timer_list: Split timer_list_show_tickdevices\n\nSplit timer_list_show_tickdevices() into the header printout and pull\nthe rest up to timer_list_show. This is a preparatory patch for\nconverting timer_list to a proper seqfile with its own iterator\n\nSigned-off-by: Nathan Zimmer \u003cnzimmer@sgi.com\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nLink: http://lkml.kernel.org/r/1364345790-14577-2-git-send-email-nzimmer@sgi.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fae30dd6698ecaa93cb50213266c224bc550c32c",
      "tree": "538a66c806cdea0dcc8a38f6a150f34d967f79e8",
      "parents": [
        "5b533f4ff5b6d8f2442f2ac82ca1530ff3f55267"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 13 17:04:04 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 15 20:18:04 2013 +0200"
      },
      "message": "nohz: Improve a bit the full dynticks Kconfig documentation\n\nRemove the \"single task\" statement from CONFIG_NO_HZ_FULL\ntitle. The constraint can be invalidated when tasks from\nother sched classes than SCHED_FAIR are running. Moreover\nit\u0027s possible that hrtick join the party in the future.\n\nAlso add a line about the dependency on SMP.\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5b533f4ff5b6d8f2442f2ac82ca1530ff3f55267",
      "tree": "e408d3bb377e970cf476da37712fcb5bd3aaab13",
      "parents": [
        "c5bfece2d6129131b4ade985e63bc35ddf5868d4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 13 16:53:35 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 15 20:11:26 2013 +0200"
      },
      "message": "nohz: Align periodic tick Kconfig with other choices\u0027 naming convention\n\nRename CONFIG_PERIODIC_HZ to CONFIG_HZ_PERIODIC in\norder to stay consistent with other tick implementation\nentries:\n\n\tCONFIG_HZ_PERIODIC\n\tCONFIG_NO_HZ_IDLE\n\tCONFIG_NO_HZ_FULL\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c5bfece2d6129131b4ade985e63bc35ddf5868d4",
      "tree": "65b7f1c3e9ad5dd45375ccdc1dab187ba968cf59",
      "parents": [
        "0644ca5c774f1a7033bfc83c7ed0660f74f28b56"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 12 16:45:34 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 15 19:58:17 2013 +0200"
      },
      "message": "nohz: Switch from \"extended nohz\" to \"full nohz\" based naming\n\n\"Extended nohz\" was used as a naming base for the full dynticks\nAPI and Kconfig symbols. It reflects the fact the system tries\nto stop the tick in more places than just idle.\n\nBut that \"extended\" name is a bit opaque and vague. Rename it to\n\"full\" makes it clearer what the system tries to do under this\nconfig: try to shutdown the tick anytime it can. The various\nconstraints that prevent that to happen shouldn\u0027t be considered\nas fundamental properties of this feature but rather technical\nissues that may be solved in the future.\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0644ca5c774f1a7033bfc83c7ed0660f74f28b56",
      "tree": "ddb1cad5a3d218682f8a03268d9a67949fbeb0f4",
      "parents": [
        "1034fc2f41aaf32f782a9362178f9a236ac5a50a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 12 16:40:12 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 15 19:39:40 2013 +0200"
      },
      "message": "nohz: Fix old dynticks idle Kconfig backward compatibility\n\nIn order to enforce backward compatibility with older\nconfig files, we want the new dynticks-idle Kconfig entry\nto default its value to the one of the old CONFIG_NO_HZ symbol\nif present.\n\nNamely we want:\n\n\tconfig NO_HZ # old obsolete dynticks idle symbol\n\t\tbool\n\n\tconfig NO_HZ_IDLE # new dynticks idle symbol\n\t\tdefault NO_HZ\n\nHowever Kconfig prevents this to work if the old symbol\nis not visible. And this is currently the case because\nNO_HZ lacks a title in order to show it in make oldconfig\nand alike.\n\nTo fix this, bring a minimal title and help text to the\nobsolete Kconfig entry that explains its purpose. This\nmakes the \"defaulting\" to work.\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4e8f8b34b92b6514cc070aeb94d317cadd5071d7",
      "tree": "ecbef4b23bff0198081a605b88b39aee205d1923",
      "parents": [
        "51fd36f3fad8447c487137ae26b9d0b3ce77bb25"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Apr 10 12:41:49 2013 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 11 10:19:44 2013 +0200"
      },
      "message": "timekeeping: Make sure to notify hrtimers when TAI offset changes\n\nNow that we have CLOCK_TAI timers, make sure we notify hrtimer\ncode when TAI offset is changed.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLink: http://lkml.kernel.org/r/1365622909-953-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ca4523cda429712fc135c5db50920d90eb776a6c",
      "tree": "6a8c260a24bcd5a188d25790984d0aa5a3fb3428",
      "parents": [
        "48cdc135d4840aab8efd2fc3bacb5d7dfd94a9c8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:40 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:32 2013 -0700"
      },
      "message": "timekeeping: Shorten seq_count region\n\nShorten the seqcount write hold region to the actual update of the\ntimekeeper and the related data (e.g vsyscall).\n\nOn a contemporary x86 system this reduces the maximum latencies on\nPreempt-RT from 8us to 4us on the non-timekeeping cores.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "48cdc135d4840aab8efd2fc3bacb5d7dfd94a9c8",
      "tree": "4ef4c34ff6312bb4dd9d381d3ba17c2aa5c7cfc8",
      "parents": [
        "7ec98e15aa049b7a2ca73485f31cf4f90c34e2dd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:40 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:32 2013 -0700"
      },
      "message": "timekeeping: Implement a shadow timekeeper\n\nUse the shadow timekeeper to do the update_wall_time() adjustments and\nthen copy it over to the real timekeeper.\n\nKeep the shadow timekeeper in sync when updating stuff outside of\nupdate_wall_time().\n\nThis allows us to limit the timekeeper_seq hold time to the update of\nthe real timekeeper and the vsyscall data in the next patch.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "7ec98e15aa049b7a2ca73485f31cf4f90c34e2dd",
      "tree": "9cfe66164c13f1c2413fb2c8335971918e43d6c9",
      "parents": [
        "14a3b6abe98c8f53a13522610c257accef7321df"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:39 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:31 2013 -0700"
      },
      "message": "timekeeping: Delay update of clock-\u003ecycle_last\n\nFor calculating the new timekeeper values store the new cycle_last\nvalue in the timekeeper and update the clock-\u003ecycle_last just when we\nactually update the new values.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "14a3b6abe98c8f53a13522610c257accef7321df",
      "tree": "a14383c4c852d5d2268607443a61bfa437cd9bfd",
      "parents": [
        "a076b2146fabb0894cae5e0189a8ba3f1502d737"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:38 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:31 2013 -0700"
      },
      "message": "timekeeping: Store cycle_last value in timekeeper struct as well\n\nFor implementing a shadow timekeeper and a split calculation/update\nregion we need to store the cycle_last value in the timekeeper and\nupdate the value in the clocksource struct only in the update region.\n\nAdd the extra storage to the timekeeper.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "a076b2146fabb0894cae5e0189a8ba3f1502d737",
      "tree": "5cefb4526bf90d9ffb775596b38cc6c0b602f907",
      "parents": [
        "0b5154fb9040cca94e7d9893384c0e78bfe2d296"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 11:52:03 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:17 2013 -0700"
      },
      "message": "ntp: Remove ntp_lock, using the timekeeping locks to protect ntp state\n\nIn order to properly handle the NTP state in future changes to the\ntimekeeping lock management, this patch moves the management of\nall of the ntp state under the timekeeping locks.\n\nThis allows us to remove the ntp_lock.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "0b5154fb9040cca94e7d9893384c0e78bfe2d296",
      "tree": "56f00530b6f99159d478ed48771a2fd97b26c5f1",
      "parents": [
        "06c017fdd4dc48451a29ac37fc1db4a3f86b7f40"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 14:20:03 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:16 2013 -0700"
      },
      "message": "timekeeping: Simplify tai updating from do_adjtimex\n\nSince we are taking the timekeeping locks, just go ahead\nand update any tai change directly, rather then dropping\nthe lock and calling a function that will just take it again.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "06c017fdd4dc48451a29ac37fc1db4a3f86b7f40",
      "tree": "3629e95c779bbc388aab162ddaf3d8c37a8b8b48",
      "parents": [
        "cef90377fab488bd1f959efda178fb83250cf61d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 11:37:28 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:16 2013 -0700"
      },
      "message": "timekeeping: Hold timekeepering locks in do_adjtimex and hardpps\n\nIn moving the NTP state to be protected by the timekeeping locks,\nbe sure to acquire the timekeeping locks prior to calling\nntp functions.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "cef90377fab488bd1f959efda178fb83250cf61d",
      "tree": "7ac4afc365ef3d35b339ac796d7ec921df618a58",
      "parents": [
        "87ace39b7168bd9d352c1c52b6f5d88eb1876cf8"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 15:04:13 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:15 2013 -0700"
      },
      "message": "timekeeping: Move ADJ_SETOFFSET to top level do_adjtimex()\n\nSince ADJ_SETOFFSET adjusts the timekeeping state, process\nit as part of the top level do_adjtimex() function in\ntimekeeping.c.\n\nThis avoids deadlocks that could occur once we change the\nntp locking rules.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "87ace39b7168bd9d352c1c52b6f5d88eb1876cf8",
      "tree": "57f19306b0f2e9b99430f92a4ba9a7ac9454e2e0",
      "parents": [
        "e4085693f629ded8ac8c35b5cdd324d20242990b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 12:28:15 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:15 2013 -0700"
      },
      "message": "ntp: Rework do_adjtimex to take timespec and tai arguments\n\nIn order to change the locking rules, we need to provide\nthe timespec and tai values rather then having the ntp\nlogic acquire these values itself.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "e4085693f629ded8ac8c35b5cdd324d20242990b",
      "tree": "757707d15089ed0386b7f25bfa019cdfe9b44024",
      "parents": [
        "aa6f9c595d857328e5d815e5b94c0e7cd31a6b59"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 12:08:52 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:14 2013 -0700"
      },
      "message": "ntp: Move timex validation to timekeeping do_adjtimex call.\n\nMove logic that does not need the ntp state to be done\nin the timekeeping do_adjtimex() call.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "aa6f9c595d857328e5d815e5b94c0e7cd31a6b59",
      "tree": "bee031555304488a68e9f4dc76944b8924f11e7b",
      "parents": [
        "ad460967a2953496ad76b1c22091ea99f21b4e86"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 11:31:29 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:14 2013 -0700"
      },
      "message": "ntp: Move do_adjtimex() and hardpps() functions to timekeeping.c\n\nIn preparation for changing the ntp locking rules, move\ndo_adjtimex and hardpps accessor functions to timekeeping.c,\nbut keep the code logic in ntp.c.\n\nThis patch also introduces a ntp_internal.h file so timekeeping\nspecific interfaces of ntp.c can be more limitedly shared with\ntimekeeping.c.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ad460967a2953496ad76b1c22091ea99f21b4e86",
      "tree": "fbc2fc6d9e6e0abd6ff11e00a24826f91b2bc015",
      "parents": [
        "0ed2aef9b3bffe598045b62a31a50d912eee92d8"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 11:59:04 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:14 2013 -0700"
      },
      "message": "ntp: Split out timex validation from do_adjtimex\n\nSplit out the timex validation done in do_adjtimex into a separate\nfunction. This will help simplify logic in following patches.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "1034fc2f41aaf32f782a9362178f9a236ac5a50a",
      "tree": "0c6a5e0e6cbd9c02f0c1049ba0d1292a8ac7bb3e",
      "parents": [
        "3ca277e41914ab344214ed50a41c14c48ae973f3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Mar 26 15:04:50 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 03 14:00:48 2013 +0200"
      },
      "message": "nohz: Print final full dynticks CPUs range on boot\n\nGiven that we apply a few restrictions on the full dynticks\nCPUs range (keep an online timekeeper oustide the range,\nthen in the future have the range be an RCU nocb CPUs subset),\nlet\u0027s print the final resulting range of full dynticks CPUs to\nthe user so that he knows what\u0027s really going to run.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3ca277e41914ab344214ed50a41c14c48ae973f3",
      "tree": "f8111dd8771c7be6d22e259f294b3117b6d1cb25",
      "parents": [
        "3451d0243c3cdfd729b36f9684a14659d4895ca3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 10 23:21:01 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 03 14:00:46 2013 +0200"
      },
      "message": "nohz: Pack nohz Kconfig option in a menu of choices\n\nNow the user has the choice between three implementations of\nthe timer tick:\n\n* Static periodic tick\n* Idle dynticks\n* Full dynticks\n\nAt least for now, these are mutually exclusive choices, so\nlet\u0027s rely on the proper Kconfig feature to display these\nto the user.\n\nA new entry CONFIG_NO_HZ_IDLE is created and the old\nCONFIG_NO_HZ maps to it for config file backward compatibility.\nThe old name was too general now that we have more\ngranular dynticks implementations.\n\nWhile at it, add some explanation to help the user on\nhis decision between the 3 entries.\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3451d0243c3cdfd729b36f9684a14659d4895ca3",
      "tree": "5307f4492708ae089dd0a6d81b54f9e606707ca8",
      "parents": [
        "ab71d36ddb9e60d4ddb28a187718815d38c3c666"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 10 23:21:01 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 03 13:56:03 2013 +0200"
      },
      "message": "nohz: Rename CONFIG_NO_HZ to CONFIG_NO_HZ_COMMON\n\nWe are planning to convert the dynticks Kconfig options layout\ninto a choice menu. The user must be able to easily pick\nany of the following implementations: constant periodic tick,\nidle dynticks, full dynticks.\n\nAs this implies a mutual exclusion, the two dynticks implementions\nneed to converge on the selection of a common Kconfig option in order\nto ease the sharing of a common infrastructure.\n\nIt would thus seem pretty natural to reuse CONFIG_NO_HZ to\nthat end. It already implements all the idle dynticks code\nand the full dynticks depends on all that code for now.\nSo ideally the choice menu would propose CONFIG_NO_HZ_IDLE and\nCONFIG_NO_HZ_EXTENDED then both would select CONFIG_NO_HZ.\n\nOn the other hand we want to stay backward compatible: if\nCONFIG_NO_HZ is set in an older config file, we want to\nenable CONFIG_NO_HZ_IDLE by default.\n\nBut we can\u0027t afford both at the same time or we run into\na circular dependency:\n\n1) CONFIG_NO_HZ_IDLE and CONFIG_NO_HZ_EXTENDED both select\n   CONFIG_NO_HZ\n2) If CONFIG_NO_HZ is set, we default to CONFIG_NO_HZ_IDLE\n\nWe might be able to support that from Kconfig/Kbuild but it\nmay not be wise to introduce such a confusing behaviour.\n\nSo to solve this, create a new CONFIG_NO_HZ_COMMON option\nwhich gathers the common code between idle and full dynticks\n(that common code for now is simply the idle dynticks code)\nand select it from their referring Kconfig.\n\nThen we\u0027ll later create CONFIG_NO_HZ_IDLE and map CONFIG_NO_HZ\nto it for backward compatibility.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0ed2aef9b3bffe598045b62a31a50d912eee92d8",
      "tree": "d7dda12955c838f531727d2775d09c4e04bdf066",
      "parents": [
        "cfea7d7e452f57682a0bb55a55e9f79c569558c2",
        "8011657b9e63cb2e914b9a0f75233b910c1854cb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 03 12:27:29 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 03 12:27:29 2013 +0200"
      },
      "message": "Merge branch \u0027fortglx/3.10/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n"
    },
    {
      "commit": "ab71d36ddb9e60d4ddb28a187718815d38c3c666",
      "tree": "3456661db28440093aa4b6595aec2b89557aebaf",
      "parents": [
        "1c20091e77fc5a9b7d7d905176443b4822a23cdb"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 10 23:21:01 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Apr 02 20:30:43 2013 +0200"
      },
      "message": "nohz: Unhide full dynticks feature from its dependencies\n\nThe full dynticks feature only shows up when all its\nKconfig dependencies are met (RCU nocbs, RCU user mode, ...)\n\nThis is far from being user friendly as those who want to\nactivate this feature need to look into the Kconfig files\nand iterate through each dependency then activate these\nby hand in order to show and select the full dynticks\nKconfig option.\n\nSo process the other way around: show up the Kconfig option\nif the minimal low level dependencies are met and activate\nthe high level ones when we enable the feature.\n\nNote there is one exception in the picture:\nCONFIG_VIRT_CPU_ACCOUNTING_GEN is part of a Kconfig choice\nmenu and it appears we can\u0027t select it from another Kconfig\nselection when it\u0027s under such layout. So for now this\nparticular item stays as a passive dependency.\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dd5d70e869f960bde6376f4447fff59f16186cf5",
      "tree": "a19b33175769a9f9d03d27338577254d222baab1",
      "parents": [
        "9a7a71b1d0968fc2bd602b7481cde1d4872e01ff"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Mar 25 12:24:24 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Mar 25 12:24:24 2013 -0700"
      },
      "message": "timekeeping: __timekeeping_set_tai_offset can be static\n\nYet again, the kbuild test robot saves the day, noting\nI left out defining __timekeeping_set_tai_offset as\nstatic. It even sent me this patch.\n\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "cfea7d7e452f57682a0bb55a55e9f79c569558c2",
      "tree": "8c8173937d3ce02b6af622b30843433f79e3a4ea",
      "parents": [
        "8ffbc7d9ff0064ce000788272a609fa79d06ead1"
      ],
      "author": {
        "name": "Rado Vrbovsky",
        "email": "rvrbovsk@redhat.com",
        "time": "Fri Feb 08 12:37:30 2013 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 25 10:46:59 2013 +0100"
      },
      "message": "tick: Change log level of NOHZ: local_softirq_pending message\n\nThe \"NOHZ: local_softirq_pending\" message is a largely informational\nmessage.  This makes extra work for customers that have a policy of\ninvestigating all kernel log messages logged at \u003c\u003d KERN_ERR log level.\nThis patch sets the message to a different log level.\n\n[ tglx: Use pr_warn() ]\n\nSigned-off-by: Rado Vrbovsky \u003crvrbovsk@redhat.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nLink: http://lkml.kernel.org/r/2037057938.893524.1360345050772.JavaMail.root@redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "9a7a71b1d0968fc2bd602b7481cde1d4872e01ff",
      "tree": "18954e171dcf260a7750ad6be2f70bac7ef63a78",
      "parents": [
        "7e40672d930b369c1984457233ec5557aa53bfb8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:38 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:20:01 2013 -0700"
      },
      "message": "timekeeping: Split timekeeper_lock into lock and seqcount\n\nWe want to shorten the seqcount write hold time. So split the seqlock\ninto a lock and a seqcount.\n\nOpen code the seqwrite_lock in the places which matter and drop the\nsequence counter update where it\u0027s pointless.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[jstultz: Merge fixups from CLOCK_TAI collisions]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "7e40672d930b369c1984457233ec5557aa53bfb8",
      "tree": "7e87231ebdf0898f939e8b2b88ca48d1e4309eab",
      "parents": [
        "eb93e4d93093615c60cb7dd3dcb24e46bd7d62d4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:37 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:20:00 2013 -0700"
      },
      "message": "timekeeping: Move lock out of timekeeper struct\n\nMake the lock a separate entity. Preparatory patch for shadow\ntimekeeper structure.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[Merged with CLOCK_TAI changes]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "eb93e4d93093615c60cb7dd3dcb24e46bd7d62d4",
      "tree": "8fa60609e162c2b3f61c978517a2223a5243c87e",
      "parents": [
        "23a9537a6999fce16f06ca61fc6cac52c8fbdc86"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:36 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:20:00 2013 -0700"
      },
      "message": "timekeeping: Make jiffies_lock internal\n\nNothing outside of the timekeeping core needs that lock.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "23a9537a6999fce16f06ca61fc6cac52c8fbdc86",
      "tree": "db1f5b82730a087bf36be7dc3ad46354a79877ea",
      "parents": [
        "90adda98b89aaf68b06014ecf805b6c477daa19b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:36 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:19:59 2013 -0700"
      },
      "message": "timekeeping: Calc stuff once\n\nCalculate the cycle interval shifted value once. No functional change,\njust makes the code more readable.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "90adda98b89aaf68b06014ecf805b6c477daa19b",
      "tree": "c50d47c4c344774205569ce42e13d16a8174b02e",
      "parents": [
        "1ff3c9677bff7e468e0c487d0ffefe4e901d33f4"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Jan 21 17:00:11 2013 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:19:59 2013 -0700"
      },
      "message": "hrtimer: Add hrtimer support for CLOCK_TAI\n\nAdd hrtimer support for CLOCK_TAI, as well as posix timer interfaces.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "1ff3c9677bff7e468e0c487d0ffefe4e901d33f4",
      "tree": "202cef5857654e15eb471c2216f37f995f1c6e2f",
      "parents": [
        "cc244ddae6d4c6902ac9d7d64023534f8c44a7eb"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu May 03 12:43:40 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:19:59 2013 -0700"
      },
      "message": "timekeeping: Add CLOCK_TAI clockid\n\nThis add a CLOCK_TAI clockid and the needed accessors.\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": "cc244ddae6d4c6902ac9d7d64023534f8c44a7eb",
      "tree": "9f9e26d214bd0113d8722c0a683e003cbc1bf165",
      "parents": [
        "e445cf1c4257cc0238d72e4129eb4739f46fd3de"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu May 03 12:30:07 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:19:58 2013 -0700"
      },
      "message": "timekeeping: Move TAI managment into timekeeping core from ntp\n\nCurrently NTP manages the TAI offset. Since there\u0027s plans for a\nCLOCK_TAI clockid, push the TAI management into the timekeeping\ncore.\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": "a382bf934449ddeb625167537ae81daa0211b477",
      "tree": "6ee5becb6b01c952d8fb7d561e10c1e2967d7b99",
      "parents": [
        "a831881be220358a1d28c5d95d69449fb6d623ca"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Dec 18 18:24:35 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 21 15:55:45 2013 +0100"
      },
      "message": "nohz: Assign timekeeping duty to a CPU outside the full dynticks range\n\nThis way the full nohz CPUs can safely run with the tick\nstopped with a guarantee that somebody else is taking\ncare of the jiffies and GTOD progression.\n\nOnce the duty is attributed to a CPU, it won\u0027t change. Also that\nCPU can\u0027t enter into dyntick idle mode or be hot unplugged.\n\nThis may later be improved from a power consumption POV. At\nleast we should be able to share the duty amongst all CPUs\noutside the full dynticks range. Then the duty could even be\nshared with full dynticks CPUs when those can\u0027t stop their\ntick for any reason.\n\nBut let\u0027s start with that very simple approach first.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[fix have_nohz_full_mask offcase]\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a831881be220358a1d28c5d95d69449fb6d623ca",
      "tree": "769ab069e2837a9bd3613046110468cd87c8c3fa",
      "parents": [
        "a8d7ad52a7befbde896276d05c75c90fed48b5bf"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Dec 18 17:32:19 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 21 15:38:33 2013 +0100"
      },
      "message": "nohz: Basic full dynticks interface\n\nFor extreme usecases such as Real Time or HPC, having\nthe ability to shutdown the tick when a single task runs\non a CPU is a desired feature:\n\n* Reducing the amount of interrupts improves throughput\nfor CPU-bound tasks. The CPU is less distracted from its\nreal job, from an execution time and from the cache point\nof views.\n\n* This also improve latency response as we have less critical\nsections.\n\nStart with introducing a very simple interface to define\nfull dynticks CPU: use a boot time option defined cpumask\nthrough the \"nohz_extended\u003d\" kernel parameter. CPUs that\nare part of this range will have their tick shutdown\nwhenever possible: provided they run a single task and\nthey don\u0027t do kernel activity that require the periodic\ntick. These details will be later documented in\nDocumentation/*\n\nAn online CPU must be kept outside this range to handle the\ntimekeeping.\n\nSuggested-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e445cf1c4257cc0238d72e4129eb4739f46fd3de",
      "tree": "5ff9c120a867939996d83dae6e885e81177c1819",
      "parents": [
        "82f9c080b22a5b859ae2b50822dfb6b812898fdb"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Tue Mar 12 11:56:48 2013 +0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 15 16:51:29 2013 -0700"
      },
      "message": "timekeeping: utilize the suspend-nonstop clocksource to count suspended time\n\nThere are some new processors whose TSC clocksource won\u0027t stop during\nsuspend. Currently, after system resumes, kernel will use persistent\nclock or RTC to compensate the sleep time, but with these nonstop\nclocksources, we could skip the special compensation from external\nsources, and just use current clocksource for time recounting.\n\nThis can solve some time drift bugs caused by some not-so-accurate or\nerror-prone RTC devices.\n\nThe current way to count suspended time is first try to use the persistent\nclock, and then try the RTC if persistent clock can\u0027t be used. This\npatch will change the trying order to:\n\tsuspend-nonstop clocksource -\u003e persistent clock -\u003e RTC\n\nWhen counting the sleep time with nonstop clocksource, use an accurate way\nsuggested by Jason Gunthorpe to cover very large delta cycles.\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\n[jstultz: Small optimization, avoiding re-reading the clocksource]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "eaa907c546f76222227dfc41784b22588af1e3d7",
      "tree": "0e23882c311bc527ae9e328c22b000ff11b85fae",
      "parents": [
        "989dcb645ca715129c5a2b39102c8334a20d9615"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 06 11:18:36 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 13 11:39:39 2013 +0100"
      },
      "message": "tick: Provide a check for a forced broadcast pending\n\nOn the CPU which gets woken along with the target CPU of the broadcast\nthe following happens:\n\n  deep_idle()\n\t\t\t\u003c-- spurious wakeup\n  broadcast_exit()\n    set forced bit\n  \n  enable interrupts\n    \n\t\t\t\u003c-- Nothing happens\n\n  disable interrupts\n\n  broadcast_enter()\n\t\t\t\u003c-- Here we observe the forced bit is set\n  deep_idle()\n\nNow after that the target CPU of the broadcast runs the broadcast\nhandler and finds the other CPU in both the broadcast and the forced\nmask, sends the IPI and stuff gets back to normal.\n\nSo it\u0027s not actually harmful, just more evidence for the theory, that\nhardware designers have access to very special drug supplies.\n\nNow there is no point in going back to deep idle just to wake up again\nright away via an IPI. Provide a check which allows the idle code to\navoid the deep idle transition.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: LAK \u003clinux-arm-kernel@lists.infradead.org\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Arjan van de Veen \u003carjan@infradead.org\u003e\nCc: Lorenzo Pieralisi \u003clorenzo.pieralisi@arm.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nCc: Jason Liu \u003cliu.h.jason@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20130306111537.565418308@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "989dcb645ca715129c5a2b39102c8334a20d9615",
      "tree": "244553d975af4d64fa033c11e02267e9753376f5",
      "parents": [
        "26517f3e99248668315aee9460dcea21628cdd7f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 06 11:18:35 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 13 11:39:39 2013 +0100"
      },
      "message": "tick: Handle broadcast wakeup of multiple cpus\n\nSome brilliant hardware implementations wake multiple cores when the\nbroadcast timer fires. This leads to the following interesting\nproblem:\n\nCPU0\t\t\t\tCPU1\nwakeup from idle\t\twakeup from idle\n\nleave broadcast mode\t\tleave broadcast mode\n restart per cpu timer\t\t restart per cpu timer\n \t     \t \t\tgo back to idle\nhandle broadcast\n (empty mask)\t\t\t\n\t\t\t\tenter broadcast mode\n\t\t\t\tprogramm broadcast device\nenter broadcast mode\nprogramm broadcast device\n\nSo what happens is that due to the forced reprogramming of the cpu\nlocal timer, we need to set a event in the future. Now if we manage to\ngo back to idle before the timer fires, we switch off the timer and\narm the broadcast device with an already expired time (covered by\nforced mode). So in the worst case we repeat the above ping pong\nforever.\n\t\t\t\t\t\nUnfortunately we have no information about what caused the wakeup, but\nwe can check current time against the expiry time of the local cpu. If\nthe local event is already in the past, we know that the broadcast\ntimer is about to fire and send an IPI. So we mark ourself as an IPI\ntarget even if we left broadcast mode and avoid the reprogramming of\nthe local cpu timer.\n\nThis still leaves the possibility that a CPU which is not handling the\nbroadcast interrupt is going to reach idle again before the IPI\narrives. This can\u0027t be solved in the core code and will be handled in\nfollow up patches.\n\nReported-by: Jason Liu \u003cliu.h.jason@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: LAK \u003clinux-arm-kernel@lists.infradead.org\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Arjan van de Veen \u003carjan@infradead.org\u003e\nCc: Lorenzo Pieralisi \u003clorenzo.pieralisi@arm.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nLink: http://lkml.kernel.org/r/20130306111537.492045206@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "26517f3e99248668315aee9460dcea21628cdd7f",
      "tree": "053bb79af301c58cd05c9e346d85f66918048d61",
      "parents": [
        "f7dce82d532e911c41933776426785373fe13967"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 06 11:18:35 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 13 11:39:39 2013 +0100"
      },
      "message": "tick: Avoid programming the local cpu timer if broadcast pending\n\nIf the local cpu timer stops in deep idle, we arm the broadcast device\nand get woken by an IPI. Now when we return from deep idle we reenable\nthe local cpu timer unconditionally before handling the IPI. But\nthat\u0027s a pointless exercise: the timer is already expired and the IPI\nis on the way. And it\u0027s an expensive exercise as we use the forced\nreprogramming mode so that we do not lose a timer event. This forced\nreprogramming will loop at least once in the retry.\n\nTo avoid this reprogramming, we mark the cpu in a pending bit mask\nbefore we send the IPI. Now when the IPI target cpu wakes up, it will\nsee the pending bit set and skip the reprogramming. The reprogramming\nof the cpu local timer will happen in the IPI handler which runs the\ncpu local timer interrupt function.\n\nReported-by: Jason Liu \u003cliu.h.jason@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: LAK \u003clinux-arm-kernel@lists.infradead.org\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Arjan van de Veen \u003carjan@infradead.org\u003e\nCc: Lorenzo Pieralisi \u003clorenzo.pieralisi@arm.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nLink: http://lkml.kernel.org/r/20130306111537.431082074@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a7dc19b8652c862d5b7c4d2339bd3c428bd29c4a",
      "tree": "cc31aa42ae65ec413ae1ee586307cf8687fdbc92",
      "parents": [
        "6dbe51c251a327e012439c4772097a13df43c5b8"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Thu Mar 07 15:09:24 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 07 17:16:11 2013 +0100"
      },
      "message": "clockevents: Don\u0027t allow dummy broadcast timers\n\nCurrently tick_check_broadcast_device doesn\u0027t reject clock_event_devices\nwith CLOCK_EVT_FEAT_DUMMY, and may select them in preference to real\nhardware if they have a higher rating value. In this situation, the\ndummy timer is responsible for broadcasting to itself, and the core\nclockevents code may attempt to call non-existent callbacks for\nprogramming the dummy, eventually leading to a panic.\n\nThis patch makes tick_check_broadcast_device always reject dummy timers,\npreventing this problem.\n\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nCc: Jon Medhurst (Tixy) \u003ctixy@linaro.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d2348fb6fdc6d671ad45b62db237f76c8c115603",
      "tree": "30a05c397f91bd8ac32cc904231d9a72ce7b5c1e",
      "parents": [
        "f9ae39d04ccdec8d8ecf532191b7056c279a22c0"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@linaro.org",
        "time": "Sat Mar 02 11:10:11 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 07 16:13:26 2013 +0100"
      },
      "message": "tick: Dynamically set broadcast irq affinity\n\nWhen a cpu goes to a deep idle state where its local timer is\nshutdown, it notifies the time frame work to use the broadcast timer\ninstead.  Unfortunately, the broadcast device could wake up any CPU,\nincluding an idle one which is not concerned by the wake up at all. So\nin the worst case an idle CPU will wake up to send an IPI to the CPU\nwhose timer expired.\n\nProvide an opt-in feature CLOCK_EVT_FEAT_DYNIRQ which tells the core\nthat is should set the interrupt affinity of the broadcast interrupt\nto the cpu which has the earliest expiry time. This avoids unnecessary\nspurious wakeups and IPIs.\n\n[ tglx: Adopted to cpumask rework, silenced an uninitialized warning,\n  massaged changelog ]\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nCc: viresh.kumar@linaro.org\nCc: jacob.jun.pan@linux.intel.com\nCc: linux-arm-kernel@lists.infradead.org\nCc: santosh.shilimkar@ti.com\nCc: linaro-kernel@lists.linaro.org\nCc: patches@linaro.org\nCc: rickard.andersson@stericsson.com\nCc: vincent.guittot@linaro.org\nCc: linus.walleij@stericsson.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1362219013-18173-3-git-send-email-daniel.lezcano@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f9ae39d04ccdec8d8ecf532191b7056c279a22c0",
      "tree": "9adfa7e4a39013b4089c0fbed889920e6327ef26",
      "parents": [
        "b352bc1cbc29134a356b5c16ee2281807a7b984e"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@linaro.org",
        "time": "Sat Mar 02 11:10:10 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 07 16:13:26 2013 +0100"
      },
      "message": "tick: Pass broadcast device to tick_broadcast_set_event()\n\nPass the broadcast timer to tick_broadcast_set_event() instead of\nreevaluating tick_broadcast_device.evtdev.\n\n[ tglx: Massaged changelog ]\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nCc: viresh.kumar@linaro.org\nCc: jacob.jun.pan@linux.intel.com\nCc: linux-arm-kernel@lists.infradead.org\nCc: santosh.shilimkar@ti.com\nCc: linaro-kernel@lists.linaro.org\nCc: patches@linaro.org\nCc: rickard.andersson@stericsson.com\nCc: vincent.guittot@linaro.org\nCc: linus.walleij@stericsson.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1362219013-18173-2-git-send-email-daniel.lezcano@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b352bc1cbc29134a356b5c16ee2281807a7b984e",
      "tree": "e68ff362a8c1bae0510d864551ba81f4f1136cc0",
      "parents": [
        "ad2b13536ace08dfcca4cf86b75a5d06efe06373"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 05 14:25:32 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 07 16:13:26 2013 +0100"
      },
      "message": "tick: Convert broadcast cpu bitmaps to cpumask_var_t\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20130306111537.366394000@linutronix.de\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "2af78448fff61e13392daf4f770cfbcf9253316a",
      "tree": "6c0494284dd1dd737d5f76ee19c553618e8d0e54",
      "parents": [
        "5e04f4b4290e03deb91b074087ae8d7c169d947d",
        "f5b6d45f8cf688f51140fd21f1da3b90562762a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 28 19:48:26 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 28 19:48:26 2013 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux\n\nPull thermal management updates from Zhang Rui:\n \"Highlights:\n\n   - introduction of Dove thermal sensor driver.\n\n   - introduction of Kirkwood thermal sensor driver.\n\n   - introduction of intel_powerclamp thermal cooling device driver.\n\n   - add interrupt and DT support for rcar thermal driver.\n\n   - add thermal emulation support which allows platform thermal driver\n     to do software/hardware emulation for thermal issues.\"\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (36 commits)\n  thermal: rcar: remove __devinitconst\n  thermal: return an error on failure to register thermal class\n  Thermal: rename thermal governor Kconfig option to avoid generic naming\n  thermal: exynos: Use the new thermal trend type for quick cooling action.\n  Thermal: exynos: Add support for temperature falling interrupt.\n  Thermal: Dove: Add Themal sensor support for Dove.\n  thermal: Add support for the thermal sensor on Kirkwood SoCs\n  thermal: rcar: add Device Tree support\n  thermal: rcar: remove machine_power_off() from rcar_thermal_notify()\n  thermal: rcar: add interrupt support\n  thermal: rcar: add read/write functions for common/priv data\n  thermal: rcar: multi channel support\n  thermal: rcar: use mutex lock instead of spin lock\n  thermal: rcar: enable CPCTL to use hardware TSC deciding\n  thermal: rcar: use parenthesis on macro\n  Thermal: fix a build warning when CONFIG_THERMAL_EMULATION cleared\n  Thermal: fix a wrong comment\n  thermal: sysfs: Add a new sysfs node emul_temp for thermal emulation\n  PM: intel_powerclamp: off by one in start_power_clamp()\n  thermal: exynos: Miscellaneous fixes to support falling threshold interrupt\n  ...\n"
    },
    {
      "commit": "3b5d8510b94a95e493e8c4951ffc3d1cf6a6792d",
      "tree": "4493367715c7a15e9057e6c72fa3c3edfd0605ad",
      "parents": [
        "c47f39e3b75e1138823984ad5079547c7a41b726",
        "41ef8f826692c8f65882bec0a8211bd4d1d2d19a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 22 19:25:09 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 22 19:25:09 2013 -0800"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core locking changes from Ingo Molnar:\n \"The biggest change is the rwsem lock-steal improvements, both to the\n  assembly optimized and the spinlock based variants.\n\n  The other notable change is the clean up of the seqlock implementation\n  to be based on the seqcount infrastructure.\n\n  The rest is assorted smaller debuggability, cleanup and continued -rt\n  locking changes.\"\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  rwsem-spinlock: Implement writer lock-stealing for better scalability\n  futex: Revert \"futex: Mark get_robust_list as deprecated\"\n  generic: Use raw local irq variant for generic cmpxchg\n  lockdep: Selftest: convert spinlock to raw spinlock\n  seqlock: Use seqcount infrastructure\n  seqlock: Remove unused functions\n  ntp: Make ntp_lock raw\n  intel_idle: Convert i7300_idle_lock to raw_spinlock\n  locking: Various static lock initializer fixes\n  lockdep: Print more info when MAX_LOCK_DEPTH is exceeded\n  rwsem: Implement writer lock-stealing for better scalability\n  lockdep: Silence warning if CONFIG_LOCKDEP isn\u0027t set\n  watchdog: Use local_clock for get_timestamp()\n  lockdep: Rename print_unlock_inbalance_bug() to print_unlock_imbalance_bug()\n  locking/stat: Fix a typo\n"
    },
    {
      "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": "266d7ad7f4fe2f44b91561f5b812115c1b3018ab",
      "tree": "45acf12d5cb170205ccffe24b9f24672ff8bff2e",
      "parents": [
        "bcbd818c069b9e1bf82517401225b152a33968e2",
        "36dfbbf136db0d645bacfd42ce7d9d6928ea532d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 19:05:45 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 19:05:45 2013 -0800"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer changes from Ingo Molnar:\n \"Main changes:\n\n   - ntp: Add CONFIG_RTC_SYSTOHC: a generic RTC driver facility\n     complementing the existing CONFIG_RTC_HCTOSYS, which uses NTP to\n     keep the hardware clock updated.\n\n   - posix-timers: Fix clock_adjtime to always return timex data on\n     success.  This is changing the ABI, but no breakage was expected\n     and found - caution is warranted nevertheless.\n\n   - platform persistent clock improvements/cleanups.\n\n   - clockevents: refactor timer broadcast handling to be more generic\n     and less duplicated with matching architecture code (mostly ARM\n     motivated.)\n\n   - various fixes and cleanups\"\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  timers/x86/hpet: Use HPET_COUNTER to specify the hpet counter in vread_hpet()\n  posix-cpu-timers: Fix nanosleep task_struct leak\n  clockevents: Fix generic broadcast for FEAT_C3STOP\n  time, Fix setting of hardware clock in NTP code\n  hrtimer: Prevent hrtimer_enqueue_reprogram race\n  clockevents: Add generic timer broadcast function\n  clockevents: Add generic timer broadcast receiver\n  timekeeping: Switch HAS_PERSISTENT_CLOCK to ALWAYS_USE_PERSISTENT_CLOCK\n  x86/time/rtc: Don\u0027t print extended CMOS year when reading RTC\n  x86: Select HAS_PERSISTENT_CLOCK on x86\n  timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option\n  rtc: Skip the suspend/resume handling if persistent clock exist\n  timekeeping: Add persistent_clock_exist flag\n  posix-timers: Fix clock_adjtime to always return timex data on success\n  Round the calculated scale factor in set_cyc2ns_scale()\n  NTP: Add a CONFIG_RTC_SYSTOHC configuration\n  MAINTAINERS: Update John Stultz\u0027s email\n  time: create __getnstimeofday for WARNless calls\n"
    },
    {
      "commit": "d652e1eb8e7b739fccbfb503a3da3e9f640fbf3d",
      "tree": "55ab77bad0cbb045eac0b84b80d63f88f1ae09e6",
      "parents": [
        "8f55cea410dbc56114bb71a3742032070c8108d0",
        "77852fea6e2442a0e654a9292060489895de18c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"Main changes:\n\n   - scheduler side full-dynticks (user-space execution is undisturbed\n     and receives no timer IRQs) preparation changes that convert the\n     cputime accounting code to be full-dynticks ready, from Frederic\n     Weisbecker.\n\n   - Initial sched.h split-up changes, by Clark Williams\n\n   - select_idle_sibling() performance improvement by Mike Galbraith:\n\n        \" 1 tbench pair (worst case) in a 10 core + SMT package:\n\n          pre   15.22 MB/sec 1 procs\n          post 252.01 MB/sec 1 procs \"\n\n  - sched_rr_get_interval() ABI fix/change.  We think this detail is not\n    used by apps (so it\u0027s not an ABI in practice), but lets keep it\n    under observation.\n\n  - misc RT scheduling cleanups, optimizations\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  sched/rt: Add \u003clinux/sched/rt.h\u003e header to \u003clinux/init_task.h\u003e\n  cputime: Remove irqsave from seqlock readers\n  sched, powerpc: Fix sched.h split-up build failure\n  cputime: Restore CPU_ACCOUNTING config defaults for PPC64\n  sched/rt: Move rt specific bits into new header file\n  sched/rt: Add a tuning knob to allow changing SCHED_RR timeslice\n  sched: Move sched.h sysctl bits into separate header\n  sched: Fix signedness bug in yield_to()\n  sched: Fix select_idle_sibling() bouncing cow syndrome\n  sched/rt: Further simplify pick_rt_task()\n  sched/rt: Do not account zero delta_exec in update_curr_rt()\n  cputime: Safely read cputime of full dynticks CPUs\n  kvm: Prepare to add generic guest entry/exit callbacks\n  cputime: Use accessors to read task cputime stats\n  cputime: Allow dynamic switch between tick/virtual based cputime accounting\n  cputime: Generic on-demand virtual cputime accounting\n  cputime: Move default nsecs_to_cputime() to jiffies based cputime file\n  cputime: Librarize per nsecs resolution cputime definitions\n  cputime: Avoid multiplication overflow on utime scaling\n  context_tracking: Export context state for generic vtime\n  ...\n\nFix up conflict in kernel/context_tracking.c due to comment additions.\n"
    },
    {
      "commit": "a6c0c943a15d0b3d6ac33760cb8f95c75f395895",
      "tree": "0aa3e39340a97d865a3ce9c4f79e2ac3a389ef04",
      "parents": [
        "066361a7c58cb6c8b18c7ce0ee8527bb1ce58460"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 10 11:14:55 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Feb 19 08:43:16 2013 +0100"
      },
      "message": "ntp: Make ntp_lock raw\n\nseconds_overflow() is called from hard interrupt context even on\nPreempt-RT. This requires the lock to be a raw_spinlock.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9f4646d28362bc424b8a4c7d09ea1c2f1759371a",
      "tree": "0ff9dc36f1ef598736725f3eb30e164128d39774",
      "parents": [
        "86c8ead593305915729a7b67f738832764fb4ba7",
        "84e345e4e209cbe796c88fa2ad1732d7121ec100"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 14 19:46:10 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 14 19:46:10 2013 +0100"
      },
      "message": "Merge branch \u0027fortglx/3.9/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n"
    },
    {
      "commit": "86c8ead593305915729a7b67f738832764fb4ba7",
      "tree": "eb33b75076c2b50dc8ae8ec0e240de876d31cd45",
      "parents": [
        "b22affe0aef429d657bc6505aacb1c569340ddd2",
        "5d1d9a29bc0772abee765f09513779a2ef0ebbfd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 12 20:22:56 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 12 20:22:56 2013 +0100"
      },
      "message": "Merge branch \u0027timers/for-arm\u0027 into timers/core\n"
    },
    {
      "commit": "5d1d9a29bc0772abee765f09513779a2ef0ebbfd",
      "tree": "7905268873812518cf4f6196f2100e5224733f22",
      "parents": [
        "12ad10004645d38356b14d1fbba379c523a61916"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Fri Feb 08 15:24:07 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 12 20:22:28 2013 +0100"
      },
      "message": "clockevents: Fix generic broadcast for FEAT_C3STOP\n\nCommit 12ad100046: \"clockevents: Add generic timer broadcast function\"\nmade tick_device_uses_broadcast set up the generic broadcast function\nfor dummy devices (where !tick_device_is_functional(dev)), but neglected\nto set up the broadcast function for devices that stop in low power\nstates (with the CLOCK_EVT_FEAT_C3STOP flag).\n\nWhen these devices enter low power states they will not have the generic\nbroadcast function assigned, and will bring down the system when an\nattempt is made to broadcast to them.\n\nThis patch ensures that the broadcast function is also assigned for\ndevices which require broadcast in low power states.\n\nReported-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nTested-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nCc: nico@linaro.org\nCc: Marc.Zyngier@arm.com\nCc: Will.Deacon@arm.com\nCc: santosh.shilimkar@ti.com\nCc: john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "84e345e4e209cbe796c88fa2ad1732d7121ec100",
      "tree": "f73f35d0e72a6c6f3e4b3ef430608aca3a5e8d54",
      "parents": [
        "6f16eebe1ff82176339a0439c98ebec9768b0ee2"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Fri Feb 08 17:59:53 2013 -0500"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Feb 08 15:07:05 2013 -0800"
      },
      "message": "time, Fix setting of hardware clock in NTP code\n\nAt init time, if the system time is \"warped\" forward in warp_clock()\nit will differ from the hardware clock by sys_tz.tz_minuteswest.  This time\ndifference is not taken into account when ntp updates the hardware clock,\nand this causes the system time to jump forward by this offset every reboot.\n\nThe kernel must take this offset into account when writing the system time\nto the hardware clock in the ntp code.  This patch adds\npersistent_clock_is_local which indicates that an offset has been applied\nin warp_clock() and accounts for the \"warp\" before writing the hardware\nclock.\n\nx86 does not have this problem as rtc writes are software limited to a\n+/-15 minute window relative to the current rtc time.  Other arches, such\nas powerpc, however do a full synchronization of the system time to the\nrtc and will see this problem.\n\n[v2]: generated against tip/timers/core\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "077931446b85e7858bf9dc0927cd116669b965d2",
      "tree": "02fbdf4a42b30b841a61aca399bd0ac6a5c308e6",
      "parents": [
        "f7c819c020db9796ae3a662b82a310617f92b15b",
        "74876a98a87a115254b3a66a14b27320b7f0acaa"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 05 00:48:46 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 05 00:48:46 2013 +0100"
      },
      "message": "Merge branch \u0027nohz/printk-v8\u0027 into irq/core\n\nConflicts:\n\tkernel/irq_work.c\n\nAdd support for printk in full dynticks CPU.\n\n* Don\u0027t stop tick with irq works pending. This\nfix is generally useful and concerns archs that\ncan\u0027t raise self IPIs.\n\n* Flush irq works before CPU offlining.\n\n* Introduce \"lazy\" irq works that can wait for the\nnext tick to be executed, unless it\u0027s stopped.\n\n* Implement klogd wake up using irq work. This\nremoves the ad-hoc printk_tick()/printk_needs_cpu()\nhooks and make it working even in dynticks mode.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\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": "12ad10004645d38356b14d1fbba379c523a61916",
      "tree": "fe8b798176191c681c6b2fa1c81aa55dc98568dc",
      "parents": [
        "12572dbb53638c6e454ef831c8fee7de3df24389"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Mon Jan 14 17:05:22 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 31 22:15:36 2013 +0100"
      },
      "message": "clockevents: Add generic timer broadcast function\n\nCurrently, the timer broadcast mechanism is defined by a function\npointer on struct clock_event_device. As the fundamental mechanism for\nbroadcast is architecture-specific, this means that clock_event_device\ndrivers cannot be shared across multiple architectures.\n\nThis patch adds an (optional) architecture-specific function for timer\ntick broadcast, allowing drivers which may require broadcast\nfunctionality to be shared across multiple architectures.\n\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nReviewed-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nCc: nico@linaro.org\nCc: Will.Deacon@arm.com\nCc: Marc.Zyngier@arm.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1358183124-28461-3-git-send-email-mark.rutland@arm.com\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nReviewed-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "12572dbb53638c6e454ef831c8fee7de3df24389",
      "tree": "dac15b3d75adb3a33f3868b70a6dcf0b63c55b91",
      "parents": [
        "04c2eee5b9dfcb13f3cd07a5537fb8c785f2751a"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Mon Jan 14 17:05:21 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 31 22:15:35 2013 +0100"
      },
      "message": "clockevents: Add generic timer broadcast receiver\n\nCurrently the broadcast mechanism used for timers is abstracted by a\nfunction pointer on struct clock_event_device. As the fundamental\nmechanism for broadcast is architecture-specific, this ties each\nclock_event_device driver to a single architecture, even where the\ndriver is otherwise generic.\n\nThis patch adds a standard path for the receipt of timer broadcasts, so\ndrivers and/or architecture backends need not manage redundant lists of\ntimers for the purpose of routing broadcast timer ticks.\n\n[tglx: Made the implementation depend on the config switch as well ]\n\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nReviewed-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nCc: nico@linaro.org\nCc: Will.Deacon@arm.com\nCc: Marc.Zyngier@arm.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1358183124-28461-2-git-send-email-mark.rutland@arm.com\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nReviewed-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6f16eebe1ff82176339a0439c98ebec9768b0ee2",
      "tree": "8d818d7299f205ebde374f753ac384b5d0ac1835",
      "parents": [
        "e90c83f757fffdacec8b3c5eee5617dcc038338f"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jan 25 17:08:12 2013 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 29 14:40:12 2013 -0800"
      },
      "message": "timekeeping: Switch HAS_PERSISTENT_CLOCK to ALWAYS_USE_PERSISTENT_CLOCK\n\nJason pointed out the HAS_PERSISTENT_CLOCK name isn\u0027t\nquite accurate for the config, as some systems may have\nthe persistent_clock in some cases, but not always.\n\nSo change the config name to the more clear\nALWAYS_USE_PERSISTENT_CLOCK.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "3f4724ea85b7d9055a9976fa8f30b471bdfbca93",
      "tree": "aaa1792d0b78ea33c07ee6f5e707a07d9ef1795e",
      "parents": [
        "abf917cd91cbb73952758f9741e2fa65002a48ee"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jul 16 18:00:34 2012 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 19:23:29 2013 +0100"
      },
      "message": "cputime: Allow dynamic switch between tick/virtual based cputime accounting\n\nAllow to dynamically switch between tick and virtual based\ncputime accounting. This way we can provide a kind of \"on-demand\"\nvirtual based cputime accounting. In this mode, the kernel relies\non the context tracking subsystem to dynamically probe on kernel\nboundaries.\n\nThis is in preparation for being able to stop the timer tick in\nmore places than just the idle state. Doing so will depend on\nCONFIG_VIRT_CPU_ACCOUNTING_GEN which makes it possible to account\nthe cputime without the tick by hooking on kernel/user boundaries.\n\nDepending whether the tick is stopped or not, we can switch between\ntick and vtime based accounting anytime in order to minimize the\noverhead associated to user hooks.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4dbd27711cd92bcc364426937a0d5e80f10b1cfb",
      "tree": "5b16edd118bb8e799498c37cf7f279f186036fb2",
      "parents": [
        "6b2aa51d698492e8dc0a0ce6ce5b3193ccaec269"
      ],
      "author": {
        "name": "Jacob Pan",
        "email": "jacob.jun.pan@linux.intel.com",
        "time": "Fri Jan 04 11:12:43 2013 +0000"
      },
      "committer": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Thu Jan 17 22:25:38 2013 +0800"
      },
      "message": "tick: export nohz tick idle symbols for module use\n\nAllow drivers such as intel_powerclamp to use these apis for\nturning on/off ticks during idle.\n\nSigned-off-by: Jacob Pan \u003cjacob.jun.pan@linux.intel.com\u003e\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\n"
    },
    {
      "commit": "05ad717c77b1b8e98a1dd768c3700036d634629e",
      "tree": "c52d75ca925bcd9b4c7125aad4c1059d7d3a43ee",
      "parents": [
        "9ecf37eb7a81e3295a1b274eafb6f83d7d2cabf0"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Wed Jan 16 00:09:49 2013 +0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:08 2013 -0800"
      },
      "message": "timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option\n\nMake the persistent clock check a kernel config option, so that some\nplatform can explicitely select it, also make CONFIG_RTC_HCTOSYS and\nRTC_SYSTOHC depend on its non-existence, which could prevent the\npersistent clock and RTC code from doing similar thing twice during\nsystem\u0027s init/suspend/resume phases.\n\nIf the CONFIG_HAS_PERSISTENT_CLOCK\u003dn, then no change happens for kernel\nwhich still does the persistent clock check in timekeeping_init().\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSuggested-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\n[jstultz: Added dependency for RTC_SYSTOHC as well]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\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": "023f333a99cee9b5cd3268ff87298eb01a31f78e",
      "tree": "bf1d316ac4f4ad6ccd9f98206debece6f24a7a4f",
      "parents": [
        "503637375269e33f368fd3484a199beace01f36e"
      ],
      "author": {
        "name": "Jason Gunthorpe",
        "email": "jgunthorpe@obsidianresearch.com",
        "time": "Mon Dec 17 14:30:53 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:06 2013 -0800"
      },
      "message": "NTP: Add a CONFIG_RTC_SYSTOHC configuration\n\nThe purpose of this option is to allow ARM/etc systems that rely on the\nclass RTC subsystem to have the same kind of automatic NTP based\nsynchronization that we have on PC platforms. Today ARM does not\nimplement update_persistent_clock and makes extensive use of the class\nRTC system.\n\nWhen enabled CONFIG_RTC_SYSTOHC will provide a generic\nrtc_update_persistent_clock that stores the current time in the RTC and\nis intended complement the existing CONFIG_RTC_HCTOSYS option that loads\nthe RTC at boot.\n\nLike with RTC_HCTOSYS the platform\u0027s update_persistent_clock is used\nfirst, if it works. Platforms with mixed class RTC and non-RTC drivers\nneed to return ENODEV when class RTC should be used. Such an update for\nPPC is included in this patch.\n\nLong term, implementations of update_persistent_clock should migrate to\nproper class RTC drivers and use CONFIG_RTC_SYSTOHC instead.\n\nTested on ARM kirkwood and PPC405\n\nSigned-off-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.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": "8d84981e395850aab31c3f2ca7e2738e03f671d7",
      "tree": "933425fddb23d28be802277471df3fe3f6c2711d",
      "parents": [
        "00c82d64405631967dca3890a9ce80ab35d04cc7",
        "77cc982f6a3b33a5aa058ad3b20cda8866db2948"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Mon Jan 14 10:20:02 2013 -0800"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Mon Jan 14 10:20:02 2013 -0800"
      },
      "message": "Merge branch \u0027clocksource/cleanup\u0027 into next/cleanup\n\nClockevent cleanup series from Shawn Guo.\n\nResolved move/change conflict in mach-pxa/time.c due to the sys_timer\ncleanup.\n\n* clocksource/cleanup:\n  clocksource: use clockevents_config_and_register() where possible\n  ARM: use clockevents_config_and_register() where possible\n  clockevents: export clockevents_config_and_register for module use\n  + sync to Linux 3.8-rc3\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n\nConflicts:\n\tarch/arm/mach-pxa/time.c\n"
    },
    {
      "commit": "c35ef95c273c06471818f9245a05ac5a6e3ffa34",
      "tree": "30d19d80078d9ddb248d49589cb72e59bf8f91e5",
      "parents": [
        "9931faca02c604c22335f5a935a501bb2ace6e20"
      ],
      "author": {
        "name": "Shawn Guo",
        "email": "shawn.guo@linaro.org",
        "time": "Sat Jan 12 11:50:04 2013 +0000"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Mon Jan 14 10:12:37 2013 -0800"
      },
      "message": "clockevents: export clockevents_config_and_register for module use\n\nclockevents_config_and_register is a handy helper for clockevent\ndrivers, some of which might support module build, so export the symbol.\n\nSigned-off-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Olof Johansson \u003colof@lixom.net\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"
    }
  ],
  "next": "66cdd0ceaf65a18996f561b770eedde1d123b019"
}
