)]}'
{
  "log": [
    {
      "commit": "6f7a05d7018de222e40ca003721037a530979974",
      "tree": "351f0785c033f5c954c8ac67175ccc6524918586",
      "parents": [
        "6402c7dc2a19c19bd8cdc7d80878b850da418942"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 25 11:45:53 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 25 13:57:04 2013 +0200"
      },
      "message": "clockevents: Set dummy handler on CPU_DEAD shutdown\n\nVitaliy reported that a per cpu HPET timer interrupt crashes the\nsystem during hibernation. What happens is that the per cpu HPET timer\ngets shut down when the nonboot cpus are stopped. When the nonboot\ncpus are onlined again the HPET code sets up the MSI interrupt which\nfires before the clock event device is registered. The event handler\nis still set to hrtimer_interrupt, which then crashes the machine due\nto highres mode not being active.\n\nSee http://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d700333\n\nThere is no real good way to avoid that in the HPET code. The HPET\ncode alrady has a mechanism to detect spurious interrupts when event\nhandler \u003d\u003d NULL for a similar reason.\n\nWe can handle that in the clockevent/tick layer and replace the\nprevious functional handler with a dummy handler like we do in\ntick_setup_new_device().\n\nThe original clockevents code did this in clockevents_exchange_device(),\nbut that got removed by commit 7c1e76897 (clockevents: prevent\nclockevent event_handler ending up handler_noop) which forgot to fix\nit up in tick_shutdown(). Same issue with the broadcast device.\n\nReported-by: Vitaliy Fillipov \u003cvitalif@yourcmc.ru\u003e\nCc: Ben Hutchings \u003cben@decadent.org.uk\u003e\nCc: stable@vger.kernel.org\nCc: 700333@bugs.debian.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6402c7dc2a19c19bd8cdc7d80878b850da418942",
      "tree": "cda2ea2df40442e2aa016119f3548cc504127ea8",
      "parents": [
        "77c675ba18836802f6b73d2d773481d06ebc0f04",
        "60d509fa6a9c4653a86ad830e4c4b30360b23f0e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 24 20:33:46 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 24 20:33:54 2013 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/core\nReason: Get upstream fixes before adding conflicting code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "77c675ba18836802f6b73d2d773481d06ebc0f04",
      "tree": "fbf1afe074218e110fb90cdbc108e78a3c89b008",
      "parents": [
        "d2054b2c11682495fca41e9d4092e654df63b517"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 22 09:37:04 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 22 20:17:51 2013 +0200"
      },
      "message": "timekeeping: Update tk-\u003ecycle_last in resume\n\ncommit 7ec98e15aa (timekeeping: Delay update of clock-\u003ecycle_last)\nforgot to update tk-\u003ecycle_last in the resume path. This results in a\nstale value versus clock-\u003ecycle_last and prevents resume in the worst\ncase.\n\nReported-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nReported-and-tested-by: Borislav Petkov \u003cbp@alien8.de\u003e\nAcked-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Linux-pm mailing list \u003clinux-pm@lists.linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1304211648150.21884@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c038c1c44179c80da6201f91ef354e48d5689617",
      "tree": "a1ee34eadd567393cbdb6632ad7b8abb4a2fc4ea",
      "parents": [
        "b3956a896ea57f25cacd74708b8fab611543a81d"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Wed Apr 17 10:26:06 2013 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 17 21:30:56 2013 +0200"
      },
      "message": "clockevents: Switch into oneshot mode even if broadcast registered late\n\ntick_oneshot_notify() is used to notify a particular CPU to try\nto switch into oneshot mode after a oneshot capable tick device\nis registered and tick_clock_notify() is used to notify all CPUs\nto try to switch into oneshot mode after a high res clocksource\nis registered. There is one caveat; if the tick devices suffer\nfrom FEAT_C3_STOP we don\u0027t try to switch into oneshot mode unless\nwe have a oneshot capable broadcast device already registered.\n\nIf the broadcast device is registered after the tick devices that\nhave FEAT_C3_STOP we\u0027ll never try to switch into oneshot mode\nagain, causing us to be stuck in periodic mode forever. Avoid\nthis scenario by calling tick_clock_notify() after we register\nthe broadcast device so that we try to switch into oneshot mode\non all CPUs one more time.\n\n[ tglx: Adopted to timers/core and added a comment ]\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nLink: http://lkml.kernel.org/r/1366219566-29783-1-git-send-email-sboyd@codeaurora.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b3956a896ea57f25cacd74708b8fab611543a81d",
      "tree": "b80f2805317d0faa493086d89abaaccfe6143a69",
      "parents": [
        "60cf7ea849e77c8782dee147cfb8c38d1984236e"
      ],
      "author": {
        "name": "Nathan Zimmer",
        "email": "nzimmer@sgi.com",
        "time": "Tue Mar 26 19:56:30 2013 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 17 20:51:02 2013 +0200"
      },
      "message": "timer_list: Convert timer list to be a proper seq_file\n\nWhen running with 4096 cores attemping to read /proc/timer_list will fail\nwith an ENOMEM condition.  On a sufficantly large systems the total amount\nof data is more then 4mb, so it won\u0027t fit into a single buffer.  The\nfailure can also occur on smaller systems when memory fragmentation is\nhigh as reported by Dave Jones.\n\nConvert /proc/timer_list to a proper seq_file with its own iterator.  This\nis a little more complex given that we have to make two passes with two\nseparate headers.\n\nsysrq_timer_list_show also needed to be updated to reflect the fact that\nnow timer_list_show only does one cpu at at time.\n\nSigned-off-by: Nathan Zimmer \u003cnzimmer@sgi.com\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nLink: http://lkml.kernel.org/r/1364345790-14577-3-git-send-email-nzimmer@sgi.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "60cf7ea849e77c8782dee147cfb8c38d1984236e",
      "tree": "3cdec169578694ff849cfdce09cbb99d7c4664a5",
      "parents": [
        "57b8015e07a70301e9ec9f324db1a8b73b5a1e2b"
      ],
      "author": {
        "name": "Nathan Zimmer",
        "email": "nzimmer@sgi.com",
        "time": "Tue Mar 26 19:56:29 2013 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 17 20:51:02 2013 +0200"
      },
      "message": "timer_list: Split timer_list_show_tickdevices\n\nSplit timer_list_show_tickdevices() into the header printout and pull\nthe rest up to timer_list_show. This is a preparatory patch for\nconverting timer_list to a proper seqfile with its own iterator\n\nSigned-off-by: Nathan Zimmer \u003cnzimmer@sgi.com\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nLink: http://lkml.kernel.org/r/1364345790-14577-2-git-send-email-nzimmer@sgi.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4e8f8b34b92b6514cc070aeb94d317cadd5071d7",
      "tree": "ecbef4b23bff0198081a605b88b39aee205d1923",
      "parents": [
        "51fd36f3fad8447c487137ae26b9d0b3ce77bb25"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Wed Apr 10 12:41:49 2013 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 11 10:19:44 2013 +0200"
      },
      "message": "timekeeping: Make sure to notify hrtimers when TAI offset changes\n\nNow that we have CLOCK_TAI timers, make sure we notify hrtimer\ncode when TAI offset is changed.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nLink: http://lkml.kernel.org/r/1365622909-953-1-git-send-email-john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ca4523cda429712fc135c5db50920d90eb776a6c",
      "tree": "6a8c260a24bcd5a188d25790984d0aa5a3fb3428",
      "parents": [
        "48cdc135d4840aab8efd2fc3bacb5d7dfd94a9c8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:40 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:32 2013 -0700"
      },
      "message": "timekeeping: Shorten seq_count region\n\nShorten the seqcount write hold region to the actual update of the\ntimekeeper and the related data (e.g vsyscall).\n\nOn a contemporary x86 system this reduces the maximum latencies on\nPreempt-RT from 8us to 4us on the non-timekeeping cores.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "48cdc135d4840aab8efd2fc3bacb5d7dfd94a9c8",
      "tree": "4ef4c34ff6312bb4dd9d381d3ba17c2aa5c7cfc8",
      "parents": [
        "7ec98e15aa049b7a2ca73485f31cf4f90c34e2dd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:40 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:32 2013 -0700"
      },
      "message": "timekeeping: Implement a shadow timekeeper\n\nUse the shadow timekeeper to do the update_wall_time() adjustments and\nthen copy it over to the real timekeeper.\n\nKeep the shadow timekeeper in sync when updating stuff outside of\nupdate_wall_time().\n\nThis allows us to limit the timekeeper_seq hold time to the update of\nthe real timekeeper and the vsyscall data in the next patch.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "7ec98e15aa049b7a2ca73485f31cf4f90c34e2dd",
      "tree": "9cfe66164c13f1c2413fb2c8335971918e43d6c9",
      "parents": [
        "14a3b6abe98c8f53a13522610c257accef7321df"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:39 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:31 2013 -0700"
      },
      "message": "timekeeping: Delay update of clock-\u003ecycle_last\n\nFor calculating the new timekeeper values store the new cycle_last\nvalue in the timekeeper and update the clock-\u003ecycle_last just when we\nactually update the new values.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "14a3b6abe98c8f53a13522610c257accef7321df",
      "tree": "a14383c4c852d5d2268607443a61bfa437cd9bfd",
      "parents": [
        "a076b2146fabb0894cae5e0189a8ba3f1502d737"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:38 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:31 2013 -0700"
      },
      "message": "timekeeping: Store cycle_last value in timekeeper struct as well\n\nFor implementing a shadow timekeeper and a split calculation/update\nregion we need to store the cycle_last value in the timekeeper and\nupdate the value in the clocksource struct only in the update region.\n\nAdd the extra storage to the timekeeper.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "a076b2146fabb0894cae5e0189a8ba3f1502d737",
      "tree": "5cefb4526bf90d9ffb775596b38cc6c0b602f907",
      "parents": [
        "0b5154fb9040cca94e7d9893384c0e78bfe2d296"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 11:52:03 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:17 2013 -0700"
      },
      "message": "ntp: Remove ntp_lock, using the timekeeping locks to protect ntp state\n\nIn order to properly handle the NTP state in future changes to the\ntimekeeping lock management, this patch moves the management of\nall of the ntp state under the timekeeping locks.\n\nThis allows us to remove the ntp_lock.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "0b5154fb9040cca94e7d9893384c0e78bfe2d296",
      "tree": "56f00530b6f99159d478ed48771a2fd97b26c5f1",
      "parents": [
        "06c017fdd4dc48451a29ac37fc1db4a3f86b7f40"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 14:20:03 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:16 2013 -0700"
      },
      "message": "timekeeping: Simplify tai updating from do_adjtimex\n\nSince we are taking the timekeeping locks, just go ahead\nand update any tai change directly, rather then dropping\nthe lock and calling a function that will just take it again.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "06c017fdd4dc48451a29ac37fc1db4a3f86b7f40",
      "tree": "3629e95c779bbc388aab162ddaf3d8c37a8b8b48",
      "parents": [
        "cef90377fab488bd1f959efda178fb83250cf61d"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 11:37:28 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:16 2013 -0700"
      },
      "message": "timekeeping: Hold timekeepering locks in do_adjtimex and hardpps\n\nIn moving the NTP state to be protected by the timekeeping locks,\nbe sure to acquire the timekeeping locks prior to calling\nntp functions.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "cef90377fab488bd1f959efda178fb83250cf61d",
      "tree": "7ac4afc365ef3d35b339ac796d7ec921df618a58",
      "parents": [
        "87ace39b7168bd9d352c1c52b6f5d88eb1876cf8"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 15:04:13 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:15 2013 -0700"
      },
      "message": "timekeeping: Move ADJ_SETOFFSET to top level do_adjtimex()\n\nSince ADJ_SETOFFSET adjusts the timekeeping state, process\nit as part of the top level do_adjtimex() function in\ntimekeeping.c.\n\nThis avoids deadlocks that could occur once we change the\nntp locking rules.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "87ace39b7168bd9d352c1c52b6f5d88eb1876cf8",
      "tree": "57f19306b0f2e9b99430f92a4ba9a7ac9454e2e0",
      "parents": [
        "e4085693f629ded8ac8c35b5cdd324d20242990b"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 12:28:15 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:15 2013 -0700"
      },
      "message": "ntp: Rework do_adjtimex to take timespec and tai arguments\n\nIn order to change the locking rules, we need to provide\nthe timespec and tai values rather then having the ntp\nlogic acquire these values itself.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "e4085693f629ded8ac8c35b5cdd324d20242990b",
      "tree": "757707d15089ed0386b7f25bfa019cdfe9b44024",
      "parents": [
        "aa6f9c595d857328e5d815e5b94c0e7cd31a6b59"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 12:08:52 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:14 2013 -0700"
      },
      "message": "ntp: Move timex validation to timekeeping do_adjtimex call.\n\nMove logic that does not need the ntp state to be done\nin the timekeeping do_adjtimex() call.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "aa6f9c595d857328e5d815e5b94c0e7cd31a6b59",
      "tree": "bee031555304488a68e9f4dc76944b8924f11e7b",
      "parents": [
        "ad460967a2953496ad76b1c22091ea99f21b4e86"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 11:31:29 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:14 2013 -0700"
      },
      "message": "ntp: Move do_adjtimex() and hardpps() functions to timekeeping.c\n\nIn preparation for changing the ntp locking rules, move\ndo_adjtimex and hardpps accessor functions to timekeeping.c,\nbut keep the code logic in ntp.c.\n\nThis patch also introduces a ntp_internal.h file so timekeeping\nspecific interfaces of ntp.c can be more limitedly shared with\ntimekeeping.c.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "ad460967a2953496ad76b1c22091ea99f21b4e86",
      "tree": "fbc2fc6d9e6e0abd6ff11e00a24826f91b2bc015",
      "parents": [
        "0ed2aef9b3bffe598045b62a31a50d912eee92d8"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 11:59:04 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu Apr 04 13:18:14 2013 -0700"
      },
      "message": "ntp: Split out timex validation from do_adjtimex\n\nSplit out the timex validation done in do_adjtimex into a separate\nfunction. This will help simplify logic in following patches.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Cochran \u003crichardcochran@gmail.com\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "0ed2aef9b3bffe598045b62a31a50d912eee92d8",
      "tree": "d7dda12955c838f531727d2775d09c4e04bdf066",
      "parents": [
        "cfea7d7e452f57682a0bb55a55e9f79c569558c2",
        "8011657b9e63cb2e914b9a0f75233b910c1854cb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 03 12:27:29 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 03 12:27:29 2013 +0200"
      },
      "message": "Merge branch \u0027fortglx/3.10/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n"
    },
    {
      "commit": "dd5d70e869f960bde6376f4447fff59f16186cf5",
      "tree": "a19b33175769a9f9d03d27338577254d222baab1",
      "parents": [
        "9a7a71b1d0968fc2bd602b7481cde1d4872e01ff"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Mar 25 12:24:24 2013 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Mar 25 12:24:24 2013 -0700"
      },
      "message": "timekeeping: __timekeeping_set_tai_offset can be static\n\nYet again, the kbuild test robot saves the day, noting\nI left out defining __timekeeping_set_tai_offset as\nstatic. It even sent me this patch.\n\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "cfea7d7e452f57682a0bb55a55e9f79c569558c2",
      "tree": "8c8173937d3ce02b6af622b30843433f79e3a4ea",
      "parents": [
        "8ffbc7d9ff0064ce000788272a609fa79d06ead1"
      ],
      "author": {
        "name": "Rado Vrbovsky",
        "email": "rvrbovsk@redhat.com",
        "time": "Fri Feb 08 12:37:30 2013 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 25 10:46:59 2013 +0100"
      },
      "message": "tick: Change log level of NOHZ: local_softirq_pending message\n\nThe \"NOHZ: local_softirq_pending\" message is a largely informational\nmessage.  This makes extra work for customers that have a policy of\ninvestigating all kernel log messages logged at \u003c\u003d KERN_ERR log level.\nThis patch sets the message to a different log level.\n\n[ tglx: Use pr_warn() ]\n\nSigned-off-by: Rado Vrbovsky \u003crvrbovsk@redhat.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nLink: http://lkml.kernel.org/r/2037057938.893524.1360345050772.JavaMail.root@redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "9a7a71b1d0968fc2bd602b7481cde1d4872e01ff",
      "tree": "18954e171dcf260a7750ad6be2f70bac7ef63a78",
      "parents": [
        "7e40672d930b369c1984457233ec5557aa53bfb8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:38 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:20:01 2013 -0700"
      },
      "message": "timekeeping: Split timekeeper_lock into lock and seqcount\n\nWe want to shorten the seqcount write hold time. So split the seqlock\ninto a lock and a seqcount.\n\nOpen code the seqwrite_lock in the places which matter and drop the\nsequence counter update where it\u0027s pointless.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[jstultz: Merge fixups from CLOCK_TAI collisions]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "7e40672d930b369c1984457233ec5557aa53bfb8",
      "tree": "7e87231ebdf0898f939e8b2b88ca48d1e4309eab",
      "parents": [
        "eb93e4d93093615c60cb7dd3dcb24e46bd7d62d4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:37 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:20:00 2013 -0700"
      },
      "message": "timekeeping: Move lock out of timekeeper struct\n\nMake the lock a separate entity. Preparatory patch for shadow\ntimekeeper structure.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n[Merged with CLOCK_TAI changes]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "eb93e4d93093615c60cb7dd3dcb24e46bd7d62d4",
      "tree": "8fa60609e162c2b3f61c978517a2223a5243c87e",
      "parents": [
        "23a9537a6999fce16f06ca61fc6cac52c8fbdc86"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:36 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:20:00 2013 -0700"
      },
      "message": "timekeeping: Make jiffies_lock internal\n\nNothing outside of the timekeeping core needs that lock.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "23a9537a6999fce16f06ca61fc6cac52c8fbdc86",
      "tree": "db1f5b82730a087bf36be7dc3ad46354a79877ea",
      "parents": [
        "90adda98b89aaf68b06014ecf805b6c477daa19b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 21 22:51:36 2013 +0000"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:19:59 2013 -0700"
      },
      "message": "timekeeping: Calc stuff once\n\nCalculate the cycle interval shifted value once. No functional change,\njust makes the code more readable.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "90adda98b89aaf68b06014ecf805b6c477daa19b",
      "tree": "c50d47c4c344774205569ce42e13d16a8174b02e",
      "parents": [
        "1ff3c9677bff7e468e0c487d0ffefe4e901d33f4"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon Jan 21 17:00:11 2013 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:19:59 2013 -0700"
      },
      "message": "hrtimer: Add hrtimer support for CLOCK_TAI\n\nAdd hrtimer support for CLOCK_TAI, as well as posix timer interfaces.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "1ff3c9677bff7e468e0c487d0ffefe4e901d33f4",
      "tree": "202cef5857654e15eb471c2216f37f995f1c6e2f",
      "parents": [
        "cc244ddae6d4c6902ac9d7d64023534f8c44a7eb"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu May 03 12:43:40 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:19:59 2013 -0700"
      },
      "message": "timekeeping: Add CLOCK_TAI clockid\n\nThis add a CLOCK_TAI clockid and the needed accessors.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "cc244ddae6d4c6902ac9d7d64023534f8c44a7eb",
      "tree": "9f9e26d214bd0113d8722c0a683e003cbc1bf165",
      "parents": [
        "e445cf1c4257cc0238d72e4129eb4739f46fd3de"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Thu May 03 12:30:07 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 22 16:19:58 2013 -0700"
      },
      "message": "timekeeping: Move TAI managment into timekeeping core from ntp\n\nCurrently NTP manages the TAI offset. Since there\u0027s plans for a\nCLOCK_TAI clockid, push the TAI management into the timekeeping\ncore.\n\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "e445cf1c4257cc0238d72e4129eb4739f46fd3de",
      "tree": "5ff9c120a867939996d83dae6e885e81177c1819",
      "parents": [
        "82f9c080b22a5b859ae2b50822dfb6b812898fdb"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Tue Mar 12 11:56:48 2013 +0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Mar 15 16:51:29 2013 -0700"
      },
      "message": "timekeeping: utilize the suspend-nonstop clocksource to count suspended time\n\nThere are some new processors whose TSC clocksource won\u0027t stop during\nsuspend. Currently, after system resumes, kernel will use persistent\nclock or RTC to compensate the sleep time, but with these nonstop\nclocksources, we could skip the special compensation from external\nsources, and just use current clocksource for time recounting.\n\nThis can solve some time drift bugs caused by some not-so-accurate or\nerror-prone RTC devices.\n\nThe current way to count suspended time is first try to use the persistent\nclock, and then try the RTC if persistent clock can\u0027t be used. This\npatch will change the trying order to:\n\tsuspend-nonstop clocksource -\u003e persistent clock -\u003e RTC\n\nWhen counting the sleep time with nonstop clocksource, use an accurate way\nsuggested by Jason Gunthorpe to cover very large delta cycles.\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\n[jstultz: Small optimization, avoiding re-reading the clocksource]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "eaa907c546f76222227dfc41784b22588af1e3d7",
      "tree": "0e23882c311bc527ae9e328c22b000ff11b85fae",
      "parents": [
        "989dcb645ca715129c5a2b39102c8334a20d9615"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 06 11:18:36 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 13 11:39:39 2013 +0100"
      },
      "message": "tick: Provide a check for a forced broadcast pending\n\nOn the CPU which gets woken along with the target CPU of the broadcast\nthe following happens:\n\n  deep_idle()\n\t\t\t\u003c-- spurious wakeup\n  broadcast_exit()\n    set forced bit\n  \n  enable interrupts\n    \n\t\t\t\u003c-- Nothing happens\n\n  disable interrupts\n\n  broadcast_enter()\n\t\t\t\u003c-- Here we observe the forced bit is set\n  deep_idle()\n\nNow after that the target CPU of the broadcast runs the broadcast\nhandler and finds the other CPU in both the broadcast and the forced\nmask, sends the IPI and stuff gets back to normal.\n\nSo it\u0027s not actually harmful, just more evidence for the theory, that\nhardware designers have access to very special drug supplies.\n\nNow there is no point in going back to deep idle just to wake up again\nright away via an IPI. Provide a check which allows the idle code to\navoid the deep idle transition.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: LAK \u003clinux-arm-kernel@lists.infradead.org\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Arjan van de Veen \u003carjan@infradead.org\u003e\nCc: Lorenzo Pieralisi \u003clorenzo.pieralisi@arm.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nCc: Jason Liu \u003cliu.h.jason@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20130306111537.565418308@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "989dcb645ca715129c5a2b39102c8334a20d9615",
      "tree": "244553d975af4d64fa033c11e02267e9753376f5",
      "parents": [
        "26517f3e99248668315aee9460dcea21628cdd7f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 06 11:18:35 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 13 11:39:39 2013 +0100"
      },
      "message": "tick: Handle broadcast wakeup of multiple cpus\n\nSome brilliant hardware implementations wake multiple cores when the\nbroadcast timer fires. This leads to the following interesting\nproblem:\n\nCPU0\t\t\t\tCPU1\nwakeup from idle\t\twakeup from idle\n\nleave broadcast mode\t\tleave broadcast mode\n restart per cpu timer\t\t restart per cpu timer\n \t     \t \t\tgo back to idle\nhandle broadcast\n (empty mask)\t\t\t\n\t\t\t\tenter broadcast mode\n\t\t\t\tprogramm broadcast device\nenter broadcast mode\nprogramm broadcast device\n\nSo what happens is that due to the forced reprogramming of the cpu\nlocal timer, we need to set a event in the future. Now if we manage to\ngo back to idle before the timer fires, we switch off the timer and\narm the broadcast device with an already expired time (covered by\nforced mode). So in the worst case we repeat the above ping pong\nforever.\n\t\t\t\t\t\nUnfortunately we have no information about what caused the wakeup, but\nwe can check current time against the expiry time of the local cpu. If\nthe local event is already in the past, we know that the broadcast\ntimer is about to fire and send an IPI. So we mark ourself as an IPI\ntarget even if we left broadcast mode and avoid the reprogramming of\nthe local cpu timer.\n\nThis still leaves the possibility that a CPU which is not handling the\nbroadcast interrupt is going to reach idle again before the IPI\narrives. This can\u0027t be solved in the core code and will be handled in\nfollow up patches.\n\nReported-by: Jason Liu \u003cliu.h.jason@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: LAK \u003clinux-arm-kernel@lists.infradead.org\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Arjan van de Veen \u003carjan@infradead.org\u003e\nCc: Lorenzo Pieralisi \u003clorenzo.pieralisi@arm.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nLink: http://lkml.kernel.org/r/20130306111537.492045206@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "26517f3e99248668315aee9460dcea21628cdd7f",
      "tree": "053bb79af301c58cd05c9e346d85f66918048d61",
      "parents": [
        "f7dce82d532e911c41933776426785373fe13967"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 06 11:18:35 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 13 11:39:39 2013 +0100"
      },
      "message": "tick: Avoid programming the local cpu timer if broadcast pending\n\nIf the local cpu timer stops in deep idle, we arm the broadcast device\nand get woken by an IPI. Now when we return from deep idle we reenable\nthe local cpu timer unconditionally before handling the IPI. But\nthat\u0027s a pointless exercise: the timer is already expired and the IPI\nis on the way. And it\u0027s an expensive exercise as we use the forced\nreprogramming mode so that we do not lose a timer event. This forced\nreprogramming will loop at least once in the retry.\n\nTo avoid this reprogramming, we mark the cpu in a pending bit mask\nbefore we send the IPI. Now when the IPI target cpu wakes up, it will\nsee the pending bit set and skip the reprogramming. The reprogramming\nof the cpu local timer will happen in the IPI handler which runs the\ncpu local timer interrupt function.\n\nReported-by: Jason Liu \u003cliu.h.jason@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: LAK \u003clinux-arm-kernel@lists.infradead.org\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Arjan van de Veen \u003carjan@infradead.org\u003e\nCc: Lorenzo Pieralisi \u003clorenzo.pieralisi@arm.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nLink: http://lkml.kernel.org/r/20130306111537.431082074@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a7dc19b8652c862d5b7c4d2339bd3c428bd29c4a",
      "tree": "cc31aa42ae65ec413ae1ee586307cf8687fdbc92",
      "parents": [
        "6dbe51c251a327e012439c4772097a13df43c5b8"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Thu Mar 07 15:09:24 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 07 17:16:11 2013 +0100"
      },
      "message": "clockevents: Don\u0027t allow dummy broadcast timers\n\nCurrently tick_check_broadcast_device doesn\u0027t reject clock_event_devices\nwith CLOCK_EVT_FEAT_DUMMY, and may select them in preference to real\nhardware if they have a higher rating value. In this situation, the\ndummy timer is responsible for broadcasting to itself, and the core\nclockevents code may attempt to call non-existent callbacks for\nprogramming the dummy, eventually leading to a panic.\n\nThis patch makes tick_check_broadcast_device always reject dummy timers,\npreventing this problem.\n\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nCc: Jon Medhurst (Tixy) \u003ctixy@linaro.org\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d2348fb6fdc6d671ad45b62db237f76c8c115603",
      "tree": "30a05c397f91bd8ac32cc904231d9a72ce7b5c1e",
      "parents": [
        "f9ae39d04ccdec8d8ecf532191b7056c279a22c0"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@linaro.org",
        "time": "Sat Mar 02 11:10:11 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 07 16:13:26 2013 +0100"
      },
      "message": "tick: Dynamically set broadcast irq affinity\n\nWhen a cpu goes to a deep idle state where its local timer is\nshutdown, it notifies the time frame work to use the broadcast timer\ninstead.  Unfortunately, the broadcast device could wake up any CPU,\nincluding an idle one which is not concerned by the wake up at all. So\nin the worst case an idle CPU will wake up to send an IPI to the CPU\nwhose timer expired.\n\nProvide an opt-in feature CLOCK_EVT_FEAT_DYNIRQ which tells the core\nthat is should set the interrupt affinity of the broadcast interrupt\nto the cpu which has the earliest expiry time. This avoids unnecessary\nspurious wakeups and IPIs.\n\n[ tglx: Adopted to cpumask rework, silenced an uninitialized warning,\n  massaged changelog ]\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nCc: viresh.kumar@linaro.org\nCc: jacob.jun.pan@linux.intel.com\nCc: linux-arm-kernel@lists.infradead.org\nCc: santosh.shilimkar@ti.com\nCc: linaro-kernel@lists.linaro.org\nCc: patches@linaro.org\nCc: rickard.andersson@stericsson.com\nCc: vincent.guittot@linaro.org\nCc: linus.walleij@stericsson.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1362219013-18173-3-git-send-email-daniel.lezcano@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f9ae39d04ccdec8d8ecf532191b7056c279a22c0",
      "tree": "9adfa7e4a39013b4089c0fbed889920e6327ef26",
      "parents": [
        "b352bc1cbc29134a356b5c16ee2281807a7b984e"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@linaro.org",
        "time": "Sat Mar 02 11:10:10 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 07 16:13:26 2013 +0100"
      },
      "message": "tick: Pass broadcast device to tick_broadcast_set_event()\n\nPass the broadcast timer to tick_broadcast_set_event() instead of\nreevaluating tick_broadcast_device.evtdev.\n\n[ tglx: Massaged changelog ]\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@linaro.org\u003e\nCc: viresh.kumar@linaro.org\nCc: jacob.jun.pan@linux.intel.com\nCc: linux-arm-kernel@lists.infradead.org\nCc: santosh.shilimkar@ti.com\nCc: linaro-kernel@lists.linaro.org\nCc: patches@linaro.org\nCc: rickard.andersson@stericsson.com\nCc: vincent.guittot@linaro.org\nCc: linus.walleij@stericsson.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1362219013-18173-2-git-send-email-daniel.lezcano@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b352bc1cbc29134a356b5c16ee2281807a7b984e",
      "tree": "e68ff362a8c1bae0510d864551ba81f4f1136cc0",
      "parents": [
        "ad2b13536ace08dfcca4cf86b75a5d06efe06373"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 05 14:25:32 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 07 16:13:26 2013 +0100"
      },
      "message": "tick: Convert broadcast cpu bitmaps to cpumask_var_t\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20130306111537.366394000@linutronix.de\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "2af78448fff61e13392daf4f770cfbcf9253316a",
      "tree": "6c0494284dd1dd737d5f76ee19c553618e8d0e54",
      "parents": [
        "5e04f4b4290e03deb91b074087ae8d7c169d947d",
        "f5b6d45f8cf688f51140fd21f1da3b90562762a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 28 19:48:26 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 28 19:48:26 2013 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux\n\nPull thermal management updates from Zhang Rui:\n \"Highlights:\n\n   - introduction of Dove thermal sensor driver.\n\n   - introduction of Kirkwood thermal sensor driver.\n\n   - introduction of intel_powerclamp thermal cooling device driver.\n\n   - add interrupt and DT support for rcar thermal driver.\n\n   - add thermal emulation support which allows platform thermal driver\n     to do software/hardware emulation for thermal issues.\"\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (36 commits)\n  thermal: rcar: remove __devinitconst\n  thermal: return an error on failure to register thermal class\n  Thermal: rename thermal governor Kconfig option to avoid generic naming\n  thermal: exynos: Use the new thermal trend type for quick cooling action.\n  Thermal: exynos: Add support for temperature falling interrupt.\n  Thermal: Dove: Add Themal sensor support for Dove.\n  thermal: Add support for the thermal sensor on Kirkwood SoCs\n  thermal: rcar: add Device Tree support\n  thermal: rcar: remove machine_power_off() from rcar_thermal_notify()\n  thermal: rcar: add interrupt support\n  thermal: rcar: add read/write functions for common/priv data\n  thermal: rcar: multi channel support\n  thermal: rcar: use mutex lock instead of spin lock\n  thermal: rcar: enable CPCTL to use hardware TSC deciding\n  thermal: rcar: use parenthesis on macro\n  Thermal: fix a build warning when CONFIG_THERMAL_EMULATION cleared\n  Thermal: fix a wrong comment\n  thermal: sysfs: Add a new sysfs node emul_temp for thermal emulation\n  PM: intel_powerclamp: off by one in start_power_clamp()\n  thermal: exynos: Miscellaneous fixes to support falling threshold interrupt\n  ...\n"
    },
    {
      "commit": "3b5d8510b94a95e493e8c4951ffc3d1cf6a6792d",
      "tree": "4493367715c7a15e9057e6c72fa3c3edfd0605ad",
      "parents": [
        "c47f39e3b75e1138823984ad5079547c7a41b726",
        "41ef8f826692c8f65882bec0a8211bd4d1d2d19a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 22 19:25:09 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 22 19:25:09 2013 -0800"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core locking changes from Ingo Molnar:\n \"The biggest change is the rwsem lock-steal improvements, both to the\n  assembly optimized and the spinlock based variants.\n\n  The other notable change is the clean up of the seqlock implementation\n  to be based on the seqcount infrastructure.\n\n  The rest is assorted smaller debuggability, cleanup and continued -rt\n  locking changes.\"\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  rwsem-spinlock: Implement writer lock-stealing for better scalability\n  futex: Revert \"futex: Mark get_robust_list as deprecated\"\n  generic: Use raw local irq variant for generic cmpxchg\n  lockdep: Selftest: convert spinlock to raw spinlock\n  seqlock: Use seqcount infrastructure\n  seqlock: Remove unused functions\n  ntp: Make ntp_lock raw\n  intel_idle: Convert i7300_idle_lock to raw_spinlock\n  locking: Various static lock initializer fixes\n  lockdep: Print more info when MAX_LOCK_DEPTH is exceeded\n  rwsem: Implement writer lock-stealing for better scalability\n  lockdep: Silence warning if CONFIG_LOCKDEP isn\u0027t set\n  watchdog: Use local_clock for get_timestamp()\n  lockdep: Rename print_unlock_inbalance_bug() to print_unlock_imbalance_bug()\n  locking/stat: Fix a typo\n"
    },
    {
      "commit": "b274776c54c320763bc12eb035c0e244f76ccb43",
      "tree": "c75b70d0824a7ae029229b19d61884039abf2127",
      "parents": [
        "b24174b0cbbe383c5bb6097aeb24480b8fd2d338",
        "3b1209e7994c4d31ff9932a7f566ae1c96b3c443"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 14:58:40 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 14:58:40 2013 -0800"
      },
      "message": "Merge tag \u0027cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull ARM SoC cleanups from Arnd Bergmann:\n \"A large number of cleanups, all over the platforms.  This is dominated\n  largely by the Samsung platforms (s3c, s5p, exynos) and a few of the\n  others moving code out of arch/arm into more appropriate subsystems.\n\n  The clocksource and irqchip drivers are now abstracted to the point\n  where platforms that are already cleaned up do not need to even\n  specify the driver they use, it can all get configured from the device\n  tree as we do for normal device drivers.  The clocksource changes\n  basically touch every single platform in the process.\n\n  We further clean up the use of platform specific header files here,\n  with the goal of turning more of the platforms over to being\n  \"multiplatform\" enabled, which implies that they cannot expose their\n  headers to architecture independent code any more.\n\n  It is expected that no functional changes are part of the cleanup.\n  The overall reduction in total code lines is mostly the result of\n  removing broken and obsolete code.\"\n\n* tag \u0027cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (133 commits)\n  ARM: mvebu: correct gated clock documentation\n  ARM: kirkwood: add missing include for nsa310\n  ARM: exynos: move exynos4210-combiner to drivers/irqchip\n  mfd: db8500-prcmu: update resource passing\n  drivers/db8500-cpufreq: delete dangling include\n  ARM: at91: remove NEOCORE 926 board\n  sunxi: Cleanup the reset code and add meaningful registers defines\n  ARM: S3C24XX: header mach/regs-mem.h local\n  ARM: S3C24XX: header mach/regs-power.h local\n  ARM: S3C24XX: header mach/regs-s3c2412-mem.h local\n  ARM: S3C24XX: Remove plat-s3c24xx directory in arch/arm/\n  ARM: S3C24XX: transform s3c2443 subirqs into new structure\n  ARM: S3C24XX: modify s3c2443 irq init to initialize all irqs\n  ARM: S3C24XX: move s3c2443 irq code to irq.c\n  ARM: S3C24XX: transform s3c2416 irqs into new structure\n  ARM: S3C24XX: modify s3c2416 irq init to initialize all irqs\n  ARM: S3C24XX: move s3c2416 irq init to common irq code\n  ARM: S3C24XX: Modify s3c_irq_wake to use the hwirq property\n  ARM: S3C24XX: Move irq syscore-ops to irq-pm\n  clocksource: always define CLOCKSOURCE_OF_DECLARE\n  ...\n"
    },
    {
      "commit": "266d7ad7f4fe2f44b91561f5b812115c1b3018ab",
      "tree": "45acf12d5cb170205ccffe24b9f24672ff8bff2e",
      "parents": [
        "bcbd818c069b9e1bf82517401225b152a33968e2",
        "36dfbbf136db0d645bacfd42ce7d9d6928ea532d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 19:05:45 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 19:05:45 2013 -0800"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer changes from Ingo Molnar:\n \"Main changes:\n\n   - ntp: Add CONFIG_RTC_SYSTOHC: a generic RTC driver facility\n     complementing the existing CONFIG_RTC_HCTOSYS, which uses NTP to\n     keep the hardware clock updated.\n\n   - posix-timers: Fix clock_adjtime to always return timex data on\n     success.  This is changing the ABI, but no breakage was expected\n     and found - caution is warranted nevertheless.\n\n   - platform persistent clock improvements/cleanups.\n\n   - clockevents: refactor timer broadcast handling to be more generic\n     and less duplicated with matching architecture code (mostly ARM\n     motivated.)\n\n   - various fixes and cleanups\"\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  timers/x86/hpet: Use HPET_COUNTER to specify the hpet counter in vread_hpet()\n  posix-cpu-timers: Fix nanosleep task_struct leak\n  clockevents: Fix generic broadcast for FEAT_C3STOP\n  time, Fix setting of hardware clock in NTP code\n  hrtimer: Prevent hrtimer_enqueue_reprogram race\n  clockevents: Add generic timer broadcast function\n  clockevents: Add generic timer broadcast receiver\n  timekeeping: Switch HAS_PERSISTENT_CLOCK to ALWAYS_USE_PERSISTENT_CLOCK\n  x86/time/rtc: Don\u0027t print extended CMOS year when reading RTC\n  x86: Select HAS_PERSISTENT_CLOCK on x86\n  timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option\n  rtc: Skip the suspend/resume handling if persistent clock exist\n  timekeeping: Add persistent_clock_exist flag\n  posix-timers: Fix clock_adjtime to always return timex data on success\n  Round the calculated scale factor in set_cyc2ns_scale()\n  NTP: Add a CONFIG_RTC_SYSTOHC configuration\n  MAINTAINERS: Update John Stultz\u0027s email\n  time: create __getnstimeofday for WARNless calls\n"
    },
    {
      "commit": "d652e1eb8e7b739fccbfb503a3da3e9f640fbf3d",
      "tree": "55ab77bad0cbb045eac0b84b80d63f88f1ae09e6",
      "parents": [
        "8f55cea410dbc56114bb71a3742032070c8108d0",
        "77852fea6e2442a0e654a9292060489895de18c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"Main changes:\n\n   - scheduler side full-dynticks (user-space execution is undisturbed\n     and receives no timer IRQs) preparation changes that convert the\n     cputime accounting code to be full-dynticks ready, from Frederic\n     Weisbecker.\n\n   - Initial sched.h split-up changes, by Clark Williams\n\n   - select_idle_sibling() performance improvement by Mike Galbraith:\n\n        \" 1 tbench pair (worst case) in a 10 core + SMT package:\n\n          pre   15.22 MB/sec 1 procs\n          post 252.01 MB/sec 1 procs \"\n\n  - sched_rr_get_interval() ABI fix/change.  We think this detail is not\n    used by apps (so it\u0027s not an ABI in practice), but lets keep it\n    under observation.\n\n  - misc RT scheduling cleanups, optimizations\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  sched/rt: Add \u003clinux/sched/rt.h\u003e header to \u003clinux/init_task.h\u003e\n  cputime: Remove irqsave from seqlock readers\n  sched, powerpc: Fix sched.h split-up build failure\n  cputime: Restore CPU_ACCOUNTING config defaults for PPC64\n  sched/rt: Move rt specific bits into new header file\n  sched/rt: Add a tuning knob to allow changing SCHED_RR timeslice\n  sched: Move sched.h sysctl bits into separate header\n  sched: Fix signedness bug in yield_to()\n  sched: Fix select_idle_sibling() bouncing cow syndrome\n  sched/rt: Further simplify pick_rt_task()\n  sched/rt: Do not account zero delta_exec in update_curr_rt()\n  cputime: Safely read cputime of full dynticks CPUs\n  kvm: Prepare to add generic guest entry/exit callbacks\n  cputime: Use accessors to read task cputime stats\n  cputime: Allow dynamic switch between tick/virtual based cputime accounting\n  cputime: Generic on-demand virtual cputime accounting\n  cputime: Move default nsecs_to_cputime() to jiffies based cputime file\n  cputime: Librarize per nsecs resolution cputime definitions\n  cputime: Avoid multiplication overflow on utime scaling\n  context_tracking: Export context state for generic vtime\n  ...\n\nFix up conflict in kernel/context_tracking.c due to comment additions.\n"
    },
    {
      "commit": "a6c0c943a15d0b3d6ac33760cb8f95c75f395895",
      "tree": "0aa3e39340a97d865a3ce9c4f79e2ac3a389ef04",
      "parents": [
        "066361a7c58cb6c8b18c7ce0ee8527bb1ce58460"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 10 11:14:55 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Feb 19 08:43:16 2013 +0100"
      },
      "message": "ntp: Make ntp_lock raw\n\nseconds_overflow() is called from hard interrupt context even on\nPreempt-RT. This requires the lock to be a raw_spinlock.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9f4646d28362bc424b8a4c7d09ea1c2f1759371a",
      "tree": "0ff9dc36f1ef598736725f3eb30e164128d39774",
      "parents": [
        "86c8ead593305915729a7b67f738832764fb4ba7",
        "84e345e4e209cbe796c88fa2ad1732d7121ec100"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 14 19:46:10 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 14 19:46:10 2013 +0100"
      },
      "message": "Merge branch \u0027fortglx/3.9/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n"
    },
    {
      "commit": "86c8ead593305915729a7b67f738832764fb4ba7",
      "tree": "eb33b75076c2b50dc8ae8ec0e240de876d31cd45",
      "parents": [
        "b22affe0aef429d657bc6505aacb1c569340ddd2",
        "5d1d9a29bc0772abee765f09513779a2ef0ebbfd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 12 20:22:56 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 12 20:22:56 2013 +0100"
      },
      "message": "Merge branch \u0027timers/for-arm\u0027 into timers/core\n"
    },
    {
      "commit": "5d1d9a29bc0772abee765f09513779a2ef0ebbfd",
      "tree": "7905268873812518cf4f6196f2100e5224733f22",
      "parents": [
        "12ad10004645d38356b14d1fbba379c523a61916"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Fri Feb 08 15:24:07 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 12 20:22:28 2013 +0100"
      },
      "message": "clockevents: Fix generic broadcast for FEAT_C3STOP\n\nCommit 12ad100046: \"clockevents: Add generic timer broadcast function\"\nmade tick_device_uses_broadcast set up the generic broadcast function\nfor dummy devices (where !tick_device_is_functional(dev)), but neglected\nto set up the broadcast function for devices that stop in low power\nstates (with the CLOCK_EVT_FEAT_C3STOP flag).\n\nWhen these devices enter low power states they will not have the generic\nbroadcast function assigned, and will bring down the system when an\nattempt is made to broadcast to them.\n\nThis patch ensures that the broadcast function is also assigned for\ndevices which require broadcast in low power states.\n\nReported-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nTested-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nCc: nico@linaro.org\nCc: Marc.Zyngier@arm.com\nCc: Will.Deacon@arm.com\nCc: santosh.shilimkar@ti.com\nCc: john.stultz@linaro.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "84e345e4e209cbe796c88fa2ad1732d7121ec100",
      "tree": "f73f35d0e72a6c6f3e4b3ef430608aca3a5e8d54",
      "parents": [
        "6f16eebe1ff82176339a0439c98ebec9768b0ee2"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Fri Feb 08 17:59:53 2013 -0500"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Feb 08 15:07:05 2013 -0800"
      },
      "message": "time, Fix setting of hardware clock in NTP code\n\nAt init time, if the system time is \"warped\" forward in warp_clock()\nit will differ from the hardware clock by sys_tz.tz_minuteswest.  This time\ndifference is not taken into account when ntp updates the hardware clock,\nand this causes the system time to jump forward by this offset every reboot.\n\nThe kernel must take this offset into account when writing the system time\nto the hardware clock in the ntp code.  This patch adds\npersistent_clock_is_local which indicates that an offset has been applied\nin warp_clock() and accounts for the \"warp\" before writing the hardware\nclock.\n\nx86 does not have this problem as rtc writes are software limited to a\n+/-15 minute window relative to the current rtc time.  Other arches, such\nas powerpc, however do a full synchronization of the system time to the\nrtc and will see this problem.\n\n[v2]: generated against tip/timers/core\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "077931446b85e7858bf9dc0927cd116669b965d2",
      "tree": "02fbdf4a42b30b841a61aca399bd0ac6a5c308e6",
      "parents": [
        "f7c819c020db9796ae3a662b82a310617f92b15b",
        "74876a98a87a115254b3a66a14b27320b7f0acaa"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 05 00:48:46 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Feb 05 00:48:46 2013 +0100"
      },
      "message": "Merge branch \u0027nohz/printk-v8\u0027 into irq/core\n\nConflicts:\n\tkernel/irq_work.c\n\nAdd support for printk in full dynticks CPU.\n\n* Don\u0027t stop tick with irq works pending. This\nfix is generally useful and concerns archs that\ncan\u0027t raise self IPIs.\n\n* Flush irq works before CPU offlining.\n\n* Introduce \"lazy\" irq works that can wait for the\nnext tick to be executed, unless it\u0027s stopped.\n\n* Implement klogd wake up using irq work. This\nremoves the ad-hoc printk_tick()/printk_needs_cpu()\nhooks and make it working even in dynticks mode.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "90889a635a9b5488624bccce3ff6b2eec68c007b",
      "tree": "8ddde1e04060bd65ca2aafb09b38066cb7d69b4d",
      "parents": [
        "a9037430c6c784165a940a90bcd29f886834c8e7",
        "6f16eebe1ff82176339a0439c98ebec9768b0ee2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 04 11:03:03 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 04 11:03:03 2013 +0100"
      },
      "message": "Merge branch \u0027fortglx/3.9/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n\nTrivial conflict in arch/x86/Kconfig\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "12ad10004645d38356b14d1fbba379c523a61916",
      "tree": "fe8b798176191c681c6b2fa1c81aa55dc98568dc",
      "parents": [
        "12572dbb53638c6e454ef831c8fee7de3df24389"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Mon Jan 14 17:05:22 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 31 22:15:36 2013 +0100"
      },
      "message": "clockevents: Add generic timer broadcast function\n\nCurrently, the timer broadcast mechanism is defined by a function\npointer on struct clock_event_device. As the fundamental mechanism for\nbroadcast is architecture-specific, this means that clock_event_device\ndrivers cannot be shared across multiple architectures.\n\nThis patch adds an (optional) architecture-specific function for timer\ntick broadcast, allowing drivers which may require broadcast\nfunctionality to be shared across multiple architectures.\n\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nReviewed-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nCc: nico@linaro.org\nCc: Will.Deacon@arm.com\nCc: Marc.Zyngier@arm.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1358183124-28461-3-git-send-email-mark.rutland@arm.com\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nReviewed-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "12572dbb53638c6e454ef831c8fee7de3df24389",
      "tree": "dac15b3d75adb3a33f3868b70a6dcf0b63c55b91",
      "parents": [
        "04c2eee5b9dfcb13f3cd07a5537fb8c785f2751a"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Mon Jan 14 17:05:21 2013 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 31 22:15:35 2013 +0100"
      },
      "message": "clockevents: Add generic timer broadcast receiver\n\nCurrently the broadcast mechanism used for timers is abstracted by a\nfunction pointer on struct clock_event_device. As the fundamental\nmechanism for broadcast is architecture-specific, this ties each\nclock_event_device driver to a single architecture, even where the\ndriver is otherwise generic.\n\nThis patch adds a standard path for the receipt of timer broadcasts, so\ndrivers and/or architecture backends need not manage redundant lists of\ntimers for the purpose of routing broadcast timer ticks.\n\n[tglx: Made the implementation depend on the config switch as well ]\n\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nReviewed-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nCc: nico@linaro.org\nCc: Will.Deacon@arm.com\nCc: Marc.Zyngier@arm.com\nCc: john.stultz@linaro.org\nLink: http://lkml.kernel.org/r/1358183124-28461-2-git-send-email-mark.rutland@arm.com\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nReviewed-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6f16eebe1ff82176339a0439c98ebec9768b0ee2",
      "tree": "8d818d7299f205ebde374f753ac384b5d0ac1835",
      "parents": [
        "e90c83f757fffdacec8b3c5eee5617dcc038338f"
      ],
      "author": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Fri Jan 25 17:08:12 2013 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 29 14:40:12 2013 -0800"
      },
      "message": "timekeeping: Switch HAS_PERSISTENT_CLOCK to ALWAYS_USE_PERSISTENT_CLOCK\n\nJason pointed out the HAS_PERSISTENT_CLOCK name isn\u0027t\nquite accurate for the config, as some systems may have\nthe persistent_clock in some cases, but not always.\n\nSo change the config name to the more clear\nALWAYS_USE_PERSISTENT_CLOCK.\n\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "3f4724ea85b7d9055a9976fa8f30b471bdfbca93",
      "tree": "aaa1792d0b78ea33c07ee6f5e707a07d9ef1795e",
      "parents": [
        "abf917cd91cbb73952758f9741e2fa65002a48ee"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jul 16 18:00:34 2012 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 19:23:29 2013 +0100"
      },
      "message": "cputime: Allow dynamic switch between tick/virtual based cputime accounting\n\nAllow to dynamically switch between tick and virtual based\ncputime accounting. This way we can provide a kind of \"on-demand\"\nvirtual based cputime accounting. In this mode, the kernel relies\non the context tracking subsystem to dynamically probe on kernel\nboundaries.\n\nThis is in preparation for being able to stop the timer tick in\nmore places than just the idle state. Doing so will depend on\nCONFIG_VIRT_CPU_ACCOUNTING_GEN which makes it possible to account\nthe cputime without the tick by hooking on kernel/user boundaries.\n\nDepending whether the tick is stopped or not, we can switch between\ntick and vtime based accounting anytime in order to minimize the\noverhead associated to user hooks.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4dbd27711cd92bcc364426937a0d5e80f10b1cfb",
      "tree": "5b16edd118bb8e799498c37cf7f279f186036fb2",
      "parents": [
        "6b2aa51d698492e8dc0a0ce6ce5b3193ccaec269"
      ],
      "author": {
        "name": "Jacob Pan",
        "email": "jacob.jun.pan@linux.intel.com",
        "time": "Fri Jan 04 11:12:43 2013 +0000"
      },
      "committer": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Thu Jan 17 22:25:38 2013 +0800"
      },
      "message": "tick: export nohz tick idle symbols for module use\n\nAllow drivers such as intel_powerclamp to use these apis for\nturning on/off ticks during idle.\n\nSigned-off-by: Jacob Pan \u003cjacob.jun.pan@linux.intel.com\u003e\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\n"
    },
    {
      "commit": "05ad717c77b1b8e98a1dd768c3700036d634629e",
      "tree": "c52d75ca925bcd9b4c7125aad4c1059d7d3a43ee",
      "parents": [
        "9ecf37eb7a81e3295a1b274eafb6f83d7d2cabf0"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Wed Jan 16 00:09:49 2013 +0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:08 2013 -0800"
      },
      "message": "timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option\n\nMake the persistent clock check a kernel config option, so that some\nplatform can explicitely select it, also make CONFIG_RTC_HCTOSYS and\nRTC_SYSTOHC depend on its non-existence, which could prevent the\npersistent clock and RTC code from doing similar thing twice during\nsystem\u0027s init/suspend/resume phases.\n\nIf the CONFIG_HAS_PERSISTENT_CLOCK\u003dn, then no change happens for kernel\nwhich still does the persistent clock check in timekeeping_init().\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSuggested-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\n[jstultz: Added dependency for RTC_SYSTOHC as well]\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "31ade30692dc9680bfc95700d794818fa3f754ac",
      "tree": "cb436c839b890d04f589b49f75cb0df59315158e",
      "parents": [
        "f0dbe81f0e7c39783ad25d9084bbcda131508993"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Wed Jan 16 00:09:47 2013 +0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:07 2013 -0800"
      },
      "message": "timekeeping: Add persistent_clock_exist flag\n\nIn current kernel, there are several places which need to check\nwhether there is a persistent clock for the platform. Current check\nis done by calling the read_persistent_clock() and validating its\nreturn value.\n\nSo one optimization is to do the check only once in timekeeping_init(),\nand use a flag persistent_clock_exist to record it.\n\nv2: Add a has_persistent_clock() helper function, as suggested by John.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "023f333a99cee9b5cd3268ff87298eb01a31f78e",
      "tree": "bf1d316ac4f4ad6ccd9f98206debece6f24a7a4f",
      "parents": [
        "503637375269e33f368fd3484a199beace01f36e"
      ],
      "author": {
        "name": "Jason Gunthorpe",
        "email": "jgunthorpe@obsidianresearch.com",
        "time": "Mon Dec 17 14:30:53 2012 -0700"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:06 2013 -0800"
      },
      "message": "NTP: Add a CONFIG_RTC_SYSTOHC configuration\n\nThe purpose of this option is to allow ARM/etc systems that rely on the\nclass RTC subsystem to have the same kind of automatic NTP based\nsynchronization that we have on PC platforms. Today ARM does not\nimplement update_persistent_clock and makes extensive use of the class\nRTC system.\n\nWhen enabled CONFIG_RTC_SYSTOHC will provide a generic\nrtc_update_persistent_clock that stores the current time in the RTC and\nis intended complement the existing CONFIG_RTC_HCTOSYS option that loads\nthe RTC at boot.\n\nLike with RTC_HCTOSYS the platform\u0027s update_persistent_clock is used\nfirst, if it works. Platforms with mixed class RTC and non-RTC drivers\nneed to return ENODEV when class RTC should be used. Such an update for\nPPC is included in this patch.\n\nLong term, implementations of update_persistent_clock should migrate to\nproper class RTC drivers and use CONFIG_RTC_SYSTOHC instead.\n\nTested on ARM kirkwood and PPC405\n\nSigned-off-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "1e817fb62cd185a2232ad4302579491805609489",
      "tree": "d4155fb65a9fb32cd9236405a8b7534f39c293b9",
      "parents": [
        "9c3f9e281697d02889c3b08922f3b30be75f56c2"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Mon Nov 19 10:26:16 2012 -0800"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Tue Jan 15 18:16:02 2013 -0800"
      },
      "message": "time: create __getnstimeofday for WARNless calls\n\nThe pstore RAM backend can get called during resume, and must be defensive\nagainst a suspended time source. Expose getnstimeofday logic that returns\nan error instead of a WARN. This can be detected and the timestamp can\nbe zeroed out.\n\nReported-by: Doug Anderson \u003cdianders@chromium.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "8d84981e395850aab31c3f2ca7e2738e03f671d7",
      "tree": "933425fddb23d28be802277471df3fe3f6c2711d",
      "parents": [
        "00c82d64405631967dca3890a9ce80ab35d04cc7",
        "77cc982f6a3b33a5aa058ad3b20cda8866db2948"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Mon Jan 14 10:20:02 2013 -0800"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Mon Jan 14 10:20:02 2013 -0800"
      },
      "message": "Merge branch \u0027clocksource/cleanup\u0027 into next/cleanup\n\nClockevent cleanup series from Shawn Guo.\n\nResolved move/change conflict in mach-pxa/time.c due to the sys_timer\ncleanup.\n\n* clocksource/cleanup:\n  clocksource: use clockevents_config_and_register() where possible\n  ARM: use clockevents_config_and_register() where possible\n  clockevents: export clockevents_config_and_register for module use\n  + sync to Linux 3.8-rc3\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n\nConflicts:\n\tarch/arm/mach-pxa/time.c\n"
    },
    {
      "commit": "c35ef95c273c06471818f9245a05ac5a6e3ffa34",
      "tree": "30d19d80078d9ddb248d49589cb72e59bf8f91e5",
      "parents": [
        "9931faca02c604c22335f5a935a501bb2ace6e20"
      ],
      "author": {
        "name": "Shawn Guo",
        "email": "shawn.guo@linaro.org",
        "time": "Sat Jan 12 11:50:04 2013 +0000"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Mon Jan 14 10:12:37 2013 -0800"
      },
      "message": "clockevents: export clockevents_config_and_register for module use\n\nclockevents_config_and_register is a handy helper for clockevent\ndrivers, some of which might support module build, so export the symbol.\n\nSigned-off-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "7b1f62076bba10786d2118006ae68ac120cd6c56",
      "tree": "9af9f556fc331c77644c2e1c4eafdddad60019b1",
      "parents": [
        "547046f2f09f1837d39619afbc7a6e35673d7c98"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Nov 07 17:58:54 2012 -0700"
      },
      "committer": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Mon Dec 24 09:36:07 2012 -0700"
      },
      "message": "time: convert arch_gettimeoffset to a pointer\n\nCurrently, whenever CONFIG_ARCH_USES_GETTIMEOFFSET is enabled, each\narch core provides a single implementation of arch_gettimeoffset(). In\nmany cases, different sub-architectures, different machines, or\ndifferent timer providers exist, and so the arch ends up implementing\narch_gettimeoffset() as a call-through-pointer anyway. Examples are\nARM, Cris, M68K, and it\u0027s arguable that the remaining architectures,\nM32R and Blackfin, should be doing this anyway.\n\nModify arch_gettimeoffset so that it itself is a function pointer, which\nthe arch initializes. This will allow later changes to move the\ninitialization of this function into individual machine support or timer\ndrivers. This is particularly useful for code in drivers/clocksource\nwhich should rely on an arch-independant mechanism to register their\nimplementation of arch_gettimeoffset().\n\nThis patch also converts the Cris architecture to set arch_gettimeoffset\ndirectly to the final implementation in time_init(), because Cris already\nhad separate time_init() functions per sub-architecture. M68K and ARM\nare converted to set arch_gettimeoffset to the final implementation in\nlater patches, because they already have function pointers in place for\nthis purpose.\n\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nAcked-by: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\n"
    },
    {
      "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": "74876a98a87a115254b3a66a14b27320b7f0acaa",
      "tree": "06ed1cff8a92b0c687a7ff2fe31c19e8249bbe3c",
      "parents": [
        "bc6679aef673f9dcb8f718528fc3df49ff661af9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Oct 12 18:00:23 2012 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 18 01:01:49 2012 +0100"
      },
      "message": "printk: Wake up klogd using irq_work\n\nklogd is woken up asynchronously from the tick in order\nto do it safely.\n\nHowever if printk is called when the tick is stopped, the reader\nwon\u0027t be woken up until the next interrupt, which might not fire\nfor a while. As a result, the user may miss some message.\n\nTo fix this, lets implement the printk tick using a lazy irq work.\nThis subsystem takes care of the timer tick state and can\nfix up accordingly.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "00b42959106a9ca1c2899e591ae4e9a83ad6af05",
      "tree": "7dd755a813fe7a7fe635082fc5010eb73725f2fe",
      "parents": [
        "33a5f6261a61af28f7b4c86f9f958da0f206c914"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 07 21:03:07 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Nov 17 19:30:39 2012 +0100"
      },
      "message": "irq_work: Don\u0027t stop the tick with pending works\n\nDon\u0027t stop the tick if we have pending irq works on the\nqueue, otherwise if the arch can\u0027t raise self-IPIs, we may not\nfind an opportunity to execute the pending works for a while.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "33a5f6261a61af28f7b4c86f9f958da0f206c914",
      "tree": "a589cb7929bf8fcc365d37b3c746d369b50d377b",
      "parents": [
        "6147a9d8070e1c9d16d57eb53a14942b95b28dc4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Oct 11 17:52:56 2012 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Nov 17 19:30:18 2012 +0100"
      },
      "message": "nohz: Add API to check tick state\n\nWe need some quick way to check if the CPU has stopped\nits tick. This will be useful to implement the printk tick\nusing the irq work subsystem.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\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"
    }
  ],
  "next": "adc78e6b9946a4b22e22403d961f3b03c469e5d3"
}
