)]}'
{
  "log": [
    {
      "commit": "66cdd0ceaf65a18996f561b770eedde1d123b019",
      "tree": "4892eaa422d366fce5d1e866ff1fe0988af95569",
      "parents": [
        "896ea17d3da5f44b2625c9cda9874d7dfe447393",
        "58b7825bc324da55415034a9f6ca5d716b8fd898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 15:31:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 13 15:31:08 2012 -0800"
      },
      "message": "Merge tag \u0027kvm-3.8-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Marcelo Tosatti:\n \"Considerable KVM/PPC work, x86 kvmclock vsyscall support,\n  IA32_TSC_ADJUST MSR emulation, amongst others.\"\n\nFix up trivial conflict in kernel/sched/core.c due to cross-cpu\nmigration notifier added next to rq migration call-back.\n\n* tag \u0027kvm-3.8-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (156 commits)\n  KVM: emulator: fix real mode segment checks in address linearization\n  VMX: remove unneeded enable_unrestricted_guest check\n  KVM: VMX: fix DPL during entry to protected mode\n  x86/kexec: crash_vmclear_local_vmcss needs __rcu\n  kvm: Fix irqfd resampler list walk\n  KVM: VMX: provide the vmclear function and a bitmap to support VMCLEAR in kdump\n  x86/kexec: VMCLEAR VMCSs loaded on all cpus if necessary\n  KVM: MMU: optimize for set_spte\n  KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface\n  KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation\n  KVM: PPC: bookehv: Add guest computation mode for irq delivery\n  KVM: PPC: Make EPCR a valid field for booke64 and bookehv\n  KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit\n  KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation\n  KVM: PPC: Mask ea\u0027s high 32-bits in 32/64 instr emulation\n  KVM: PPC: e500: Add emulation helper for getting instruction ea\n  KVM: PPC: bookehv64: Add support for interrupt handling\n  KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler\n  KVM: PPC: booke: Fix get_tb() compile error on 64-bit\n  KVM: PPC: e500: Silence bogus GCC warning in tlb code\n  ...\n"
    },
    {
      "commit": "6be35c700f742e911ecedd07fcc43d4439922334",
      "tree": "ca9f37214d204465fcc2d79c82efd291e357c53c",
      "parents": [
        "e37aa63e87bd581f9be5555ed0ba83f5295c92fc",
        "520dfe3a3645257bf83660f672c47f8558f3d4c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 18:07:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 12 18:07:07 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking changes from David Miller:\n\n1) Allow to dump, monitor, and change the bridge multicast database\n   using netlink.  From Cong Wang.\n\n2) RFC 5961 TCP blind data injection attack mitigation, from Eric\n   Dumazet.\n\n3) Networking user namespace support from Eric W. Biederman.\n\n4) tuntap/virtio-net multiqueue support by Jason Wang.\n\n5) Support for checksum offload of encapsulated packets (basically,\n   tunneled traffic can still be checksummed by HW).  From Joseph\n   Gasparakis.\n\n6) Allow BPF filter access to VLAN tags, from Eric Dumazet and\n   Daniel Borkmann.\n\n7) Bridge port parameters over netlink and BPDU blocking support\n   from Stephen Hemminger.\n\n8) Improve data access patterns during inet socket demux by rearranging\n   socket layout, from Eric Dumazet.\n\n9) TIPC protocol updates and cleanups from Ying Xue, Paul Gortmaker, and\n   Jon Maloy.\n\n10) Update TCP socket hash sizing to be more in line with current day\n    realities.  The existing heurstics were choosen a decade ago.\n    From Eric Dumazet.\n\n11) Fix races, queue bloat, and excessive wakeups in ATM and\n    associated drivers, from Krzysztof Mazur and David Woodhouse.\n\n12) Support DOVE (Distributed Overlay Virtual Ethernet) extensions\n    in VXLAN driver, from David Stevens.\n\n13) Add \"oops_only\" mode to netconsole, from Amerigo Wang.\n\n14) Support set and query of VEB/VEPA bridge mode via PF_BRIDGE, also\n    allow DCB netlink to work on namespaces other than the initial\n    namespace.  From John Fastabend.\n\n15) Support PTP in the Tigon3 driver, from Matt Carlson.\n\n16) tun/vhost zero copy fixes and improvements, plus turn it on\n    by default, from Michael S. Tsirkin.\n\n17) Support per-association statistics in SCTP, from Michele\n    Baldessari.\n\nAnd many, many, driver updates, cleanups, and improvements.  Too\nnumerous to mention individually.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1722 commits)\n  net/mlx4_en: Add support for destination MAC in steering rules\n  net/mlx4_en: Use generic etherdevice.h functions.\n  net: ethtool: Add destination MAC address to flow steering API\n  bridge: add support of adding and deleting mdb entries\n  bridge: notify mdb changes via netlink\n  ndisc: Unexport ndisc_{build,send}_skb().\n  uapi: add missing netconf.h to export list\n  pkt_sched: avoid requeues if possible\n  solos-pci: fix double-free of TX skb in DMA mode\n  bnx2: Fix accidental reversions.\n  bna: Driver Version Updated to 3.1.2.1\n  bna: Firmware update\n  bna: Add RX State\n  bna: Rx Page Based Allocation\n  bna: TX Intr Coalescing Fix\n  bna: Tx and Rx Optimizations\n  bna: Code Cleanup and Enhancements\n  ath9k: check pdata variable before dereferencing it\n  ath5k: RX timestamp is reported at end of frame\n  ath9k_htc: RX timestamp is reported at end of frame\n  ...\n"
    },
    {
      "commit": "b64c5fda3868cb29d5dae0909561aa7d93fb7330",
      "tree": "2ac4be822f32fe5a8e8f33138be81b221ff52384",
      "parents": [
        "f57d54bab696133fae569c5f01352249c36fc74f",
        "9c3f9e281697d02889c3b08922f3b30be75f56c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:22:46 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:22:46 2012 -0800"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core timer changes from Ingo Molnar:\n \"It contains continued generic-NOHZ work by Frederic and smaller\n  cleanups.\"\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  time: Kill xtime_lock, replacing it with jiffies_lock\n  clocksource: arm_generic: use this_cpu_ptr per-cpu helper\n  clocksource: arm_generic: use integer math helpers\n  time/jiffies: Make clocksource_jiffies static\n  clocksource: clean up parse_pmtmr()\n  tick: Correct the comments for tick_sched_timer()\n  tick: Conditionally build nohz specific code in tick handler\n  tick: Consolidate tick handling for high and low res handlers\n  tick: Consolidate timekeeping handling code\n"
    },
    {
      "commit": "de0c276b31538fcd56611132f20b63eae2891876",
      "tree": "f46b45fee74d0789a094ba8cda4797d4317d0219",
      "parents": [
        "608ff1a210ab0e8b969399039bf8e18693605910",
        "99fb4a122e96203dfd6c67d99d908aafd20f4753",
        "351f181f9134d71efd46ddf0c0abca31b58cd79b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:09:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:09:18 2012 -0800"
      },
      "message": "Merge branches \u0027core-locking-for-linus\u0027 and \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull trivial fix branches from Ingo Molnar.\n\nCleanup in __get_key_name, and a timer comment fixlet.\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  lockdep: Use KSYM_NAME_LEN\u0027ed buffer for __get_key_name()\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  timers, sched: Correct the comments for tick_sched_timer()\n"
    },
    {
      "commit": "e0b306fef90556233797d2e1747bd6a3ae35ea93",
      "tree": "0340c76e923fc02a47e5be8bd88c1d75ee0a84f1",
      "parents": [
        "886b470cb14733a0286e365c77f1844c240c33a4"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:28:59 2012 -0200"
      },
      "committer": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Tue Nov 27 23:29:12 2012 -0200"
      },
      "message": "time: export time information for KVM pvclock\n\nAs suggested by John, export time data similarly to how its\ndone by vsyscall support. This allows KVM to retrieve necessary\ninformation to implement vsyscall support in KVM guests.\n\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\n"
    },
    {
      "commit": "9c3f9e281697d02889c3b08922f3b30be75f56c2",
      "tree": "e9f3d68e0019a47b982e2b8644f70eb66a3eff3c",
      "parents": [
        "b8f61116c1ce342804a0897b0a80eb4df5f19453",
        "d6ad418763888f617ac5b4849823e4cd670df1dd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 21 20:31:52 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 21 20:31:52 2012 +0100"
      },
      "message": "Merge branch \u0027fortglx/3.8/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n\nFix trivial conflicts in: kernel/time/tick-sched.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "69a37beabf1f0a6705c08e879bdd5d82ff6486c4",
      "tree": "cbe66278435ee12182915832584a12cd1a83b114",
      "parents": [
        "e45a00d679a788217f35ee4214a32d6d1924160b"
      ],
      "author": {
        "name": "Youquan Song",
        "email": "youquan.song@intel.com",
        "time": "Fri Oct 26 12:26:41 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rafael.j.wysocki@intel.com",
        "time": "Thu Nov 15 00:34:19 2012 +0100"
      },
      "message": "cpuidle: Quickly notice prediction failure for repeat mode\n\nThe prediction for future is difficult and when the cpuidle governor prediction\nfails and govenor possibly choose the shallower C-state than it should. How to\nquickly notice and find the failure becomes important for power saving.\n\ncpuidle menu governor has a method to predict the repeat pattern if there are 8\nC-states residency which are continuous and the same or very close, so it will\npredict the next C-states residency will keep same residency time.\n\nThere is a real case that turbostat utility (tools/power/x86/turbostat)\nat kernel 3.3 or early. turbostat utility will read 10 registers one by one at\nSandybridge, so it will generate 10 IPIs to wake up idle CPUs. So cpuidle menu\n governor will predict it is repeat mode and there is another IPI wake up idle\n CPU soon, so it keeps idle CPU stay at C1 state even though CPU is totally\nidle. However, in the turbostat, following 10 registers reading is sleep 5\nseconds by default, so the idle CPU will keep at C1 for a long time though it is\n idle until break event occurs.\nIn a idle Sandybridge system, run \"./turbostat -v\", we will notice that deep\nC-state dangles between \"70% ~ 99%\". After patched the kernel, we will notice\ndeep C-state stays at \u003e99.98%.\n\nIn the patch, a timer is added when menu governor detects a repeat mode and\nchoose a shallow C-state. The timer is set to a time out value that greater\nthan predicted time, and we conclude repeat mode prediction failure if timer is\ntriggered. When repeat mode happens as expected, the timer is not triggered\nand CPU waken up from C-states and it will cancel the timer initiatively.\nWhen repeat mode does not happen, the timer will be time out and menu governor\nwill quickly notice that the repeat mode prediction fails and then re-evaluates\ndeeper C-states possibility.\n\nBelow is another case which will clearly show the patch much benefit:\n\n#include \u003cstdlib.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csignal.h\u003e\n#include \u003csys/time.h\u003e\n#include \u003ctime.h\u003e\n#include \u003cpthread.h\u003e\n\nvolatile int * shutdown;\nvolatile long * count;\nint delay \u003d 20;\nint loop \u003d 8;\n\nvoid usage(void)\n{\n\tfprintf(stderr,\n\t\t\"Usage: idle_predict [options]\\n\"\n\t\t\"  --help\t-h  Print this help\\n\"\n\t\t\"  --thread\t-n  Thread number\\n\"\n\t\t\"  --loop     \t-l  Loop times in shallow Cstate\\n\"\n\t\t\"  --delay\t-t  Sleep time (uS)in shallow Cstate\\n\");\n}\n\nvoid *simple_loop() {\n\tint idle_num \u003d 1;\n\twhile (!(*shutdown)) {\n\t\t*count \u003d *count + 1;\n\n\t\tif (idle_num % loop)\n\t\t\tusleep(delay);\n\t\telse {\n\t\t\t/* sleep 1 second */\n\t\t\tusleep(1000000);\n\t\t\tidle_num \u003d 0;\n\t\t}\n\t\tidle_num++;\n\t}\n\n}\n\nstatic void sighand(int sig)\n{\n\t*shutdown \u003d 1;\n}\n\nint main(int argc, char *argv[])\n{\n\tsigset_t sigset;\n\tint signum \u003d SIGALRM;\n\tint i, c, er \u003d 0, thread_num \u003d 8;\n\tpthread_t pt[1024];\n\n\tstatic char optstr[] \u003d \"n:l:t:h:\";\n\n\twhile ((c \u003d getopt(argc, argv, optstr)) !\u003d EOF)\n\t\tswitch (c) {\n\t\t\tcase \u0027n\u0027:\n\t\t\t\tthread_num \u003d atoi(optarg);\n\t\t\t\tbreak;\n\t\t\tcase \u0027l\u0027:\n\t\t\t\tloop \u003d atoi(optarg);\n\t\t\t\tbreak;\n\t\t\tcase \u0027t\u0027:\n\t\t\t\tdelay \u003d atoi(optarg);\n\t\t\t\tbreak;\n\t\t\tcase \u0027h\u0027:\n\t\t\tdefault:\n\t\t\t\tusage();\n\t\t\t\texit(1);\n\t\t}\n\n\tprintf(\"thread\u003d%d,loop\u003d%d,delay\u003d%d\\n\",thread_num,loop,delay);\n\tcount \u003d malloc(sizeof(long));\n\tshutdown \u003d malloc(sizeof(int));\n\t*count \u003d 0;\n\t*shutdown \u003d 0;\n\n\tsigemptyset(\u0026sigset);\n\tsigaddset(\u0026sigset, signum);\n\tsigprocmask (SIG_BLOCK, \u0026sigset, NULL);\n\tsignal(SIGINT, sighand);\n\tsignal(SIGTERM, sighand);\n\n\tfor(i \u003d 0; i \u003c thread_num ; i++)\n\t\tpthread_create(\u0026pt[i], NULL, simple_loop, NULL);\n\n\tfor (i \u003d 0; i \u003c thread_num; i++)\n\t\tpthread_join(pt[i], NULL);\n\n\texit(0);\n}\n\nGet powertop V2 from git://github.com/fenrus75/powertop, build powertop.\nAfter build the above test application, then run it.\nTest plaform can be Intel Sandybridge or other recent platforms.\n#./idle_predict -l 10 \u0026\n#./powertop\n\nWe will find that deep C-state will dangle between 40%~100% and much time spent\non C1 state. It is because menu governor wrongly predict that repeat mode\nis kept, so it will choose the C1 shallow C-state even though it has chance to\nsleep 1 second in deep C-state.\n\nWhile after patched the kernel, we find that deep C-state will keep \u003e99.6%.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Youquan Song \u003cyouquan.song@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crafael.j.wysocki@intel.com\u003e\n"
    },
    {
      "commit": "d6ad418763888f617ac5b4849823e4cd670df1dd",
      "tree": "92d75b05849f98e1a20eb8fa8bb8a26818707cd2",
      "parents": [
        "47c8c91b2d60006df22146effe79ac4cdafd9205"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Feb 28 16:50:11 2012 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Nov 13 14:08:23 2012 -0500"
      },
      "message": "time: Kill xtime_lock, replacing it with jiffies_lock\n\nNow that timekeeping is protected by its own locks, rename\nthe xtime_lock to jifffies_lock to better describe what it\nprotects.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "f95a985781e9e986992351c971af7f7e46e06ed5",
      "tree": "780d6fe541d90189b646b467d09e1acea44e26f8",
      "parents": [
        "60e3bf14d4e2a9fcc11c2fc33f572bfafa8ece92"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Thu Oct 18 11:34:41 2012 +0200"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Nov 13 14:04:51 2012 -0500"
      },
      "message": "time/jiffies: Make clocksource_jiffies static\n\nCommit f1b8274 (\"clocksource: Cleanup clocksource selection\") removed all\nexternal references to clocksource_jiffies so there is no need to have the\nsymbol globally visible.\n\nFixes the following sparse warning:\n  CHECK   kernel/time/jiffies.c kernel/time/jiffies.c:61:20: warning: symbol \u0027clocksource_jiffies\u0027 was not declared. Should it be static?\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "65f8f9a1c1db831e5159e3e3e50912d1f214cd0c",
      "tree": "13dc8b15ea17738a2208b959a5c3a88a75aa922c",
      "parents": [
        "dd87b22f9096863adfd5daf281beb0a83379bd8f"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Wed Oct 31 06:27:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 11:41:35 2012 -0400"
      },
      "message": "time: remove the timecompare code.\n\nThis patch removes the timecompare code from the kernel. The top five\nreasons to do this are:\n\n1. There are no more users of this code.\n2. The original idea was a bit weak.\n3. The original author has disappeared.\n4. The code was not general purpose but tuned to a particular hardware,\n5. There are better ways to accomplish clock synchronization.\n\nSigned-off-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nAcked-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nTested-by: Bob Liu \u003clliubbo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8f61116c1ce342804a0897b0a80eb4df5f19453",
      "tree": "9e0fb6cd0b5e039bbba4a54da17764c3da2552e3",
      "parents": [
        "0acfd009be1f7eedb450dda1bec4c2a03d7c808b"
      ],
      "author": {
        "name": "Chuansheng Liu",
        "email": "chuansheng.liu@intel.com",
        "time": "Thu Oct 25 01:07:35 2012 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 01 12:13:59 2012 +0100"
      },
      "message": "tick: Correct the comments for tick_sched_timer()\n\nIn the comments of function tick_sched_timer(), the sentence\n\"timer-\u003ebase-\u003ecpu_base-\u003elock held\" is not right.\n\nIn function __run_hrtimer(), before call timer-\u003efunction(),\nthe cpu_base-\u003elock has been unlocked.\n\nSigned-off-by: liu chuansheng \u003cchuansheng.liu@intel.com\u003e\nCc: fei.li@intel.com\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1351098455.15558.1421.camel@cliu38-desktop-build\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "351f181f9134d71efd46ddf0c0abca31b58cd79b",
      "tree": "e66399009438027512415bdebd894d59ccfb086d",
      "parents": [
        "0e9e3e306c7e472bdcffa34c4c4584301eda03b3"
      ],
      "author": {
        "name": "Chuansheng Liu",
        "email": "chuansheng.liu@intel.com",
        "time": "Thu Oct 25 01:07:35 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Oct 24 10:16:51 2012 +0200"
      },
      "message": "timers, sched: Correct the comments for tick_sched_timer()\n\nIn the comments of function tick_sched_timer(), the sentence\n\"timer-\u003ebase-\u003ecpu_base-\u003elock held\" is not right.\n\nIn function __run_hrtimer(), before call timer-\u003efunction(),\nthe cpu_base-\u003elock has been unlocked.\n\nSigned-off-by: liu chuansheng \u003cchuansheng.liu@intel.com\u003e\nCc: fei.li@intel.com\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1351098455.15558.1421.camel@cliu38-desktop-build\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "94a571402012e0dfaa23bbbdd64d033f48477d86",
      "tree": "84118deba518eedd0aae50155f214712ac594813",
      "parents": [
        "9e8f559b08cbc1cfcbf093840a2a760a946cb90f"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Oct 15 16:17:16 2012 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Oct 15 18:51:08 2012 +0200"
      },
      "message": "tick: Conditionally build nohz specific code in tick handler\n\nThis optimize a bit the high res tick sched handler.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "9e8f559b08cbc1cfcbf093840a2a760a946cb90f",
      "tree": "b586d0a1449972c96bcbd6c1c81b96c0c1b759dd",
      "parents": [
        "5bb962269c29cbb878414cddf0ebdff8c5cdef0a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Oct 15 02:43:03 2012 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Oct 15 18:42:25 2012 +0200"
      },
      "message": "tick: Consolidate tick handling for high and low res handlers\n\nBesides unifying code, this also adds the idle check before\nprocessing idle accounting specifics on the low res handler.\nThis way we also generalize this part of the nohz code for\n!CONFIG_HIGH_RES_TIMERS to prepare for the adaptive tickless\nfeatures.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "5bb962269c29cbb878414cddf0ebdff8c5cdef0a",
      "tree": "b6bb65f0ef0b268726c396def14ec2cfa963122b",
      "parents": [
        "ddffeb8c4d0331609ef2581d84de4d763607bd37"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Oct 15 02:03:27 2012 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Oct 15 18:35:11 2012 +0200"
      },
      "message": "tick: Consolidate timekeeping handling code\n\nUnify the duplicated timekeeping handling code of low and high res tick\nsched handlers.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "03d3602a833715f83ea53b9feb078b9c4c5f6c1a",
      "tree": "7b63ec6753dd65e61392017e1aba2ee1e6b4bcd1",
      "parents": [
        "0588f1f934791b79d0a1e9b327be9b6eb361d2b8",
        "5b3900cd409466c0070b234d941650685ad0c791"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 12 22:17:48 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 12 22:17:48 2012 +0900"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer core update from Thomas Gleixner:\n - Bug fixes (one for a longstanding dead loop issue)\n - Rework of time related vsyscalls\n - Alarm timer updates\n - Jiffies updates to remove compile time dependencies\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  timekeeping: Cast raw_interval to u64 to avoid shift overflow\n  timers: Fix endless looping between cascade() and internal_add_timer()\n  time/jiffies: bring back unconditional LATCH definition\n  time: Convert x86_64 to using new update_vsyscall\n  time: Only do nanosecond rounding on GENERIC_TIME_VSYSCALL_OLD systems\n  time: Introduce new GENERIC_TIME_VSYSCALL\n  time: Convert CONFIG_GENERIC_TIME_VSYSCALL to CONFIG_GENERIC_TIME_VSYSCALL_OLD\n  time: Move update_vsyscall definitions to timekeeper_internal.h\n  time: Move timekeeper structure to timekeeper_internal.h for vsyscall changes\n  jiffies: Remove compile time assumptions about CLOCK_TICK_RATE\n  jiffies: Kill unused TICK_USEC_TO_NSEC\n  alarmtimer: Rename alarmtimer_remove to alarmtimer_dequeue\n  alarmtimer: Remove unused helpers \u0026 defines\n  alarmtimer: Use hrtimer per-alarm instead of per-base\n  alarmtimer: Implement minimum alarm interval for allowing suspend\n"
    },
    {
      "commit": "0588f1f934791b79d0a1e9b327be9b6eb361d2b8",
      "tree": "c0b305c494ed32df711c576d9dbd78c8cb394654",
      "parents": [
        "9d55ab71b735621a63c8923ba934d87879847cef",
        "301a5cba2887d1f640e6d5184b05a6d7132017d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 12 22:13:05 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 12 22:13:05 2012 +0900"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar:\n \"A CPU hotplug related crash fix and a nohz accounting fixlet.\"\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Update sched_domains_numa_masks[][] when new cpus are onlined\n  sched: Ensure \u0027sched_domains_numa_levels\u0027 is safe to use in other functions\n  nohz: Fix one jiffy count too far in idle cputime\n"
    },
    {
      "commit": "5b3900cd409466c0070b234d941650685ad0c791",
      "tree": "1a381a23d3d06cfc8941ee2e5dd400ba6cea6f21",
      "parents": [
        "26cff4e2aa4d666dc6a120ea34336b5057e3e187"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Oct 09 10:18:23 2012 +0300"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 09 21:27:14 2012 +0200"
      },
      "message": "timekeeping: Cast raw_interval to u64 to avoid shift overflow\n\nWe fixed a bunch of integer overflows in timekeeping code during the 3.6\ncycle.  I did an audit based on that and found this potential overflow.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/20121009071823.GA19159@elgon.mountain\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "2b17c545a4cdbbbadcd7f1e9684c2d7db8f085a6",
      "tree": "a783e9c98438f0028ef4411a81eb0ca2a8387f55",
      "parents": [
        "b3eda8d05c1afe722dc19be3fee7eeadc75e25e2"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Oct 04 01:46:44 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Oct 05 10:22:20 2012 +0200"
      },
      "message": "nohz: Fix one jiffy count too far in idle cputime\n\nWhen we stop the tick in idle, we save the current jiffies value\nin ts-\u003eidle_jiffies. This snapshot is substracted from the later\nvalue of jiffies when the tick is restarted and the resulting\ndelta is accounted as idle cputime. This is how we handle the\nidle cputime accounting without the tick.\n\nBut sometimes we need to schedule the next tick to some time in\nthe future instead of completely stopping it. In this case, a\ntick may happen before we restart the periodic behaviour and\nfrom that tick we account one jiffy to idle cputime as usual but\nwe also increment the ts-\u003eidle_jiffies snapshot by one so that\nwhen we compute the delta to account, we substract the one jiffy\nwe just accounted.\n\nTo prepare for stopping the tick outside idle, we introduced a\ncheck that prevents from fixing up that ts-\u003eidle_jiffies if we\nare not running the idle task. But we use idle_cpu() for that\nand this is a problem if we run the tick while another CPU\nremotely enqueues a ttwu to our runqueue:\n\nCPU 0:                            CPU 1:\n\ntick_sched_timer() {              ttwu_queue_remote()\n       if (idle_cpu(CPU 0))\n           ts-\u003eidle_jiffies++;\n}\n\nHere, idle_cpu() notes that \u0026rq-\u003ewake_list is not empty and\nhence won\u0027t consider the CPU as idle. As a result,\nts-\u003eidle_jiffies won\u0027t be incremented. But this is wrong because\nwe actually account the current jiffy to idle cputime. And that\njiffy won\u0027t get substracted from the nohz time delta. So in the\nend, this jiffy is accounted twice.\n\nFix this by changing idle_cpu(smp_processor_id()) with\nis_idle_task(current). This way the jiffy is substracted\ncorrectly even if a ttwu operation is enqueued on the CPU.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e # 3.5+\nLink: http://lkml.kernel.org/r/1349308004-3482-1-git-send-email-fweisbec@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "16642a2e7be23bbda013fc32d8f6c68982eab603",
      "tree": "346ae485f485f6901e5d8150f0d34d178a7dd448",
      "parents": [
        "51562cba98939da0a1d10fe7c25359b77a069033",
        "b9142167a2bb979b58b98ffcd928a311b55cbd9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 18:32:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 18:32:35 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.7-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management updates from Rafael J Wysocki:\n\n - Improved system suspend/resume and runtime PM handling for the SH\n   TMU, CMT and MTU2 clock event devices (also used by ARM/shmobile).\n\n - Generic PM domains framework extensions related to cpuidle support\n   and domain objects lookup using names.\n\n - ARM/shmobile power management updates including improved support for\n   the SH7372\u0027s A4S power domain containing the CPU core.\n\n - cpufreq changes related to AMD CPUs support from Matthew Garrett,\n   Andre Przywara and Borislav Petkov.\n\n - cpu0 cpufreq driver from Shawn Guo.\n\n - cpufreq governor fixes related to the relaxing of limit from Michal\n   Pecio.\n\n - OMAP cpufreq updates from Axel Lin and Richard Zhao.\n\n - cpuidle ladder governor fixes related to the disabling of states from\n   Carsten Emde and me.\n\n - Runtime PM core updates related to the interactions with the system\n   suspend core from Alan Stern and Kevin Hilman.\n\n - Wakeup sources modification allowing more helper functions to be\n   called from interrupt context from John Stultz and additional\n   diagnostic code from Todd Poynor.\n\n - System suspend error code path fix from Feng Hong.\n\nFixed up conflicts in cpufreq/powernow-k8 that stemmed from the\nworkqueue fixes conflicting fairly badly with the removal of support for\nhardware P-state chips.  The changes were independent but somewhat\nintertwined.\n\n* tag \u0027pm-for-3.7-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)\n  Revert \"PM QoS: Use spinlock in the per-device PM QoS constraints code\"\n  PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE, even when disabled, v2\n  cpuidle: rename function name \"__cpuidle_register_driver\", v2\n  cpufreq: OMAP: Check IS_ERR() instead of NULL for omap_device_get_by_hwmod_name\n  cpuidle: remove some empty lines\n  PM: Prevent runtime suspend during system resume\n  PM QoS: Use spinlock in the per-device PM QoS constraints code\n  PM / Sleep: use resume event when call dpm_resume_early\n  cpuidle / ACPI : move cpuidle_device field out of the acpi_processor_power structure\n  ACPI / processor: remove pointless variable initialization\n  ACPI / processor: remove unused function parameter\n  cpufreq: OMAP: remove loops_per_jiffy recalculate for smp\n  sections: fix section conflicts in drivers/cpufreq\n  cpufreq: conservative: update frequency when limits are relaxed\n  cpufreq / ondemand: update frequency when limits are relaxed\n  properly __init-annotate pm_sysrq_init()\n  cpufreq: Add a generic cpufreq-cpu0 driver\n  PM / OPP: Initialize OPP table from device tree\n  ARM: add cpufreq transiton notifier to adjust loops_per_jiffy for smp\n  cpufreq: Remove support for hardware P-state chips from powernow-k8\n  ...\n"
    },
    {
      "commit": "0b981cb94bc63a2d0e5eccccdca75fe57643ffce",
      "tree": "966ad6e6807fd1041d9962c9904e032a5ab07a65",
      "parents": [
        "4cba3335826cbb36a218c3f5a1387e2c7c7ca9aa",
        "fdf9c356502ae02238efcdf90cefd7b473a63fd4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 10:43:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 01 10:43:39 2012 -0700"
      },
      "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 \"Continued quest to clean up and enhance the cputime code by Frederic\n  Weisbecker, in preparation for future tickless kernel features.\n\n  Other than that, smallish changes.\"\n\nFix up trivial conflicts due to additions next to each other in arch/{x86/}Kconfig\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  cputime: Make finegrained irqtime accounting generally available\n  cputime: Gather time/stats accounting config options into a single menu\n  ia64: Reuse system and user vtime accounting functions on task switch\n  ia64: Consolidate user vtime accounting\n  vtime: Consolidate system/idle context detection\n  cputime: Use a proper subsystem naming for vtime related APIs\n  sched: cpu_power: enable ARCH_POWER\n  sched/nohz: Clean up select_nohz_load_balancer()\n  sched: Fix load avg vs. cpu-hotplug\n  sched: Remove __ARCH_WANT_INTERRUPTS_ON_CTXSW\n  sched: Fix nohz_idle_balance()\n  sched: Remove useless code in yield_to()\n  sched: Add time unit suffix to sched sysctl knobs\n  sched/debug: Limit sd-\u003e*_idx range on sysctl\n  sched: Remove AFFINE_WAKEUPS feature flag\n  s390: Remove leftover account_tick_vtime() header\n  cputime: Consolidate vtime handling on context switch\n  sched: Move cputime code to its own file\n  cputime: Generalize CONFIG_VIRT_CPU_ACCOUNTING\n  tile: Remove SD_PREFER_LOCAL leftover\n  ...\n"
    },
    {
      "commit": "593d1006cdf710ab3469c0c37c184fea0bc3da97",
      "tree": "e4db58440018a52089e8d6b39160f753ab10df99",
      "parents": [
        "5217192b85480353aeeb395574e60d0db04f3676",
        "9b20aa63b8fc9a6a3b6831f4eae3621755e51211"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Sep 25 10:03:56 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Sep 25 10:03:56 2012 -0700"
      },
      "message": "Merge remote-tracking branch \u0027tip/core/rcu\u0027 into next.2012.09.25b\n\nResolved conflict in kernel/sched/core.c using Peter Zijlstra\u0027s\napproach from https://lkml.org/lkml/2012/9/5/585.\n"
    },
    {
      "commit": "92bb1fcf57a0c2e45f7e67fbf0a8ed475a749236",
      "tree": "f92496be64d01da6cf3ba54c31c4c4753c10bd59",
      "parents": [
        "576094b7f0aaf41aadab9b7d4e5bd85faa432711"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 04 15:38:12 2012 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:08 2012 -0400"
      },
      "message": "time: Only do nanosecond rounding on GENERIC_TIME_VSYSCALL_OLD systems\n\nWe only do rounding to the next nanosecond so we don\u0027t see minor\n1ns inconsistencies in the vsyscall implementations. Since we\u0027re\nchanging the vsyscall implementations to avoid this, conditionalize\nthe rounding only to the GENERIC_TIME_VSYSCALL_OLD architectures.\n\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "576094b7f0aaf41aadab9b7d4e5bd85faa432711",
      "tree": "9cf7a86b58e5b6242625663af274b594085487fa",
      "parents": [
        "706394211648117762edfaeffd6fc04bf3b1a75d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 11 19:58:13 2012 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:08 2012 -0400"
      },
      "message": "time: Introduce new GENERIC_TIME_VSYSCALL\n\nNow that we moved everyone over to GENERIC_TIME_VSYSCALL_OLD,\nintroduce the new declaration and config option for the new\nupdate_vsyscall method.\n\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "706394211648117762edfaeffd6fc04bf3b1a75d",
      "tree": "9ce33be0d144430c4089656a9e20c74d829d4638",
      "parents": [
        "189374aed657e2228ad6b39ece438c9cdafc8dae"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 04 15:34:21 2012 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:07 2012 -0400"
      },
      "message": "time: Convert CONFIG_GENERIC_TIME_VSYSCALL to CONFIG_GENERIC_TIME_VSYSCALL_OLD\n\nTo help migrate archtectures over to the new update_vsyscall method,\nredfine CONFIG_GENERIC_TIME_VSYSCALL as CONFIG_GENERIC_TIME_VSYSCALL_OLD\n\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "d7b4202e0581683f1a14fe598633da0067f5241e",
      "tree": "437a9d3e935c8ec9f00ed091f71e5483f4669978",
      "parents": [
        "b3c869d35b9b014f63ac0beacd31c57372084d01"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 04 15:12:07 2012 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:05 2012 -0400"
      },
      "message": "time: Move timekeeper structure to timekeeper_internal.h for vsyscall changes\n\nWe\u0027re going to need to access the timekeeper in update_vsyscall,\nso make the structure available for those who need it.\n\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "b3c869d35b9b014f63ac0beacd31c57372084d01",
      "tree": "ef60ae8b88a063dbe4d3894220223dd1fb39e639",
      "parents": [
        "7916a1f14f06ac93e4cec81139fe4f7ec13b572c"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 04 12:42:27 2012 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:05 2012 -0400"
      },
      "message": "jiffies: Remove compile time assumptions about CLOCK_TICK_RATE\n\nCLOCK_TICK_RATE is used to accurately caclulate exactly how\na tick will be at a given HZ.\n\nThis is useful, because while we\u0027d expect NSEC_PER_SEC/HZ,\nthe underlying hardware will have some granularity limit,\nso we won\u0027t be able to have exactly HZ ticks per second.\n\nThis slight error can cause timekeeping quality problems\nwhen using the jiffies or other jiffies driven clocksources.\nThus we currently use compile time CLOCK_TICK_RATE value to\ngenerate SHIFTED_HZ and NSEC_PER_JIFFIES, which we then use\nto adjust the jiffies clocksource to correct this error.\n\nUnfortunately though, since CLOCK_TICK_RATE is a compile\ntime value, and the jiffies clocksource is registered very\nearly during boot, there are a number of cases where there\nare different possible hardware timers that have different\ntick rates. This causes problems in cases like ARM where\nthere are numerous different types of hardware, each having\ntheir own compile-time CLOCK_TICK_RATE, making it hard to\naccurately support different hardware with a single kernel.\n\nFor the most part, this doesn\u0027t matter all that much, as not\ntoo many systems actually utilize the jiffies or jiffies driven\nclocksource. Usually there are other highres clocksources\nwho\u0027s granularity error is negligable.\n\nEven so, we have some complicated calcualtions that we do\neverywhere to handle these edge cases.\n\nThis patch removes the compile time SHIFTED_HZ value, and\nintroduces a register_refined_jiffies() function. This results\nin the default jiffies clock as being assumed a perfect HZ\nfreq, and allows archtectures that care about jiffies accuracy\nto call register_refined_jiffies() with the tick rate, specified\ndynamically at boot.\n\nThis allows us, where necessary, to not have a compile time\nCLOCK_TICK_RATE constant, simplifies the jiffies code, and\nstill provides a way to have an accurate jiffies clock.\n\nNOTE: Since this patch does not add register_refinied_jiffies()\ncalls for every arch, it may cause time quality regressions\nin some cases. Its likely these will not be noticable, but\nif they are an issue, adding the following to the end of\nsetup_arch() should resolve the regression:\n\tregister_refinied_jiffies(CLOCK_TICK_RATE)\n\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "a65bcc12ad74b3efe78847945a1e36cfcbcbc4e6",
      "tree": "29b7e1318f40453c0bf3b60dc5c0e14ac6e2ccf9",
      "parents": [
        "a269eb50bd5793e43589270c2f326f4f7519ddda"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Sep 13 19:25:22 2012 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:03 2012 -0400"
      },
      "message": "alarmtimer: Rename alarmtimer_remove to alarmtimer_dequeue\n\nNow that alarmtimer_remove has been simplified, change\nits name to _dequeue to better match its paired _enqueue\nfunction.\n\nCc: Arve Hjønnevåg \u003carve@android.com\u003e\nCc: Colin Cross \u003cccross@android.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "dae373be9fec6f850159a05af3a1c36236a70d43",
      "tree": "4a58f2fd66b2cbee680dfd3b83d78e1cfea34128",
      "parents": [
        "59a93c27c4892f04dfd8f91f8b64d0d6eae43e6e"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Sep 13 19:12:16 2012 -0400"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:02 2012 -0400"
      },
      "message": "alarmtimer: Use hrtimer per-alarm instead of per-base\n\nArve Hjønnevåg reported numerous crashes from the\n\"BUG_ON(timer-\u003estate !\u003d HRTIMER_STATE_CALLBACK)\" check\nin __run_hrtimer after it called alarmtimer_fired.\n\nIt ends up the alarmtimer code was not properly handling\npossible failures of hrtimer_try_to_cancel, and because\nthese faulres occur when the underlying base hrtimer is\nbeing run, this limits the ability to properly handle\nmodifications to any alarmtimers on that base.\n\nBecause much of the logic duplicates the hrtimer logic,\nit seems that we might as well have a per-alarmtimer\nhrtimer, and avoid the extra complextity of trying to\nmultiplex many alarmtimers off of one hrtimer.\n\nThus this patch moves the hrtimer to the alarm structure\nand simplifies the management logic.\n\nChangelog:\nv2:\n* Includes a fix for double alarm_start calls found by\n  Arve\n\nCc: Arve Hjønnevåg \u003carve@android.com\u003e\nCc: Colin Cross \u003cccross@android.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Arve Hjønnevåg \u003carve@android.com\u003e\nTested-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "59a93c27c4892f04dfd8f91f8b64d0d6eae43e6e",
      "tree": "fcdf1189ed72a2ffaafb4a36b8224edea0ea0f56",
      "parents": [
        "ec145babe754f9ea1079034a108104b6001e001c"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Thu Aug 09 00:37:27 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Sep 24 12:38:01 2012 -0400"
      },
      "message": "alarmtimer: Implement minimum alarm interval for allowing suspend\n\nalarmtimer suspend return -EBUSY if the next alarm will fire in less\nthan 2 seconds.  This allows one RTC seconds tick to occur subsequent\nto this check before the alarm wakeup time is set, ensuring the wakeup\ntime is still in the future (assuming the RTC does not tick one more\nsecond prior to setting the alarm).\n\nIf suspend is rejected due to an imminent alarm, hold a wakeup source\nfor 2 seconds to process the alarm prior to reattempting suspend.\n\nIf setting the alarm incurs an -ETIME for an alarm set in the past,\nor any other problem setting the alarm, abort suspend and hold a\nwakelock for 1 second while the alarm is allowed to be serviced or\nother hopefully transient conditions preventing the alarm clear up.\n\nSigned-off-by: Todd Poynor \u003ctoddpoynor@google.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "803b0ebae921714d1c36f0996db8125eda5fae53",
      "tree": "06366b934b3e703e4f8e633d853e9eb22495931b",
      "parents": [
        "7a11e2058f02feb6884efb067f328012c318a13f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Aug 23 08:34:07 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Sep 23 07:42:52 2012 -0700"
      },
      "message": "time: RCU permitted to stop idle entry via softirq\n\nThe can_stop_idle_tick() function complains if a softirq vector is\nraised too late in the idle-entry process, presumably in order to\nprevent dangling softirq invocations from being delayed across the\nfull idle period, which might be indefinitely long -- and if softirq\nwas asserted any later than the call to this function, such a delay\nmight well happen.\n\nHowever, RCU needs to be able to use softirq to stop idle entry in\norder to be able to drain RCU callbacks from the current CPU, which in\nturn enables faster entry into dyntick-idle mode, which in turn reduces\npower consumption.  Because RCU takes this action at a well-defined\npoint in the idle-entry path, it is safe for RCU to take this approach.\n\nThis commit therefore silences the error message that is sometimes\nproduced when the going-idle CPU suddenly finds that it has an RCU_SOFTIRQ\nto process.  The error message will continue to be issued for other\nsoftirq vectors.\n\nReported-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "519b3b742d7d29c3386f0f35f3cee5dd362dd8e2",
      "tree": "1be195c58ea6e209ddd1c1325e3c9d9565972f21",
      "parents": [
        "18f5600ba2629feca202a7d6387b9c32371af329",
        "ec145babe754f9ea1079034a108104b6001e001c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 21 14:25:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 21 14:25:46 2012 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer fix from Ingo Molnar:\n \"One more timekeeping fix for v3.6\"\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  time: Fix timeekeping_get_ns overflow on 32bit systems\n"
    },
    {
      "commit": "00e8b2613331042bbe0177e5b9bb5c8a654b14ae",
      "tree": "cfec260ba68b007ddd090c8f63c879b5bb58d2c4",
      "parents": [
        "5698bd757d55b1bb87edd1a9744ab09c142abfc2",
        "feb70af0e3ac6817327be70b47731039ea135dbc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 17 20:25:18 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 17 20:25:18 2012 +0200"
      },
      "message": "Merge branch \u0027pm-timers\u0027\n\n* pm-timers:\n  PM: Do not use the syscore flag for runtime PM\n  sh: MTU2: Basic runtime PM support\n  sh: CMT: Basic runtime PM support\n  sh: TMU: Basic runtime PM support\n  PM / Domains: Do not measure start time for \"irq safe\" devices\n  PM / Domains: Move syscore flag from subsys data to struct device\n  PM / Domains: Rename the always_on device flag to syscore\n  PM / Runtime: Allow helpers to be called by early platform drivers\n  PM: Reorganize device PM initialization\n  sh: MTU2: Introduce clock events suspend/resume routines\n  sh: CMT: Introduce clocksource/clock events suspend/resume routines\n  sh: TMU: Introduce clocksource/clock events suspend/resume routines\n  timekeeping: Add suspend and resume of clock event devices\n  PM / Domains: Add power off/on function for system core suspend stage\n  PM / Domains: Introduce simplified power on routine for system resume\n"
    },
    {
      "commit": "ec145babe754f9ea1079034a108104b6001e001c",
      "tree": "2b65fdc6916989cacdc2bbcc94a48ef847eae099",
      "parents": [
        "0bd1189e239c76eb3a50e458548fbe7e4a5dfff1"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Sep 11 19:26:03 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Sep 13 17:39:14 2012 +0200"
      },
      "message": "time: Fix timeekeping_get_ns overflow on 32bit systems\n\nDaniel Lezcano reported seeing multi-second stalls from\nkeyboard input on his T61 laptop when NOHZ and CPU_IDLE\nwere enabled on a 32bit kernel.\n\nHe bisected the problem down to commit\n1e75fa8be9fb6 (\"time: Condense timekeeper.xtime into xtime_sec\").\n\nAfter reproducing this issue, I narrowed the problem down\nto the fact that timekeeping_get_ns() returns a 64bit\nnsec value that hasn\u0027t been accumulated. In some cases\nthis value was being then stored in timespec.tv_nsec\n(which is a long).\n\nOn 32bit systems, with idle times larger then 4 seconds\n(or less, depending on the value of xtime_nsec), the\nreturned nsec value would overflow 32bits. This limited\nkept time from increasing, causing timers to not expire.\n\nThe fix is to make sure we don\u0027t directly store the\nresult of timekeeping_get_ns() into a tv_nsec field,\ninstead using a 64bit nsec value which can then be\nadded into the timespec via timespec_add_ns().\n\nReported-and-bisected-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nTested-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1347405963-35715-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c1cc017c59c44d9ede7003631c43adc0cfdce2f9",
      "tree": "7db4bad5a78af2bdc5197740012e462811422d40",
      "parents": [
        "08bedae1d0acd8c9baf514fb69fa199d0c8345f6"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Mon Sep 10 15:10:58 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Sep 13 16:52:05 2012 +0200"
      },
      "message": "sched/nohz: Clean up select_nohz_load_balancer()\n\nThere is no load_balancer to be selected now. It just sets the\nstate of the nohz tick to stop.\n\nSo rename the function, pass the \u0027cpu\u0027 as a parameter and then\nremove the useless call from tick_nohz_restart_sched_tick().\n\n[ s/set_nohz_tick_stopped/nohz_balance_enter_idle/g\n  s/clear_nohz_tick_stopped/nohz_balance_exit_idle/g ]\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1347261059-24747-1-git-send-email-alex.shi@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "749c8814f08f12baa4a9c2812a7c6ede7d69507d",
      "tree": "c557a90a5f5d94b6de660b293bc7c24cf7e0d0a4",
      "parents": [
        "f319da0c6894fcf55e21320e40506418a2aad629"
      ],
      "author": {
        "name": "Charles Wang",
        "email": "muming.wq@taobao.com",
        "time": "Mon Aug 20 16:02:33 2012 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Sep 04 14:30:29 2012 +0200"
      },
      "message": "sched: Add missing call to calc_load_exit_idle()\n\nAzat Khuzhin reported high loadavg in Linux v3.6\n\nAfter checking the upstream scheduler code, I found Peter\u0027s commit:\n\n  5167e8d5417b sched/nohz: Rewrite and fix load-avg computation -- again\n\nnot fully applied, missing the call to calc_load_exit_idle().\n\nAfter that idle exit in sampling window will always be calculated\nto non-idle, and the load will be higher than normal.\n\nThis patch adds the missing call to calc_load_exit_idle().\n\nSigned-off-by: Charles Wang \u003cmuming.wq@taobao.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1345449754-27130-1-git-send-email-muming.wq@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "adc78e6b9946a4b22e22403d961f3b03c469e5d3",
      "tree": "e0837d6a5778c9bfa0a698f10a7cbedf9cf76cd0",
      "parents": [
        "77f827de07432a74821cf0f831d699544b2d474f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Aug 06 01:40:41 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Sep 04 01:36:01 2012 +0200"
      },
      "message": "timekeeping: Add suspend and resume of clock event devices\n\nSome clock event devices, for example such that belong to PM domains,\nneed to be handled in a spcial way during the timekeeping suspend\nand resume (which takes place in the system core, or \"syscore\",\nstages of system power transitions) in analogy with clock sources.\n\nIntroduce .suspend() and .resume() callbacks for clock event devices\nthat will be executed by timekeeping_suspend/_resume(), respectively,\nnext the the clock sources\u0027 .suspend() and .resume() callbacks.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "cee58483cf56e0ba355fdd97ff5e8925329aa936",
      "tree": "8cc2dc979a93a48a07c25d309250a2271e508e21",
      "parents": [
        "7a611e69b26069a511d9d5251c6a28af6c521121"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Aug 31 13:30:06 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 01 10:24:48 2012 -0700"
      },
      "message": "time: Move ktime_t overflow checking into timespec_valid_strict\n\nAndreas Bombe reported that the added ktime_t overflow checking added to\ntimespec_valid in commit 4e8b14526ca7 (\"time: Improve sanity checking of\ntimekeeping inputs\") was causing problems with X.org because it caused\ntimeouts larger then KTIME_T to be invalid.\n\nPreviously, these large timeouts would be clamped to KTIME_MAX and would\nnever expire, which is valid.\n\nThis patch splits the ktime_t overflow checking into a new\ntimespec_valid_strict function, and converts the timekeeping codes\ninternal checking to use this more strict function.\n\nReported-and-tested-by: Andreas Bombe \u003caeb@debian.org\u003e\nCc: Zhouping Liu \u003czliu@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf2ac312195155511a0f79325515cbb61929898a",
      "tree": "514057045cf52d3da13f551661131fd102f67376",
      "parents": [
        "6ea565a9be32a3c8d1092017686f183b6d8c4514"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Aug 21 20:30:49 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:13 2012 +0200"
      },
      "message": "time: Avoid making adjustments if we haven\u0027t accumulated anything\n\nIf update_wall_time() is called and the current offset isn\u0027t large\nenough to accumulate, avoid re-calling timekeeping_adjust which may\nchange the clock freq and can cause 1ns inconsistencies with\nCLOCK_REALTIME_COARSE/CLOCK_MONOTONIC_COARSE.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1345595449-34965-5-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6ea565a9be32a3c8d1092017686f183b6d8c4514",
      "tree": "2db67e9659f91f11997998ba9845f4c7cb0d89ab",
      "parents": [
        "85dc8f05c93c8105987de9d7e7cebf15a72ff4ec"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Aug 21 20:30:48 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:13 2012 +0200"
      },
      "message": "time: Avoid potential shift overflow with large shift values\n\nAndreas Schwab noticed that the 1 \u003c\u003c tk-\u003eshift could overflow if the\nshift value was greater than 30, since 1 would be a 32bit long on\n32bit architectures. This issue was introduced by 1e75fa8be (time:\nCondense timekeeper.xtime into xtime_sec)\n\nUse 1ULL instead to ensure we don\u0027t overflow on the shift.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1345595449-34965-4-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "85dc8f05c93c8105987de9d7e7cebf15a72ff4ec",
      "tree": "5be946b9b6f5be3c20fa4c6692b3a4491b86b0a9",
      "parents": [
        "784ffcbb96c3a97b4c64fd48b1dfe12ef3fcbcda"
      ],
      "author": {
        "name": "Andreas Schwab",
        "email": "schwab@linux-m68k.org",
        "time": "Tue Aug 21 20:30:47 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:13 2012 +0200"
      },
      "message": "time: Fix casting issue in timekeeping_forward_now\n\narch_gettimeoffset returns a u32 value which when shifted by tk-\u003eshift\ncan overflow. This issue was introduced with 1e75fa8be (time: Condense\ntimekeeper.xtime into xtime_sec)\n\nCast it to u64 first.\n\nSigned-off-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1345595449-34965-3-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "784ffcbb96c3a97b4c64fd48b1dfe12ef3fcbcda",
      "tree": "bd413e1c43512c1963d25ed25dd617642a639444",
      "parents": [
        "4e8b14526ca7fb046a81c94002c1c43b6fdf0e9b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Aug 21 20:30:46 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 10:42:12 2012 +0200"
      },
      "message": "time: Ensure we normalize the timekeeper in tk_xtime_add\n\nAndreas noticed problems with resume on specific hardware after commit\n1e75fa8b (time: Condense timekeeper.xtime into xtime_sec) combined\nwith commit b44d50dca (time: Fix casting issue in tk_set_xtime and\ntk_xtime_add)\n\nAfter some digging I realized we aren\u0027t normalizing the timekeeper\nafter the add. Add the missing normalize call.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nTested-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nLink: http://lkml.kernel.org/r/1345595449-34965-2-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4e8b14526ca7fb046a81c94002c1c43b6fdf0e9b",
      "tree": "d0681e8e99fe2fbae1bfa574a8a68320ae5c7c1f",
      "parents": [
        "3bf671af14d591ede9251acb0085e8017f3705e7"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Aug 08 15:36:20 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 15 15:54:01 2012 +0200"
      },
      "message": "time: Improve sanity checking of timekeeping inputs\n\nUnexpected behavior could occur if the time is set to a value large\nenough to overflow a 64bit ktime_t (which is something larger then the\nyear 2262).\n\nAlso unexpected behavior could occur if large negative offsets are\ninjected via adjtimex.\n\nSo this patch improves the sanity check timekeeping inputs by\nimproving the timespec_valid() check, and then makes better use of\ntimespec_valid() to make sure we don\u0027t set the time to an invalid\nnegative value or one that overflows ktime_t.\n\nNote: This does not protect from setting the time close to overflowing\nktime_t and then letting natural accumulation cause the overflow.\n\nReported-by: CAI Qian \u003ccaiqian@redhat.com\u003e\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Zhouping Liu \u003czliu@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1344454580-17031-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1d17d17484d40f2d5b35c79518597a2b25296996",
      "tree": "a11000cb9a7197b5d70573d0faa417cb36ba0e4b",
      "parents": [
        "e7882d6c40874a5b5033ca85f7508a602a60b662"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Aug 04 21:21:14 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Aug 05 12:37:14 2012 +0200"
      },
      "message": "time: Fix adjustment cleanup bug in timekeeping_adjust()\n\nTetsuo Handa reported that sporadically the system clock starts\ncounting up too quickly which is enough to confuse the hangcheck\ntimer to print a bogus stall warning.\n\nCommit 2a8c0883 \"time: Move xtime_nsec adjustment underflow handling\ntimekeeping_adjust\" overlooked this exit path:\n\n        } else\n                return;\n\nwhich should really be a proper exit sequence, fixing the bug as a\nside effect.\n\nAlso make the flow more readable by properly balancing curly\nbraces.\n\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e wrote:\nTested-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e wrote:\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: john.stultz@linaro.org\nCc: a.p.zijlstra@chello.nl\nCc: richardcochran@gmail.com\nCc: prarit@redhat.com\nLink: http://lkml.kernel.org/r/20120804192114.GA28347@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4e250fdde9be50581c7dd5fed88c9b9960615314",
      "tree": "12f19a5c6f55f67d2b8dc2f24d9efa25faaa8eab",
      "parents": [
        "6d0ef903e2bda70da124c10d8ad89f2382c87991"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 27 14:48:13 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:09:14 2012 +0200"
      },
      "message": "time: Remove all direct references to timekeeper\n\nIngo noted that the numerous timekeeper.value references made\nthe timekeeping code ugly and caused many long lines that\nhad to be broken up. He recommended replacing timekeeper.value\nreferences with tk-\u003evalue.\n\nThis patch provides a local tk value for all top level time\nfunctions and sets it to \u0026timekeeper. Then all timekeeper\naccess is done via a tk pointer.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343414893-45779-6-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6d0ef903e2bda70da124c10d8ad89f2382c87991",
      "tree": "fae52a865dbe0757e4e5ff49ce4a7f65447e0343",
      "parents": [
        "d4e3ab384b2343c7074f713ac330f839c38c52ee"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 27 14:48:12 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:09:14 2012 +0200"
      },
      "message": "time: Clean up offs_real/wall_to_mono and offs_boot/total_sleep_time updates\n\nFor performance reasons, we maintain ktime_t based duplicates of\nwall_to_monotonic (offs_real) and total_sleep_time (offs_boot).\n\nSince large problems could occur (such as the resume regression\non 3.5-rc7, or the leapsecond hrtimer issue) if these value\npairs were to be inconsistently updated, this patch this cleans\nup how we modify these value pairs to ensure we are always\nconsistent.\n\nAs a side-effect this is also more efficient as we only\ncaulculate the duplicate values when they are changed,\nrather then every update_wall_time call.\n\nThis also provides WARN_ONs to detect if future changes break\nthe invariants.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343414893-45779-5-git-send-email-john.stultz@linaro.org\n[ Cleaned up minor style issues. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d4e3ab384b2343c7074f713ac330f839c38c52ee",
      "tree": "f5e387e160533e7bb6a7b6fb70b9564b7aa31283",
      "parents": [
        "02ab20ae38337b99b5c29c81090f594b8fd61283"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 27 14:48:11 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:09:13 2012 +0200"
      },
      "message": "time: Clean up stray newlines\n\nIngo noted inconsistent newline usage between functions.\nThis patch cleans those up.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343414893-45779-4-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "02ab20ae38337b99b5c29c81090f594b8fd61283",
      "tree": "c64ac720c8af5230e4f9e2aa7c56ede8f86b31f3",
      "parents": [
        "a7ea3bbf5d58f4df2265d312f91d5769eabc8144"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 27 14:48:10 2012 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:09:12 2012 +0200"
      },
      "message": "time/jiffies: Rename ACTHZ to SHIFTED_HZ\n\nIngo noted that ACTHZ is a confusing name, and requested it\nbe renamed, so this patch renames ACTHZ to SHIFTED_HZ to\nbetter describe it.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343414893-45779-3-git-send-email-john.stultz@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "1f815faec46e83bc96039797151846b60875bb06",
      "tree": "41a874f8090e3f69c8a9f13e3c85dd7a371e569b",
      "parents": [
        "b44d50dcacea0d485ca2ff9140f8cc28ee22f28d",
        "e2b34e311be3a57c9abcb927e37a57e38913714c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:05:27 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Jul 31 17:05:27 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/urgent\n\nMerge in Linus\u0027s branch which already has timers/core merged.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b44d50dcacea0d485ca2ff9140f8cc28ee22f28d",
      "tree": "5c1702b71fd15a79381edf6fe83b202212d3b387",
      "parents": [
        "f726a697d06102e7a1fc0a87308cb30a84580205"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Jul 23 16:22:37 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 24 16:48:45 2012 +0200"
      },
      "message": "time: Fix casting issue in tk_set_xtime and tk_xtime_add\n\ncommit 1e75fa8b (time: Condense timekeeper.xtime into xtime_sec)\nintroduced helper functions which apply a timespec to the core\ninternal timekeeper data. The internal storage type is u64. The\ntimespec tv_nsec value must be shifted before set or added to the\ninternal value. tv_nsec is a long, which is 32bit on a 32bit system,\nso without casting tv_nsec to u64 we lose the bits which are shifted\nover the 32bit boundary.\n\nAdd the proper typecasts.\n\nReported-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nTested-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1343074957-16541-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3992c0321258bdff3666cbaf5225f538ad61a548",
      "tree": "42c98bcf601237b07ceac34b5bdb0b37558280dc",
      "parents": [
        "55acdddbac1725b80df0c41970505e8a41c84956",
        "eec19d1a0d04c80e66eef634f7b8f460f2ca5643"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 22 11:35:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 22 11:35:46 2012 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer core changes from Ingo Molnar:\n \"Continued cleanups of the core time and NTP code, plus more nohz work\n  preparing for tick-less userspace execution.\"\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  time: Rework timekeeping functions to take timekeeper ptr as argument\n  time: Move xtime_nsec adjustment underflow handling timekeeping_adjust\n  time: Move arch_gettimeoffset() usage into timekeeping_get_ns()\n  time: Refactor accumulation of nsecs to secs\n  time: Condense timekeeper.xtime into xtime_sec\n  time: Explicitly use u32 instead of int for shift values\n  time: Whitespace cleanups per Ingo%27s requests\n  nohz: Move next idle expiry time record into idle logic area\n  nohz: Move ts-\u003eidle_calls incrementation into strict idle logic\n  nohz: Rename ts-\u003eidle_tick to ts-\u003elast_tick\n  nohz: Make nohz API agnostic against idle ticks cputime accounting\n  nohz: Separate idle sleeping time accounting from nohz logic\n  timers: Improve get_next_timer_interrupt()\n  timers: Add accounting of non deferrable timers\n  timers: Consolidate base-\u003enext_timer update\n  timers: Create detach_if_pending() and use it\n"
    },
    {
      "commit": "16d286e656250859946786de0df0fb01f8f241bc",
      "tree": "a3835959bec829f094f31a84c8100c3d7c740046",
      "parents": [
        "ceee0e95b67401ea34118a54369496ecdfb9a199",
        "5c09d127a112a78f95572921af88224f4091eb44"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 22 10:45:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 22 10:45:05 2012 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU changes from Ingo Molnar:\n \"Quoting from Paul, the major features of this series are:\n\n  1. Preventing latency spikes of more than 200 microseconds for\n     kernels built with NR_CPUS\u003d4096, which is reportedly becoming the\n     default for some distros.  This is a first step, as it does not\n     help with systems that actually -have- 4096 CPUs (work on this case\n     is in progress, but is not yet ready for mainline).\n\n     This category also includes improving concurrency of rcu_barrier(),\n     placed here due to conflicts.  Posted to LKML at:\n\n      https://lkml.org/lkml/2012/6/22/381\n\n     Note that patches 18-22 of that series have been defered to 3.7, as\n     they have not yet proven themselves to be mainline-ready (and yes,\n     these are the ones intended to get rid of RCU\u0027s latency spikes for\n     systems that actually have 4096 CPUs).\n\n  2. Updates to documentation and rcutorture fixes, the latter category\n     including improvements to rcu_barrier() testing.  Posted to LKML at\n\n      http://lkml.indiana.edu/hypermail/linux/kernel/1206.1/04094.html.\n\n  3. Miscellaneous fixes posted to LKML at:\n\n      https://lkml.org/lkml/2012/6/22/500\n\n     with the exception of the last commit, which was posted here:\n\n      http://www.gossamer-threads.com/lists/linux/kernel/1561830\n\n  4. RCU_FAST_NO_HZ fixes and improvements.  Posted to LKML at:\n\n      http://lkml.indiana.edu/hypermail/linux/kernel/1206.1/00006.html\n      http://www.gossamer-threads.com/lists/linux/kernel/1561833\n\n     The first four patches of the first series went into 3.5 to fix a\n     regression.\n\n  5. Code-style fixes.  These were posted to LKML at\n\n      http://lkml.indiana.edu/hypermail/linux/kernel/1205.2/01180.html\n      http://lkml.indiana.edu/hypermail/linux/kernel/1205.2/01181.html\"\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (48 commits)\n  rcu: Fix broken strings in RCU\u0027s source code.\n  rcu: Fix code-style issues involving \"else\"\n  rcu: Introduce check for callback list/count mismatch\n  rcu: Make RCU_FAST_NO_HZ respect nohz\u003d boot parameter\n  rcu: Fix qlen_lazy breakage\n  rcu: Round FAST_NO_HZ lazy timeout to nearest second\n  rcu: The rcu_needs_cpu() function is not a quiescent state\n  rcu: Dump only the current CPU\u0027s buffers for idle-entry/exit warnings\n  rcu: Add check for CPUs going offline with callbacks queued\n  rcu: Disable preemption in rcu_blocking_is_gp()\n  rcu: Prevent uninitialized string in RCU CPU stall info\n  rcu: Fix rcu_is_cpu_idle() #ifdef in TINY_RCU\n  rcu: Split RCU core processing out of __call_rcu()\n  rcu: Prevent __call_rcu() from invoking RCU core on offline CPUs\n  rcu: Make __call_rcu() handle invocation from idle\n  rcu: Remove function versions of __kfree_rcu and __is_kfree_rcu_offset\n  rcu: Consolidate tree/tiny __rcu_read_{,un}lock() implementations\n  rcu: Remove return value from rcu_assign_pointer()\n  key: Remove extraneous parentheses from rcu_assign_keypointer()\n  rcu: Remove return value from RCU_INIT_POINTER()\n  ...\n"
    },
    {
      "commit": "6f7024285864290259d6b4c36f9e84a4b89ec3c4",
      "tree": "6d6c429ae933289a993030609e2c2bb3627fda4f",
      "parents": [
        "c1e3209623ccd92f2f391a31ecf3895daa0238f3",
        "6b1859dba01c7d512b72d77e3fd7da8354235189"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 18 10:36:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 18 10:36:02 2012 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nOne more time/ntp fix pulled from Ingo Molnar.\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  ntp: Fix STA_INS/DEL clearing bug\n"
    },
    {
      "commit": "eec19d1a0d04c80e66eef634f7b8f460f2ca5643",
      "tree": "e68f24938d458fc776b76dc6037f9a2d03f09403",
      "parents": [
        "f726a697d06102e7a1fc0a87308cb30a84580205",
        "a018540141a931f5299a866907b27886916b4374"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:24:41 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Jul 18 11:25:55 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/core\n\nResolve semantic conflict in kernel/time/timekeeping.c.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "3e997130bd2e8c6f5aaa49d6e3161d4d29b43ab0",
      "tree": "8276ff12cb09a4f4e11c832e9f4ad43e34bde6c2",
      "parents": [
        "33d519feaccb8a1208f736d00f53a2a73d98ffaa"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jul 16 12:50:42 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 16 10:02:17 2012 -0700"
      },
      "message": "timekeeping: Add missing update call in timekeeping_resume()\n\nThe leap second rework unearthed another issue of inconsistent data.\n\nOn timekeeping_resume() the timekeeper data is updated, but nothing\ncalls timekeeping_update(), so now the update code in the timer\ninterrupt sees stale values.\n\nThis has been the case before those changes, but then the timer\ninterrupt was using stale data as well so this went unnoticed for quite\nsome time.\n\nAdd the missing update call, so all the data is consistent everywhere.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nReported-and-tested-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nReported-and-tested-by: Martin Steigerwald \u003cMartin@lichtvoll.de\u003e\nCc: LKML \u003clinux-kernel@vger.kernel.org\u003e\nCc: Linux PM list \u003clinux-pm@vger.kernel.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e,\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f726a697d06102e7a1fc0a87308cb30a84580205",
      "tree": "1c70d5187ecb27a0b5e0ae2882d978c8c943211d",
      "parents": [
        "2a8c0883c3cfffcc148ea606e2a4e7453cd75e73"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:57 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:07 2012 +0200"
      },
      "message": "time: Rework timekeeping functions to take timekeeper ptr as argument\n\nAs part of cleaning up the timekeeping code, this patch converts\na number of internal functions to takei a timekeeper ptr as an\nargument, so that the internal functions don\u0027t access the global\ntimekeeper structure directly. This allows for further optimizations\nto reduce lock hold time later.\n\nThis patch has been updated to include more consistent usage of the\ntimekeeper value, by making sure it is always passed as a argument\nto non top-level functions.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-9-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2a8c0883c3cfffcc148ea606e2a4e7453cd75e73",
      "tree": "9a340aaef6785881ec0eab74c32ad35841441889",
      "parents": [
        "f2a5a0854efc62abe7f69e9947842cb135837f9a"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:56 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:07 2012 +0200"
      },
      "message": "time: Move xtime_nsec adjustment underflow handling timekeeping_adjust\n\nWhen we make adjustments speeding up the clock, its possible\nfor xtime_nsec to underflow. We already handle this properly,\nbut we do so from update_wall_time() instead of the more logical\ntimekeeping_adjust(), where the possible underflow actually\noccurs.\n\nThus, move the correction logic to the timekeeping_adjust, which\nis the function that causes the issue. Making update_wall_time()\nmore readable.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-8-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f2a5a0854efc62abe7f69e9947842cb135837f9a",
      "tree": "02db590982e92fb514f2d8b1791a49ec5b02d484",
      "parents": [
        "1f4f948706bcec1b51bf6492bf04057d2e21e273"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:55 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:06 2012 +0200"
      },
      "message": "time: Move arch_gettimeoffset() usage into timekeeping_get_ns()\n\nSince we call arch_gettimeoffset() in all the accessor\nfunctions, move arch_gettimeoffset() calls into\ntimekeeping_get_ns() and timekeeping_get_ns_raw() to simplify\nthe code.\n\nThis also makes the code easier to maintain as we don\u0027t have to\nworry about forgetting the arch_gettimeoffset() as has happened\nin the past.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-7-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1f4f948706bcec1b51bf6492bf04057d2e21e273",
      "tree": "1677cf2f130da9ff53259fdb658fa53a4ef81b4e",
      "parents": [
        "1e75fa8be9fb61e1af46b5b3b176347a4c958ca1"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:54 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:06 2012 +0200"
      },
      "message": "time: Refactor accumulation of nsecs to secs\n\nWe do the exact same logic moving nsecs to secs in the\ntimekeeper in multiple places, so condense this into a\nsingle function.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-6-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1e75fa8be9fb61e1af46b5b3b176347a4c958ca1",
      "tree": "b353cf5c5ae0c17e7813d7e1e86a403227b35fc7",
      "parents": [
        "fee84c43e6afc42295ae8058cbbef9ea5633926c"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:53 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:06 2012 +0200"
      },
      "message": "time: Condense timekeeper.xtime into xtime_sec\n\nThe timekeeper struct has a xtime_nsec, which keeps the\nsub-nanosecond remainder.  This ends up being somewhat\nduplicative of the timekeeper.xtime.tv_nsec value, and we\nhave to do extra work to keep them apart, copying the full\nnsec portion out and back in over and over.\n\nThis patch simplifies some of the logic by taking the timekeeper\nxtime value and splitting it into timekeeper.xtime_sec and\nreuses the timekeeper.xtime_nsec for the sub-second portion\n(stored in higher res shifted nanoseconds).\n\nThis simplifies some of the accumulation logic. And will\nallow for more accurate timekeeping once the vsyscall code\nis updated to use the shifted nanosecond remainder.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-5-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fee84c43e6afc42295ae8058cbbef9ea5633926c",
      "tree": "4cbc2c945aee74e15e1a08bc86a66c697169b55f",
      "parents": [
        "42e71e81f5bb5125ca7c194b5ccf1c93511ff8fb"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:52 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:05 2012 +0200"
      },
      "message": "time: Explicitly use u32 instead of int for shift values\n\nIngo noted that using a u32 instead of int for shift values\nwould be better to make sure the compiler doesn\u0027t unnecessarily\nuse complex signed arithmetic.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-4-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "42e71e81f5bb5125ca7c194b5ccf1c93511ff8fb",
      "tree": "2f0233b2f102bd1d8f05c3fffda6e3a7a3848331",
      "parents": [
        "e8b9dd7e2471b1274e3be719fcc385e0a710e46f"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jul 13 01:21:51 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:39:05 2012 +0200"
      },
      "message": "time: Whitespace cleanups per Ingo%27s requests\n\nIngo noted a number of places where there is inconsistent\nuse of whitespace. This patch tries to address the main\nculprits.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1342156917-25092-3-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e8b9dd7e2471b1274e3be719fcc385e0a710e46f",
      "tree": "030d7ce20e8f8767d9423f78c102aba089eec372",
      "parents": [
        "924412f66fd9d21212e560a93792b0b607d46c6e",
        "6b1859dba01c7d512b72d77e3fd7da8354235189"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:24:53 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 10:24:53 2012 +0200"
      },
      "message": "Merge branch \u0027timers/urgent\u0027 into timers/core\n\nReason: Update to upstream changes to avoid further conflicts.\nFixup a trivial merge conflict in kernel/time/tick-sched.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6b1859dba01c7d512b72d77e3fd7da8354235189",
      "tree": "67eb3bede64476652d1fbd46356e7192fd43b030",
      "parents": [
        "84a1caf1453c3d44050bd22db958af4a7f99315c"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Jul 13 01:21:50 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 15 09:48:49 2012 +0200"
      },
      "message": "ntp: Fix STA_INS/DEL clearing bug\n\nIn commit 6b43ae8a619d17c4935c3320d2ef9e92bdeed05d, I\nintroduced a bug that kept the STA_INS or STA_DEL bit\nfrom being cleared from time_status via adjtimex()\nwithout forcing STA_PLL first.\n\nUsually once the STA_INS is set, it isn\u0027t cleared\nuntil the leap second is applied, so its unlikely this\naffected anyone. However during testing I noticed it\ntook some effort to cancel a leap second once STA_INS\nwas set.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCC: stable@vger.kernel.org # 3.4\nLink: http://lkml.kernel.org/r/1342156917-25092-2-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ab93eb82164f9fc426eae7b286510cfd94738b8e",
      "tree": "3f486fcafc51d2dceae44dfb2b9b261aeecaafb5",
      "parents": [
        "fdb1335a82ef1ef9442ac9377796e4e7a69d1ae4",
        "40b3c43f042c2ba8915aff5c63708207ed7639cb",
        "25c037d64e7a0a8effb562babb2b6218829134ac",
        "95c0d71dcb853c2eca5f2231ebbd4c1d3af775b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 14 11:16:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 14 11:16:24 2012 -0700"
      },
      "message": "Merge branches \u0027core-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU, perf, and scheduler fixes from Ingo Molnar.\n\nThe RCU fix is a revert for an optimization that could cause deadlocks.\n\nOne of the scheduler commits (164c33c6adee \"sched: Fix fork() error path\nto not crash\") is correct but not complete (some architectures like Tile\nare not covered yet) - the resulting additional fixes are still WIP and\nIngo did not want to delay these pending fixes.  See this thread on\nlkml:\n\n  [PATCH] fork: fix error handling in dup_task()\n\nThe perf fixes are just trivial oneliners.\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  Revert \"rcu: Move PREEMPT_RCU preemption to switch_to() invocation\"\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf kvm: Fix segfault with report and mixed guestmount use\n  perf kvm: Fix regression with guest machine creation\n  perf script: Fix format regression due to libtraceevent merge\n  ring-buffer: Fix accounting of entries when removing pages\n  ring-buffer: Fix crash due to uninitialized new_pages list head\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  MAINTAINERS/sched: Update scheduler file pattern\n  sched/nohz: Rewrite and fix load-avg computation -- again\n  sched: Fix fork() error path to not crash\n"
    },
    {
      "commit": "f6c06abfb3972ad4914cef57d8348fcb2932bc3b",
      "tree": "5882f90d98d0429b30d0f7f7d35c14f6e0a5125a",
      "parents": [
        "196951e91262fccda81147d2bcf7fdab08668b40"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 10 18:43:24 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:39 2012 +0200"
      },
      "message": "timekeeping: Provide hrtimer update function\n\nTo finally fix the infamous leap second issue and other race windows\ncaused by functions which change the offsets between the various time\nbases (CLOCK_MONOTONIC, CLOCK_REALTIME and CLOCK_BOOTTIME) we need a\nfunction which atomically gets the current monotonic time and updates\nthe offsets of CLOCK_REALTIME and CLOCK_BOOTTIME with minimalistic\noverhead. The previous patch which provides ktime_t offsets allows us\nto make this function almost as cheap as ktime_get() which is going to\nbe replaced in hrtimer_interrupt().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nLink: http://lkml.kernel.org/r/1341960205-56738-7-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5b9fe759a678e05be4937ddf03d50e950207c1c0",
      "tree": "7f0e7d0c56e87422d4a2e9847c7079850bde6b11",
      "parents": [
        "4873fa070ae84a4115f0b3c9dfabc224f1bc7c51"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 10 18:43:21 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:38 2012 +0200"
      },
      "message": "timekeeping: Maintain ktime_t based offsets for hrtimers\n\nWe need to update the hrtimer clock offsets from the hrtimer interrupt\ncontext. To avoid conversions from timespec to ktime_t maintain a\nktime_t based representation of those offsets in the timekeeper. This\nputs the conversion overhead into the code which updates the\nunderlying offsets and provides fast accessible values in the hrtimer\ninterrupt.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1341960205-56738-4-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4873fa070ae84a4115f0b3c9dfabc224f1bc7c51",
      "tree": "84479277770c3f02a3580f6d93965fb39f71e1c5",
      "parents": [
        "f55a6faa384304c89cfef162768e88374d3312cb"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Tue Jul 10 18:43:20 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 11 23:34:37 2012 +0200"
      },
      "message": "timekeeping: Fix leapsecond triggered load spike issue\n\nThe timekeeping code misses an update of the hrtimer subsystem after a\nleap second happened. Due to that timers based on CLOCK_REALTIME are\neither expiring a second early or late depending on whether a leap\nsecond has been inserted or deleted until an operation is initiated\nwhich causes that update. Unless the update happens by some other\nmeans this discrepancy between the timekeeping and the hrtimer data\nstays forever and timers are expired either early or late.\n\nThe reported immediate workaround - $ data -s \"`date`\" - is causing a\ncall to clock_was_set() which updates the hrtimer data structures.\nSee: http://www.sheeri.com/content/mysql-and-leap-second-high-cpu-and-fix\n\nAdd the missing clock_was_set() call to update_wall_time() in case of\na leap second event. The actual update is deferred to softirq context\nas the necessary smp function call cannot be invoked from hard\ninterrupt context.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nReported-by: Jan Engelhardt \u003cjengelh@inai.de\u003e\nReviewed-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1341960205-56738-3-git-send-email-johnstul@us.ibm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5167e8d5417bf5c322a703d2927daec727ea40dd",
      "tree": "b919aac933c104e7c7abc1730da810f60ba3229d",
      "parents": [
        "164c33c6adee609b8b9062cce4c10f764d0dce13"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 22 15:52:09 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jul 05 20:58:13 2012 +0200"
      },
      "message": "sched/nohz: Rewrite and fix load-avg computation -- again\n\nThanks to Charles Wang for spotting the defects in the current code:\n\n - If we go idle during the sample window -- after sampling, we get a\n   negative bias because we can negate our own sample.\n\n - If we wake up during the sample window we get a positive bias\n   because we push the sample to a known active period.\n\nSo rewrite the entire nohz load-avg muck once again, now adding\ncopious documentation to the code.\n\nReported-and-tested-by: Doug Smythies \u003cdsmythies@telus.net\u003e\nReported-and-tested-by: Charles Wang \u003cmuming.wq@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/1340373782.18025.74.camel@twins\n[ minor edits ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9d2ad24306f2fafc3612e5a216aab31f9e56e879",
      "tree": "6ced8145e842e29aaedda3d9453c74b6f0c92b4f",
      "parents": [
        "4fa3b6cb1bc8c14b81b4c8ffdfd3f2500a7e9367"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Jun 24 10:15:02 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Jul 02 12:34:43 2012 -0700"
      },
      "message": "rcu: Make RCU_FAST_NO_HZ respect nohz\u003d boot parameter\n\nIf the nohz\u003d boot parameter disables nohz, then RCU_FAST_NO_HZ needs to\nalso disable itself.  This commit therefore checks for tick_nohz_enabled\nbeing zero, disabling rcu_prepare_for_idle() if so.  This commit assumes\nthat tick_nohz_enabled can change at runtime: If this is not the case,\nthen a simpler approach suffices.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a95f9b6e092ed862278e08266207c7ab231076b4",
      "tree": "c5daf86ce89b3033c051dfc7b2955981d6add16d",
      "parents": [
        "a41b0e71563166762ee9d4905f3aa518a9348ed4",
        "4a1e001d2bb75c47a9cdbbfb66ae51daff1ddcba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 15 16:52:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 15 16:52:35 2012 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core updates (RCU and locking) from Ingo Molnar:\n \"Most of the diffstat comes from the RCU slow boot regression fixes,\n  but there\u0027s also a debuggability improvements/fixes.\"\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  memblock: Document memblock_is_region_{memory,reserved}()\n  rcu: Precompute RCU_FAST_NO_HZ timer offsets\n  rcu: Move RCU_FAST_NO_HZ per-CPU variables to rcu_dynticks structure\n  rcu: Update RCU_FAST_NO_HZ tracing for lazy callbacks\n  rcu: RCU_FAST_NO_HZ detection of callback adoption\n  spinlock: Indicate that a lockup is only suspected\n  kdump: Execute kmsg_dump(KMSG_DUMP_PANIC) after smp_send_stop()\n  panic: Make panic_on_oops configurable\n"
    },
    {
      "commit": "84bf1bccc60cc64376125ea2eae05e4ba12f795b",
      "tree": "c228723c96964a9247bffc65f4d7ca33a82dd586",
      "parents": [
        "5b39939a40801f0c17e31adaf643d6e974227856"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Aug 01 01:25:38 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jun 11 20:07:18 2012 +0200"
      },
      "message": "nohz: Move next idle expiry time record into idle logic area\n\nThe next idle expiry time record and idle sleeps tracking are\nstatistics that only concern idle.\n\nSince we want the nohz APIs to become usable further idle\ncontext, let\u0027s pull up the handling of these statistics to the\ncallers in idle.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\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@ti.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Sven-Thorsten Dietrich \u003cthebigcorporation@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5b39939a40801f0c17e31adaf643d6e974227856",
      "tree": "ed28770c22f2d7c2c8afca3a6bd0fe48d16e06fd",
      "parents": [
        "f5d411c91ede162240f34e05a233f2759412988e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Aug 01 00:06:10 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jun 11 20:07:17 2012 +0200"
      },
      "message": "nohz: Move ts-\u003eidle_calls incrementation into strict idle logic\n\nSince we want to prepare for making the nohz API to work further\nthe idle case, we need to pull ts-\u003eidle_calls incrementation up to\nthe callers in idle.\n\nTo perform this, we split tick_nohz_stop_sched_tick() in two parts:\na first one that checks if we can really stop the tick for idle,\nand another that actually stops it. Then from the callers in idle,\nwe check if we can stop the tick and only then we increment idle_calls\nand finally relay to the nohz API that won\u0027t care about these details\nanymore.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\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@ti.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Sven-Thorsten Dietrich \u003cthebigcorporation@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f5d411c91ede162240f34e05a233f2759412988e",
      "tree": "7e6181e575eb19087e9f19dd1a7ba20d25e6dd8b",
      "parents": [
        "2ac0d98fd624ae50f5e6ae9c800977a9dbbfcde6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jul 31 17:44:12 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jun 11 20:07:17 2012 +0200"
      },
      "message": "nohz: Rename ts-\u003eidle_tick to ts-\u003elast_tick\n\nNow that idle and nohz logics are going to be independant each others,\nts-\u003eidle_tick becomes too much a biased name to describe the field that\nsaves the last scheduled tick on top of which we re-calculate the next\ntick to schedule when the timer is restarted.\n\nWe want to reuse this even to stop the tick outside idle cases. So let\u0027s\nrename it to some more generic name: ts-\u003elast_tick.\n\nThis changes a bit the timer list stat export so we need to increase its\nversion.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\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@ti.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Sven-Thorsten Dietrich \u003cthebigcorporation@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2ac0d98fd624ae50f5e6ae9c800977a9dbbfcde6",
      "tree": "f2572ed41b36509862384c134ff7e467077d6902",
      "parents": [
        "19f5f7364a1cc770b14692f609bb9b802fc334d5"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 28 04:00:47 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jun 11 20:07:16 2012 +0200"
      },
      "message": "nohz: Make nohz API agnostic against idle ticks cputime accounting\n\nWhen the timer tick fires, it accounts the new jiffy as either part\nof system, user or idle time. This is how we record the cputime\nstatistics.\n\nBut when the tick is stopped from the idle task, we still need\nto record the number of jiffies spent tickless until we restart\nthe tick and fall back to traditional tick-based cputime accounting.\n\nTo do this, we take a snapshot of jiffies when the tick is stopped\nand compute the difference against the new value of jiffies when\nthe tick is restarted. Then we account this whole difference to\nthe idle cputime.\n\nHowever we are preparing to be able to stop the tick from other places\nthan idle. So this idle time accounting needs to be performed from\nthe callers of nohz APIs, not from the nohz APIs themselves because\nwe now want them to be agnostic against places that stop/restart tick.\n\nTherefore, we pull the tickless idle time accounting out of generic\nnohz helpers up to idle entry/exit callers.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\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@ti.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Sven-Thorsten Dietrich \u003cthebigcorporation@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "19f5f7364a1cc770b14692f609bb9b802fc334d5",
      "tree": "2a677527de23137cb533e0dcd0923d685ad4b1f3",
      "parents": [
        "cfaf025112d3856637ff34a767ef785ef5cf2ca9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 27 17:29:28 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jun 11 20:06:36 2012 +0200"
      },
      "message": "nohz: Separate idle sleeping time accounting from nohz logic\n\nAs we plan to be able to stop the tick outside the idle task, we\nneed to prepare for separating nohz logic from idle. As a start,\nthis pulls the idle sleeping time accounting out of the tick\nstop/restart API to the callers on idle entry/exit.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Alessio Igor Bogani \u003cabogani@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\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@ti.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Sven-Thorsten Dietrich \u003cthebigcorporation@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4a1e001d2bb75c47a9cdbbfb66ae51daff1ddcba",
      "tree": "6d6e968a087b7a26b3a04af1ef94149607b64358",
      "parents": [
        "eab309494ae2b9e15f85520f00de3893162c2e43",
        "aa9b16306e3243229580ff889cc59fd66bf77973"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 11 10:30:23 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Jun 11 10:30:23 2012 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/urgent\n\nMerge RCU fixes from Paul E. McKenney:\n\n \" This series has four patches, the major point of which is to eliminate\n   some slowdowns (including boot-time slowdowns) resulting from some\n   RCU_FAST_NO_HZ changes.  The issue with the changes is that posting timers\n   from the idle loop has no effect if the CPU has entered dyntick-idle\n   mode because the CPU has already computed its wakeup time, and posting\n   a timer does not cause it to be recomputed.  The short-term fix is for\n   RCU to precompute the timeout value so that the CPU\u0027s calculation is\n   correct. \"\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b1e25f41094dfe0b9653c926d3c02a35c2eb249c",
      "tree": "6ccbd499bd62f8ac46ce4335803c6ab4fad57ae4",
      "parents": [
        "857505fae884fae32e700d4b019b5f652ebf0d3b",
        "fad0c66c4bb836d57a5f125ecd38bed653ca863a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 09:11:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 08 09:11:33 2012 -0700"
      },
      "message": "Merge branch \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull leap second timer fix from Thomas Gleixner.\n\n* \u0027timers-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  timekeeping: Fix CLOCK_MONOTONIC inconsistency during leapsecond\n"
    },
    {
      "commit": "aa9b16306e3243229580ff889cc59fd66bf77973",
      "tree": "f01812ee99804cd7d7533a1d3cba1e9d439e6f63",
      "parents": [
        "5955f7eecd77d6b440db278b266cfecdb72ecd00"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu May 10 16:41:44 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 06 20:43:28 2012 -0700"
      },
      "message": "rcu: Precompute RCU_FAST_NO_HZ timer offsets\n\nWhen a CPU is entering dyntick-idle mode, tick_nohz_stop_sched_tick()\ncalls rcu_needs_cpu() see if RCU needs that CPU, and, if not, computes the\nnext wakeup time based on the timer wheels.  Only later, when actually\nentering the idle loop, rcu_prepare_for_idle() will be invoked.  In some\ncases, rcu_prepare_for_idle() will post timers to wake the CPU back up.\nBut all for naught: The next wakeup time for the CPU has already been\ncomputed, and posting a timer afterwards does not force that wakeup\ntime to be recomputed.  This means that rcu_prepare_for_idle()\u0027s have\nno effect.\n\nThis is not a problem on a busy system because something else will wake\nup the CPU soon enough.  However, on lightly loaded systems, the CPU\nmight stay asleep for a considerable length of time.  If that CPU has\na callback that the rest of the system is waiting on, the system might\nrun very slowly or (in theory) even hang.\n\nThis commit avoids this problem by having rcu_needs_cpu() give\ntick_nohz_stop_sched_tick() an estimate of when RCU will need the CPU\nto wake back up, which tick_nohz_stop_sched_tick() takes into account\nwhen programming the CPU\u0027s wakeup time.  An alternative approach is\nfor rcu_prepare_for_idle() to use hrtimers instead of normal timers,\nbut timers are much more efficient than are hrtimers for frequently\nand repeatedly posting and cancelling a given timer, which is exactly\nwhat RCU_FAST_NO_HZ does.\n\nReported-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\n"
    },
    {
      "commit": "0b3e9f3f21c42d064f5f4088df4088e3d55755eb",
      "tree": "b153a9346bf21a64a9e5c5f3f440f00b591fd269",
      "parents": [
        "99becf1328d8d71dd6f4480e3591d7dcdb389e57",
        "6a4c96eef42f835734a82c6b512abf9881b7c55d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 05 09:47:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 05 09:47:15 2012 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Remove NULL assignment of dattr_cur\n  sched: Remove the last NULL entry from sched_feat_names\n  sched: Make sched_feat_names const\n  sched/rt: Fix SCHED_RR across cgroups\n  sched: Move nr_cpus_allowed out of \u0027struct sched_rt_entity\u0027\n  sched: Make sure to not re-read variables after validation\n  sched: Fix SD_OVERLAP\n  sched: Don\u0027t try allocating memory from offline nodes\n  sched/nohz: Fix rq-\u003ecpu_load calculations some more\n  sched/x86: Use cpu_llc_shared_mask(cpu) for coregroup_mask\n"
    },
    {
      "commit": "fad0c66c4bb836d57a5f125ecd38bed653ca863a",
      "tree": "f35b5081b03f0f090c13a0fa074ff7cb3b1f60c1",
      "parents": [
        "9171c670b4915e30360c2aed530b8377fbbcc852"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed May 30 10:54:57 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 04 21:46:29 2012 +0200"
      },
      "message": "timekeeping: Fix CLOCK_MONOTONIC inconsistency during leapsecond\n\nCommit 6b43ae8a61 (ntp: Fix leap-second hrtimer livelock) broke the\nleapsecond update of CLOCK_MONOTONIC. The missing leapsecond update to\nwall_to_monotonic causes discontinuities in CLOCK_MONOTONIC.\n\nAdjust wall_to_monotonic when NTP inserted a leapsecond.\n\nReported-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nTested-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/1338400497-12420-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5aaa0b7a2ed5b12692c9ffb5222182bd558d3146",
      "tree": "0334762e9d0e773acf21e61c682f895c25201c89",
      "parents": [
        "9f646389aa7727a2fd8f9ae6337b92af9cfbc264"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 17 17:15:29 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 30 14:02:16 2012 +0200"
      },
      "message": "sched/nohz: Fix rq-\u003ecpu_load calculations some more\n\nFollow up on commit 556061b00 (\"sched/nohz: Fix rq-\u003ecpu_load[]\ncalculations\") since while that fixed the busy case it regressed the\nmostly idle case.\n\nAdd a callback from the nohz exit to also age the rq-\u003ecpu_load[]\narray. This closes the hole where either there was no nohz load\nbalance pass during the nohz, or there was a \u0027significant\u0027 amount of\nidle time between the last nohz balance and the nohz exit.\n\nSo we\u0027ll update unconditionally from the tick to not insert any\naccidental 0 load periods while busy, and we try and catch up from\nnohz idle balance and nohz exit. Both these are still prone to missing\na jiffy, but that has always been the case.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: pjt@google.com\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nLink: http://lkml.kernel.org/n/tip-kt0trz0apodbf84ucjfdbr1a@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "62cf20b32aee4ae889a2eb40fd41c0eab73de970",
      "tree": "a3bd7d28b380b0a3e52398542910027c6c8a92cb",
      "parents": [
        "fc0830fe017d02b7b4995b5c402b484b65d9dfc6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 25 14:08:57 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 25 14:08:57 2012 +0200"
      },
      "message": "tick: Move skew_tick option into the HIGH_RES_TIMER section\n\ncommit 5307c95 (tick: Add tick skew boot option) broke the\n!CONFIG_HIGH_RES_TIMERS build.\n\nMove the boot option parsing into the CONFIG_HIGH_RES_TIMERS section.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Mike Galbraith \u003cmgalbraith@suse.de\u003e\n"
    },
    {
      "commit": "e5400321a6f15ce0fe77c8455954f213ef7dcc54",
      "tree": "4bd9bc61b44ec4e91f000d2d8968f4d1e66f080b",
      "parents": [
        "5307c9556bc17e3cd26d4e94fc3b2565921834de"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "magnus.damm@gmail.com",
        "time": "Wed May 09 23:39:34 2012 +0900"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 25 01:44:51 2012 +0200"
      },
      "message": "clockevents: Make clockevents_config() a global symbol\n\nMake clockevents_config() into a global symbol to allow it to be used\nby compiled-in clockevent drivers. This is needed by drivers that want\nto update the timer frequency after registration time.\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nTested-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: arnd@arndb.de\nCc: johnstul@us.ibm.com\nCc: rjw@sisk.pl\nCc: lethal@linux-sh.org\nCc: gregkh@linuxfoundation.org\nCc: olof@lixom.net\nCc: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20120509143934.27521.46553.sendpatchset@w520\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5307c9556bc17e3cd26d4e94fc3b2565921834de",
      "tree": "e51937060ccd5e293dec7246a7961b0ae5509a53",
      "parents": [
        "ce004178be1bbaa292e9e6497939e2970300095a"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "mgalbraith@suse.de",
        "time": "Tue May 08 12:20:58 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 25 01:44:50 2012 +0200"
      },
      "message": "tick: Add tick skew boot option\n\nLet the user decide whether power consumption or jitter is the\nmore important consideration for their machines.\n\nQuoting removal commit af5ab277ded04bd9bc6b048c5a2f0e7d70ef0867:\n\n\"Historically, Linux has tried to make the regular timer tick on the\n various CPUs not happen at the same time, to avoid contention on\n xtime_lock.\n    \n Nowadays, with the tickless kernel, this contention no longer happens\n since time keeping and updating are done differently. In addition,\n this skew is actually hurting power consumption in a measurable way on\n many-core systems.\"\n\nProblems:\n\n- Contrary to the above, systems do encounter contention on both\n  xtime_lock and RCU structure locks when the tick is synchronized.\n  \n- Moderate sized RT systems suffer intolerable jitter due to the tick\n  being synchronized.\n\n- SGI reports the same for their large systems.\n\n- Fully utilized systems reap no power saving benefit from skew removal,\n  but do suffer from resulting induced lock contention.\n\n- 0209f649 rcu: limit rcu_node leaf-level fanout\n  This patch was born to combat lock contention which testing showed\n  to have been _induced by_ skew removal.  Skew the tick, contention\n  disappeared virtually completely.\n\nSigned-off-by: Mike Galbraith \u003cmgalbraith@suse.de\u003e\nLink: http://lkml.kernel.org/r/1336472458.21924.78.camel@marge.simpson.net\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "c7523a7c88db637d66841018532cb4b3ab6ab0a8",
      "tree": "cec08263a493831d43e17d4daa633e2a6b09480e",
      "parents": [
        "2f78d8e249973f1eeb88315e6444e616c60177ae",
        "b80fe1015be4e3c926d8eb4cc6a340fdd22a43e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 13:29:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 13:29:46 2012 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer updates from Thomas Gleixner.\n\nVarious trivial conflict fixups in arch Kconfig due to addition of\nunrelated entries nearby.  And one slightly more subtle one for sparc32\n(new user of GENERIC_CLOCKEVENTS), fixed up as per Thomas.\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)\n  timekeeping: Fix a few minor newline issues.\n  time: remove obsolete declaration\n  ntp: Fix a stale comment and a few stray newlines.\n  ntp: Correct TAI offset during leap second\n  timers: Fixup the Kconfig consolidation fallout\n  x86: Use generic time config\n  unicore32: Use generic time config\n  um: Use generic time config\n  tile: Use generic time config\n  sparc: Use: generic time config\n  sh: Use generic time config\n  score: Use generic time config\n  s390: Use generic time config\n  openrisc: Use generic time config\n  powerpc: Use generic time config\n  mn10300: Use generic time config\n  mips: Use generic time config\n  microblaze: Use generic time config\n  m68k: Use generic time config\n  m32r: Use generic time config\n  ...\n"
    },
    {
      "commit": "b80fe1015be4e3c926d8eb4cc6a340fdd22a43e1",
      "tree": "0576e6aa286d683bef6c8faf416451bb30a17707",
      "parents": [
        "764e0da14fd7ac2d259d98d34ece0a87d32306c9",
        "d239f49d77ad9ffa442e700db3cab06d8b414cd1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 22 10:30:39 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 22 10:30:39 2012 +0200"
      },
      "message": "Merge branch \u0027fortglx/3.5/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n"
    },
    {
      "commit": "d239f49d77ad9ffa442e700db3cab06d8b414cd1",
      "tree": "88332a452e25e70e9bd894cc840bfb66bc7ef15d",
      "parents": [
        "190d3b6b4ab0e1ce991e8bc94ad95f00b0dc476b"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Fri Apr 27 10:12:42 2012 +0200"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon May 21 16:20:32 2012 -0700"
      },
      "message": "timekeeping: Fix a few minor newline issues.\n\nFix a few minor newline issues.\n\nSigned-off-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "cd5398bed9296d1ddb21630ac17e90cd19a5c62e",
      "tree": "43952274d6c838eddcf3046e0a35053e3c0c11a9",
      "parents": [
        "dd48d708ff3e917f6d6b6c2b696c3f18c019feed"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Fri Apr 27 10:12:41 2012 +0200"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon May 21 16:16:56 2012 -0700"
      },
      "message": "ntp: Fix a stale comment and a few stray newlines.\n\nSigned-off-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "dd48d708ff3e917f6d6b6c2b696c3f18c019feed",
      "tree": "97c00e1e8967a3718636ebf05668f61316002da2",
      "parents": [
        "bdebaf80a02b854381fe212e0dac13c8c8edac57"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Thu Apr 26 14:11:32 2012 +0200"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon May 21 16:16:54 2012 -0700"
      },
      "message": "ntp: Correct TAI offset during leap second\n\nWhen repeating a UTC time value during a leap second (when the UTC\ntime should be 23:59:60), the TAI timescale should not stop. The kernel\nNTP code increments the TAI offset one second too late. This patch fixes\nthe issue by incrementing the offset during the leap second itself.\n\nSigned-off-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "764e0da14fd7ac2d259d98d34ece0a87d32306c9",
      "tree": "3d1c3065ca2f140f065c15c0b9645703241c68e7",
      "parents": [
        "bdebaf80a02b854381fe212e0dac13c8c8edac57"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 21 23:16:18 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 21 23:43:46 2012 +0200"
      },
      "message": "timers: Fixup the Kconfig consolidation fallout\n\nSigh, I missed to check which architecture Kconfig files actually\ninclude the core Kconfig file. There are a few which did not. So we\nbroke them.\n\nInstead of adding the includes to those, we are better off to move the\ninclude to init/Kconfig like we did already with irqs and others.\n\nThis does not change anything for the architectures using the old\nstyle periodic timer mode. It just solves the build wreckage there.\n\nFor those architectures which use the clock events infrastructure it\nmoves the include of the core Kconfig file to \"General setup\" which is\na way more logical place than having it at random locations specified\nby the architecture specific Kconfigs.\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Anna-Maria Gleixner \u003canna-maria@glx-um.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b5e498ad67863cc877fb05e6a71ce58eda4fb2ca",
      "tree": "41800f004e3dfac860d39d9bc38d871564683231",
      "parents": [
        "b2d6aba9657c7e3d027dd43ac7d7c405e0079d46"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 18 09:59:57 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 21 11:01:40 2012 +0200"
      },
      "message": "timers: Provide generic Kconfig switches\n\nWe really don\u0027t want all the arch code defining stuff\nover and over.\n\n[ anna-maria: Added missing GENERIC_CMOS_UPDATE switch ]\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Anna-Maria Gleixner \u003canna-maria@glx-um.de\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nLink: http://lkml.kernel.org/r/1337529587.3208.2.camel@dionysos\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "d210267741fb2a8b6d741d9040703683a39087f4",
      "tree": "bfc1cdf7925644367cec4c82f2a5fb6d4c51a8eb",
      "parents": [
        "69964ea4c7b68c9399f7977aa5b9aa6539a6a98a",
        "5bb196ad29c58c3e69dde8ed34b99a07c0719e7f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 02 11:48:07 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed May 02 11:48:07 2012 -0700"
      },
      "message": "Merge 3.4-rc5 into staging-next\n\nThis resolves the conflict in:\n\tdrivers/staging/vt6656/ioctl.c\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "57c498fa5df05e4bd410c101795368439fec7b4e",
      "tree": "d4630cd56319d4ff21b5086b0661758a740bb8b9",
      "parents": [
        "e2d8ccef0a8e8aedaf401edca6ad54663b0da24b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Apr 20 12:31:45 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Apr 20 14:56:36 2012 -0700"
      },
      "message": "alarmtimer: Provide accessor to alarmtimer rtc device\n\nThe Android alarm interface provides a settime call that sets both\nthe alarmtimer RTC device and CLOCK_REALTIME to the same value.\n\nSince there may be multiple rtc devices, provide a hook to access the\none the alarmtimer infrastructure is using.\n\nCC: Colin Cross \u003cccross@android.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Android Kernel Team \u003ckernel-team@android.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a6371f80230eaaafd7eef7efeedaa9509bdc982d",
      "tree": "bb2d800c95cde553e126c28cb58133189b015a47",
      "parents": [
        "b9a6a23566960d0dd3f51e2e68b472cd61911078"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed Apr 18 19:27:39 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 19 21:27:50 2012 +0200"
      },
      "message": "tick: Fix the spurious broadcast timer ticks after resume\n\nDuring resume, tick_resume_broadcast() programs the broadcast timer in\noneshot mode unconditionally. On the platforms where broadcast timer\nis not really required, this will generate spurious broadcast timer\nticks upon resume. For example, on the always running apic timer\nplatforms with HPET, I see spurious hpet tick once every ~5minutes\n(which is the 32-bit hpet counter wraparound time).\n\nSimilar to boot time, during resume make the oneshot mode setting of\nthe broadcast clock event device conditional on the state of active\nbroadcast users.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nTested-by: svenjoac@gmx.de\nCc: torvalds@linux-foundation.org\nCc: rjw@sisk.pl\nLink: http://lkml.kernel.org/r/1334802459.28674.209.camel@sbsiddha-desk.sc.intel.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b9a6a23566960d0dd3f51e2e68b472cd61911078",
      "tree": "d9da5fb202a21b9036e961a5f4d3190e57343a6c",
      "parents": [
        "b435092f70ec5ebbfb6d075d5bf3c631b49a51de"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 18 17:31:58 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 19 21:27:35 2012 +0200"
      },
      "message": "tick: Ensure that the broadcast device is initialized\n\nSantosh found another trap when we avoid to initialize the broadcast\ndevice in the switch_to_oneshot code. The broadcast device might be\nstill in SHUTDOWN state when we actually need to use it. That\nobviously breaks, as set_next_event() is called on a shutdown\ndevice. This did not break on x86, but Suresh analyzed it:\n\nFrom the review, most likely on Sven\u0027s system we are force enabling\nthe hpet using the pci quirk\u0027s method very late. And in this case,\nhpet_clockevent (which will be global_clock_event) handler can be\nnull, specifically as this platform might not be using deeper c-states\nand using the reliable APIC timer.\n\nPrior to commit \u0027fa4da365bc7772c\u0027, that handler will be set to\n\u0027tick_handle_oneshot_broadcast\u0027 when we switch the broadcast timer to\noneshot mode, even though we don\u0027t use it. Post commit\n\u0027fa4da365bc7772c\u0027, we stopped switching the broadcast mode to oneshot\nas this is not really needed and his platform\u0027s global_clock_event\u0027s\nhandler will remain null. While on my SNB laptop, same is set to\n\u0027clockevents_handle_noop\u0027 because hpet gets enabled very early. (noop\nhandler on my platform set when the early enabled hpet timer gets\nreplaced by the lapic timer).\n\nBut the commit \u0027fa4da365bc7772c\u0027 tracked the broadcast timer mode in\nthe SW as oneshot, even though it didn\u0027t touch the HW timer. During\nresume however, tick_resume_broadcast() saw the SW broadcast mode as\noneshot and actually programmed the broadcast device also into oneshot\nmode. So this triggered the null pointer de-reference after the hpet\nwraps around and depending on what the hpet counter is set to. On the\nnormal platforms where hpet gets enabled early we should be seeing a\nspurious interrupt (in my SNB laptop I see one spurious interrupt\nafter around 5 minutes ;) which is 32-bit hpet counter wraparound\ntime), but that\u0027s a separate issue.\n\nEnforce the mode setting when trying to set an event.\n\nReported-and-tested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: torvalds@linux-foundation.org\nCc: svenjoac@gmx.de\nCc: rjw@sisk.pl\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1204181723350.2542@ionos\n\n"
    },
    {
      "commit": "b435092f70ec5ebbfb6d075d5bf3c631b49a51de",
      "tree": "c9cfd15c405dd218003fd84585196b5bffcc9bbd",
      "parents": [
        "592fe8980688e7cba46897685d014c7fb3018a67"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 18 12:08:23 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 18 14:00:56 2012 +0200"
      },
      "message": "tick: Fix oneshot broadcast setup really\n\nSven Joachim reported, that suspend/resume on rc3 trips over a NULL\npointer dereference. Linus spotted the clockevent handler being NULL.\n\ncommit fa4da365b(clockevents: tTack broadcast device mode change in\ntick_broadcast_switch_to_oneshot()) tried to fix a problem with the\nbroadcast device setup, which was introduced in commit 77b0d60c5(\nclockevents: Leave the broadcast device in shutdown mode when not\nneeded).\n\nThe initial commit avoided to set up the broadcast device when no\nbroadcast request bits were set, but that left the broadcast device\ndisfunctional. In consequence deep idle states which need the\nbroadcast device were not woken up.\n\ncommit fa4da365b tried to fix that by initializing the state of the\nbroadcast facility, but that missed the fact, that nothing initializes\nthe event handler and some other state of the underlying clock event\ndevice.\n\nThe fix is to revert both commits and make only the mode setting of\nthe clock event device conditional on the state of active broadcast\nusers. \n\nThat initializes everything except the low level device mode, but this\nhappens when the broadcast functionality is invoked by deep idle.\n\nReported-and-tested-by: Sven Joachim \u003csvenjoac@gmx.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1204181205540.2542@ionos\n\n"
    },
    {
      "commit": "fa4da365bc7772c2cd6d5405bdf151612455f957",
      "tree": "a688173e5ba7428e934dee1ea2905c2bbe92ef50",
      "parents": [
        "9886f444129171569461d8c39983e16f4871e3b4"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Apr 09 15:41:44 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 10 11:42:07 2012 +0200"
      },
      "message": "clockevents: tTack broadcast device mode change in tick_broadcast_switch_to_oneshot()\n\nIn the commit 77b0d60c5adf39c74039e2142a1d3cd1e4d53799,\n\"clockevents: Leave the broadcast device in shutdown mode when not needed\",\nwe were bailing out too quickly in tick_broadcast_switch_to_oneshot(),\nwith out tracking the broadcast device mode change to \u0027TICKDEV_MODE_ONESHOT\u0027.\n\nThis breaks the platforms which need broadcast device oneshot services during\ndeep idle states. tick_broadcast_oneshot_control() thinks that it is\nin periodic mode and fails to take proper decisions based on the\nCLOCK_EVT_NOTIFY_BROADCAST_[ENTER, EXIT] notifications during deep\nidle entry/exit.\n\nFix this by tracking the broadcast device mode as \u0027TICKDEV_MODE_ONESHOT\u0027,\nbefore leaving the broadcast HW device in shutdown mode if there are no active\nrequests for the moment.\n\nReported-and-tested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: johnstul@us.ibm.com\nLink: http://lkml.kernel.org/r/1334011304.12400.81.camel@sbsiddha-desk.sc.intel.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6f103929f8979d2638e58d7f7fda0beefcb8ee7e",
      "tree": "e1ef3fc388c177e8e8ca4b6daa797fe7f9306d84",
      "parents": [
        "3872c48b14259d8c0a00c9fff06a4a4123f7f4eb"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Tue Mar 27 15:09:37 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 06 13:24:17 2012 +0200"
      },
      "message": "nohz: Fix stale jiffies update in tick_nohz_restart()\n\nFix tick_nohz_restart() to not use a stale ktime_t \"now\" value when\ncalling tick_do_update_jiffies64(now).\n\nIf we reach this point in the loop it means that we crossed a tick\nboundary since we grabbed the \"now\" timestamp, so at this point \"now\"\nrefers to a time in the old jiffy, so using the old value for \"now\" is\nincorrect, and is likely to give us a stale jiffies value.\n\nIn particular, the first time through the loop the\ntick_do_update_jiffies64(now) call is always a no-op, since the\ncaller, tick_nohz_restart_sched_tick(), will have already called\ntick_do_update_jiffies64(now) with that \"now\" value.\n\nNote that tick_nohz_stop_sched_tick() already uses the correct\napproach: when we notice we cross a jiffy boundary, grab a new\ntimestamp with ktime_get(), and *then* update jiffies.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Ben Segall \u003cbsegall@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1332875377-23014-1-git-send-email-ncardwell@google.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3872c48b14259d8c0a00c9fff06a4a4123f7f4eb",
      "tree": "94e5f5c1898896436e9534aa182d8c3aef255826",
      "parents": [
        "cb85a6ed67e979c59a29b7b4e8217e755b951cf4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 31 12:45:43 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 31 12:45:43 2012 +0200"
      },
      "message": "tick: Document TICK_ONESHOT config option\n\nThis option has been selected from arch code as it was assumed that\nit\u0027s necessary to support oneshot mode clockevent devices. But it\u0027s\njust a core internal helper to compile tick-oneshot.c if NOHZ or\nHIG_RES_TIMERS are selected.\n\nReported-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    }
  ],
  "next": "bcd550745fc54f789c14e7526e0633222c505faa"
}
