)]}'
{
  "log": [
    {
      "commit": "534c97b0950b1967bca1c753aeaed32f5db40264",
      "tree": "9421d26e4f6d479d1bc32b036a731b065daab0fa",
      "parents": [
        "64049d1973c1735f543eb7a55653e291e108b0cb",
        "265f22a975c1e4cc3a4d1f94a3ec53ffbb6f5b9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 05 13:23:27 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 05 13:23:27 2013 -0700"
      },
      "message": "Merge branch \u0027timers-nohz-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull \u0027full dynticks\u0027 support from Ingo Molnar:\n \"This tree from Frederic Weisbecker adds a new, (exciting! :-) core\n  kernel feature to the timer and scheduler subsystems: \u0027full dynticks\u0027,\n  or CONFIG_NO_HZ_FULL\u003dy.\n\n  This feature extends the nohz variable-size timer tick feature from\n  idle to busy CPUs (running at most one task) as well, potentially\n  reducing the number of timer interrupts significantly.\n\n  This feature got motivated by real-time folks and the -rt tree, but\n  the general utility and motivation of full-dynticks runs wider than\n  that:\n\n   - HPC workloads get faster: CPUs running a single task should be able\n     to utilize a maximum amount of CPU power.  A periodic timer tick at\n     HZ\u003d1000 can cause a constant overhead of up to 1.0%.  This feature\n     removes that overhead - and speeds up the system by 0.5%-1.0% on\n     typical distro configs even on modern systems.\n\n   - Real-time workload latency reduction: CPUs running critical tasks\n     should experience as little jitter as possible.  The last remaining\n     source of kernel-related jitter was the periodic timer tick.\n\n   - A single task executing on a CPU is a pretty common situation,\n     especially with an increasing number of cores/CPUs, so this feature\n     helps desktop and mobile workloads as well.\n\n  The cost of the feature is mainly related to increased timer\n  reprogramming overhead when a CPU switches its tick period, and thus\n  slightly longer to-idle and from-idle latency.\n\n  Configuration-wise a third mode of operation is added to the existing\n  two NOHZ kconfig modes:\n\n   - CONFIG_HZ_PERIODIC: [formerly !CONFIG_NO_HZ], now explicitly named\n     as a config option.  This is the traditional Linux periodic tick\n     design: there\u0027s a HZ tick going on all the time, regardless of\n     whether a CPU is idle or not.\n\n   - CONFIG_NO_HZ_IDLE: [formerly CONFIG_NO_HZ\u003dy], this turns off the\n     periodic tick when a CPU enters idle mode.\n\n   - CONFIG_NO_HZ_FULL: this new mode, in addition to turning off the\n     tick when a CPU is idle, also slows the tick down to 1 Hz (one\n     timer interrupt per second) when only a single task is running on a\n     CPU.\n\n  The .config behavior is compatible: existing !CONFIG_NO_HZ and\n  CONFIG_NO_HZ\u003dy settings get translated to the new values, without the\n  user having to configure anything.  CONFIG_NO_HZ_FULL is turned off by\n  default.\n\n  This feature is based on a lot of infrastructure work that has been\n  steadily going upstream in the last 2-3 cycles: related RCU support\n  and non-periodic cputime support in particular is upstream already.\n\n  This tree adds the final pieces and activates the feature.  The pull\n  request is marked RFC because:\n\n   - it\u0027s marked 64-bit only at the moment - the 32-bit support patch is\n     small but did not get ready in time.\n\n   - it has a number of fresh commits that came in after the merge\n     window.  The overwhelming majority of commits are from before the\n     merge window, but still some aspects of the tree are fresh and so I\n     marked it RFC.\n\n   - it\u0027s a pretty wide-reaching feature with lots of effects - and\n     while the components have been in testing for some time, the full\n     combination is still not very widely used.  That it\u0027s default-off\n     should reduce its regression abilities and obviously there are no\n     known regressions with CONFIG_NO_HZ_FULL\u003dy enabled either.\n\n   - the feature is not completely idempotent: there is no 100%\n     equivalent replacement for a periodic scheduler/timer tick.  In\n     particular there\u0027s ongoing work to map out and reduce its effects\n     on scheduler load-balancing and statistics.  This should not impact\n     correctness though, there are no known regressions related to this\n     feature at this point.\n\n   - it\u0027s a pretty ambitious feature that with time will likely be\n     enabled by most Linux distros, and we\u0027d like you to make input on\n     its design/implementation, if you dislike some aspect we missed.\n     Without flaming us to crisp! :-)\n\n  Future plans:\n\n   - there\u0027s ongoing work to reduce 1Hz to 0Hz, to essentially shut off\n     the periodic tick altogether when there\u0027s a single busy task on a\n     CPU.  We\u0027d first like 1 Hz to be exposed more widely before we go\n     for the 0 Hz target though.\n\n   - once we reach 0 Hz we can remove the periodic tick assumption from\n     nr_running\u003e\u003d2 as well, by essentially interrupting busy tasks only\n     as frequently as the sched_latency constraints require us to do -\n     once every 4-40 msecs, depending on nr_running.\n\n  I am personally leaning towards biting the bullet and doing this in\n  v3.10, like the -rt tree this effort has been going on for too long -\n  but the final word is up to you as usual.\n\n  More technical details can be found in Documentation/timers/NO_HZ.txt\"\n\n* \u0027timers-nohz-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)\n  sched: Keep at least 1 tick per second for active dynticks tasks\n  rcu: Fix full dynticks\u0027 dependency on wide RCU nocb mode\n  nohz: Protect smp_processor_id() in tick_nohz_task_switch()\n  nohz_full: Add documentation.\n  cputime_nsecs: use math64.h for nsec resolution conversion helpers\n  nohz: Select VIRT_CPU_ACCOUNTING_GEN from full dynticks config\n  nohz: Reduce overhead under high-freq idling patterns\n  nohz: Remove full dynticks\u0027 superfluous dependency on RCU tree\n  nohz: Fix unavailable tick_stop tracepoint in dynticks idle\n  nohz: Add basic tracing\n  nohz: Select wide RCU nocb for full dynticks\n  nohz: Disable the tick when irq resume in full dynticks CPU\n  nohz: Re-evaluate the tick for the new task after a context switch\n  nohz: Prepare to stop the tick on irq exit\n  nohz: Implement full dynticks kick\n  nohz: Re-evaluate the tick from the scheduler IPI\n  sched: New helper to prevent from stopping the tick in full dynticks\n  sched: Kick full dynticks CPU that have more than one task enqueued.\n  perf: New helper to prevent full dynticks CPUs from stopping tick\n  perf: Kick full dynticks CPU if events rotation is needed\n  ...\n"
    },
    {
      "commit": "265f22a975c1e4cc3a4d1f94a3ec53ffbb6f5b9f",
      "tree": "c5b7ec6b64fc31e879e730d2edf8e836cfaf7e9b",
      "parents": [
        "73c30828771acafb0a5e3a1c4cf75e6c5dc5f98a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri May 03 03:39:05 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 04 08:32:02 2013 +0200"
      },
      "message": "sched: Keep at least 1 tick per second for active dynticks tasks\n\nThe scheduler doesn\u0027t yet fully support environments\nwith a single task running without a periodic tick.\n\nIn order to ensure we still maintain the duties of scheduler_tick(),\nkeep at least 1 tick per second.\n\nThis makes sure that we keep the progression of various scheduler\naccounting and background maintainance even with a very low granularity.\nExamples include cpu load, sched average, CFS entity vruntime,\navenrun and events such as load balancing, amongst other details\nhandled in sched_class::task_tick().\n\nThis limitation will be removed in the future once we get\nthese individual items to work in full dynticks CPUs.\n\nSuggested-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0279b3c0ada1d78882f24acf94ac4595bd657a89",
      "tree": "ba31505ea6581b840604493d0233857bb7ce58d1",
      "parents": [
        "797994f81a8b2bdca2eecffa415c1e7a89a4f961",
        "f3002134158092178be81339ec5a22ff80e6c308"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 02 14:56:31 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 02 14:56:31 2013 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar:\n \"This fixes the cputime scaling overflow problems for good without\n  having bad 32-bit overhead, and gets rid of the div64_u64_rem() helper\n  as well.\"\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  Revert \"math64: New div64_u64_rem helper\"\n  sched: Avoid prev-\u003estime underflow\n  sched: Do not account bogus utime\n  sched: Avoid cputime scaling overflow\n"
    },
    {
      "commit": "c032862fba51a3ca504752d3a25186b324c5ce83",
      "tree": "955dc2ba4ab3df76ecc2bb780ee84aca04967e8d",
      "parents": [
        "fda76e074c7737fc57855dd17c762e50ed526052",
        "8700c95adb033843fc163d112b9d21d4fda78018"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 02 17:37:49 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 02 17:54:19 2013 +0200"
      },
      "message": "Merge commit \u00278700c95adb03\u0027 into timers/nohz\n\nThe full dynticks tree needs the latest RCU and sched\nupstream updates in order to fix some dependencies.\n\nMerge a common upstream merge point that has these\nupdates.\n\nConflicts:\n\tinclude/linux/perf_event.h\n\tkernel/rcutree.h\n\tkernel/rcutree_plugin.h\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "20b4fb485227404329e41ad15588afad3df23050",
      "tree": "f3e099f0ab3da8a93b447203e294d2bb22f6dc05",
      "parents": [
        "b9394d8a657cd3c064fa432aa0905c1b58b38fe9",
        "ac3e3c5b1164397656df81b9e9ab4991184d3236"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 01 17:51:54 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 01 17:51:54 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull VFS updates from Al Viro,\n\nMisc cleanups all over the place, mainly wrt /proc interfaces (switch\ncreate_proc_entry to proc_create(), get rid of the deprecated\ncreate_proc_read_entry() in favor of using proc_create_data() and\nseq_file etc).\n\n7kloc removed.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (204 commits)\n  don\u0027t bother with deferred freeing of fdtables\n  proc: Move non-public stuff from linux/proc_fs.h to fs/proc/internal.h\n  proc: Make the PROC_I() and PDE() macros internal to procfs\n  proc: Supply a function to remove a proc entry by PDE\n  take cgroup_open() and cpuset_open() to fs/proc/base.c\n  ppc: Clean up scanlog\n  ppc: Clean up rtas_flash driver somewhat\n  hostap: proc: Use remove_proc_subtree()\n  drm: proc: Use remove_proc_subtree()\n  drm: proc: Use minor-\u003eindex to label things, not PDE-\u003ename\n  drm: Constify drm_proc_list[]\n  zoran: Don\u0027t print proc_dir_entry data in debug\n  reiserfs: Don\u0027t access the proc_dir_entry in r_open(), r_start() r_show()\n  proc: Supply an accessor for getting the data from a PDE\u0027s parent\n  airo: Use remove_proc_subtree()\n  rtl8192u: Don\u0027t need to save device proc dir PDE\n  rtl8187se: Use a dir under /proc/net/r8180/\n  proc: Add proc_mkdir_data()\n  proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}\n  proc: Move PDE_NET() to fs/proc/proc_net.c\n  ...\n"
    },
    {
      "commit": "3d1cb2059d9374e58da481b783332cf191cb6620",
      "tree": "b62afd1038ecabde21df35da3fbcc5e585b9516e",
      "parents": [
        "cd42d559e45e3563c74403e453f8954b593db69d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 30 15:27:22 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 17:04:02 2013 -0700"
      },
      "message": "workqueue: include workqueue info when printing debug dump of a worker task\n\nOne of the problems that arise when converting dedicated custom\nthreadpool to workqueue is that the shared worker pool used by workqueue\nanonimizes each worker making it more difficult to identify what the\nworker was doing on which target from the output of sysrq-t or debug\ndump from oops, BUG() and friends.\n\nThis patch implements set_worker_desc() which can be called from any\nworkqueue work function to set its description.  When the worker task is\ndumped for whatever reason - sysrq-t, WARN, BUG, oops, lockdep assertion\nand so on - the description will be printed out together with the\nworkqueue name and the worker function pointer.\n\nThe printing side is implemented by print_worker_info() which is called\nfrom functions in task dump paths - sched_show_task() and\ndump_stack_print_info().  print_worker_info() can be safely called on\nany task in any state as long as the task struct itself is accessible.\nIt uses probe_*() functions to access worker fields.  It may print\ngarbage if something went very wrong, but it wouldn\u0027t cause (another)\noops.\n\nThe description is currently limited to 24bytes including the\nterminating \\0.  worker-\u003edesc_valid and workder-\u003edesc[] are added and\nthe 64 bytes marker which was already incorrect before adding the new\nfields is moved to the correct position.\n\nHere\u0027s an example dump with writeback updated to set the bdi name as\nworker desc.\n\n Hardware name: Bochs\n Modules linked in:\n Pid: 7, comm: kworker/u9:0 Not tainted 3.9.0-rc1-work+ #1\n Workqueue: writeback bdi_writeback_workfn (flush-8:0)\n  ffffffff820a3ab0 ffff88000f6e9cb8 ffffffff81c61845 ffff88000f6e9cf8\n  ffffffff8108f50f 0000000000000000 0000000000000000 ffff88000cde16b0\n  ffff88000cde1aa8 ffff88001ee19240 ffff88000f6e9fd8 ffff88000f6e9d08\n Call Trace:\n  [\u003cffffffff81c61845\u003e] dump_stack+0x19/0x1b\n  [\u003cffffffff8108f50f\u003e] warn_slowpath_common+0x7f/0xc0\n  [\u003cffffffff8108f56a\u003e] warn_slowpath_null+0x1a/0x20\n  [\u003cffffffff81200150\u003e] bdi_writeback_workfn+0x2a0/0x3b0\n ...\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68aa8efcd1ab961e4684ef5af32f72a6ec1911de",
      "tree": "ccf6ffe680a1e85f9319c70dcf45f1bba81243e9",
      "parents": [
        "772c808a252594692972773f6ee41c289b8e0b2a"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Tue Apr 30 11:35:06 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Apr 30 19:13:05 2013 +0200"
      },
      "message": "sched: Avoid prev-\u003estime underflow\n\nDave Hansen reported strange utime/stime values on his system:\nhttps://lkml.org/lkml/2013/4/4/435\n\nThis happens because prev-\u003estime value is bigger than rtime\nvalue. Root of the problem are non-monotonic rtime values (i.e.\ncurrent rtime is smaller than previous rtime) and that should be\ndebugged and fixed.\n\nBut since problem did not manifest itself before commit\n62188451f0d63add7ad0cd2a1ae269d600c1663d \"cputime: Avoid\nmultiplication overflow on utime scaling\", it should be threated\nas regression, which we can easily fixed on cputime_adjust()\nfunction.\n\nFor now, let\u0027s apply this fix, but further work is needed to fix\nroot of the problem.\n\nReported-and-tested-by: Dave Hansen \u003cdave@sr71.net\u003e\nCc: \u003cstable@vger.kernel.org\u003e # 3.9+\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: rostedt@goodmis.org\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Dave Hansen \u003cdave@sr71.net\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1367314507-9728-3-git-send-email-sgruszka@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "772c808a252594692972773f6ee41c289b8e0b2a",
      "tree": "1c1c2631ca1133df1bfe0c5a47d2d49dfe864895",
      "parents": [
        "55eaa7c1f511af5fb6ef808b5328804f4d4e5243"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Tue Apr 30 11:35:05 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Apr 30 19:13:04 2013 +0200"
      },
      "message": "sched: Do not account bogus utime\n\nDue to rounding in scale_stime(), for big numbers, scaled stime\nvalues will grow in chunks. Since rtime grow in jiffies and we\ncalculate utime like below:\n\n\tprev-\u003estime \u003d max(prev-\u003estime, stime);\n\tprev-\u003eutime \u003d max(prev-\u003eutime, rtime - prev-\u003estime);\n\nwe could erroneously account stime values as utime. To prevent\nthat only update prev-\u003e{u,s}time values when they are smaller\nthan current rtime.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: rostedt@goodmis.org\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Dave Hansen \u003cdave@sr71.net\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1367314507-9728-2-git-send-email-sgruszka@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "55eaa7c1f511af5fb6ef808b5328804f4d4e5243",
      "tree": "aef918fd1c788ed508b32e0ca91905a0a907bec8",
      "parents": [
        "25f55d9d01ad7a7ad248fd5af1d22675ffd202c5"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Tue Apr 30 17:14:42 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Apr 30 19:13:04 2013 +0200"
      },
      "message": "sched: Avoid cputime scaling overflow\n\nHere is patch, which adds Linus\u0027s cputime scaling algorithm to the\nkernel.\n\nThis is a follow up (well, fix) to commit\nd9a3c9823a2e6a543eb7807fb3d15d8233817ec5 (\"sched: Lower chances\nof cputime scaling overflow\") which commit tried to avoid\nmultiplication overflow, but did not guarantee that the overflow\nwould not happen.\n\nLinus crated a different algorithm, which completely avoids the\nmultiplication overflow by dropping precision when numbers are\nbig.\n\nIt was tested by me and it gives good relative error of\nscaled numbers. Testing method is described here:\nhttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d136733059505406\u0026w\u003d2\n\nOriginally-From: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: rostedt@goodmis.org\nCc: Dave Hansen \u003cdave@sr71.net\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20130430151441.GC10465@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "8700c95adb033843fc163d112b9d21d4fda78018",
      "tree": "7bb9a37b8fe6328f63a61d88063c556346001098",
      "parents": [
        "16fa94b532b1958f508e07eca1a9256351241fbc",
        "d190e8195b90bc1e65c494fe08e54e9e581bfd16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:50:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:50:17 2013 -0700"
      },
      "message": "Merge branch \u0027smp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull SMP/hotplug changes from Ingo Molnar:\n \"This is a pretty large, multi-arch series unifying and generalizing\n  the various disjunct pieces of idle routines that architectures have\n  historically copied from each other and have grown in random, wildly\n  inconsistent and sometimes buggy directions:\n\n   101 files changed, 455 insertions(+), 1328 deletions(-)\n\n  this went through a number of review and test iterations before it was\n  committed, it was tested on various architectures, was exposed to\n  linux-next for quite some time - nevertheless it might cause problems\n  on architectures that don\u0027t read the mailing lists and don\u0027t regularly\n  test linux-next.\n\n  This cat herding excercise was motivated by the -rt kernel, and was\n  brought to you by Thomas \"the Whip\" Gleixner.\"\n\n* \u0027smp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)\n  idle: Remove GENERIC_IDLE_LOOP config switch\n  um: Use generic idle loop\n  ia64: Make sure interrupts enabled when we \"safe_halt()\"\n  sparc: Use generic idle loop\n  idle: Remove unused ARCH_HAS_DEFAULT_IDLE\n  bfin: Fix typo in arch_cpu_idle()\n  xtensa: Use generic idle loop\n  x86: Use generic idle loop\n  unicore: Use generic idle loop\n  tile: Use generic idle loop\n  tile: Enter idle with preemption disabled\n  sh: Use generic idle loop\n  score: Use generic idle loop\n  s390: Use generic idle loop\n  powerpc: Use generic idle loop\n  parisc: Use generic idle loop\n  openrisc: Use generic idle loop\n  mn10300: Use generic idle loop\n  mips: Use generic idle loop\n  microblaze: Use generic idle loop\n  ...\n"
    },
    {
      "commit": "16fa94b532b1958f508e07eca1a9256351241fbc",
      "tree": "90012a7b7fe2b8cf96f6f5ec12490e0c5e152291",
      "parents": [
        "e0972916e8fe943f342b0dd1c9d43dbf5bc261c2",
        "25f55d9d01ad7a7ad248fd5af1d22675ffd202c5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:43:28 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 30 07:43:28 2013 -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 \"The main changes in this development cycle were:\n\n   - full dynticks preparatory work by Frederic Weisbecker\n\n   - factor out the cpu time accounting code better, by Li Zefan\n\n   - multi-CPU load balancer cleanups and improvements by Joonsoo Kim\n\n   - various smaller fixes and cleanups\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)\n  sched: Fix init NOHZ_IDLE flag\n  sched: Prevent to re-select dst-cpu in load_balance()\n  sched: Rename load_balance_tmpmask to load_balance_mask\n  sched: Move up affinity check to mitigate useless redoing overhead\n  sched: Don\u0027t consider other cpus in our group in case of NEWLY_IDLE\n  sched: Explicitly cpu_idle_type checking in rebalance_domains()\n  sched: Change position of resched_cpu() in load_balance()\n  sched: Fix wrong rq\u0027s runnable_avg update with rt tasks\n  sched: Document task_struct::personality field\n  sched/cpuacct/UML: Fix header file dependency bug on the UML build\n  cgroup: Kill subsys.active flag\n  sched/cpuacct: No need to check subsys active state\n  sched/cpuacct: Initialize cpuacct subsystem earlier\n  sched/cpuacct: Initialize root cpuacct earlier\n  sched/cpuacct: Allocate per_cpu cpuusage for root cpuacct statically\n  sched/cpuacct: Clean up cpuacct.h\n  sched/cpuacct: Remove redundant NULL checks in cpuacct_acount_field()\n  sched/cpuacct: Remove redundant NULL checks in cpuacct_charge()\n  sched/cpuacct: Add cpuacct_acount_field()\n  sched/cpuacct: Add cpuacct_init()\n  ...\n"
    },
    {
      "commit": "46d9be3e5eb01f71fc02653755d970247174b400",
      "tree": "01534c9ebfa5f52a7133e34354d2831fe6704f15",
      "parents": [
        "ce8aa48929449b491149b6c87861ac69cb797a42",
        "cece95dfe5aa56ba99e51b4746230ff0b8542abd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:07:40 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 19:07:40 2013 -0700"
      },
      "message": "Merge branch \u0027for-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue updates from Tejun Heo:\n \"A lot of activities on workqueue side this time.  The changes achieve\n  the followings.\n\n   - WQ_UNBOUND workqueues - the workqueues which are per-cpu - are\n     updated to be able to interface with multiple backend worker pools.\n     This involved a lot of churning but the end result seems actually\n     neater as unbound workqueues are now a lot closer to per-cpu ones.\n\n   - The ability to interface with multiple backend worker pools are\n     used to implement unbound workqueues with custom attributes.\n     Currently the supported attributes are the nice level and CPU\n     affinity.  It may be expanded to include cgroup association in\n     future.  The attributes can be specified either by calling\n     apply_workqueue_attrs() or through /sys/bus/workqueue/WQ_NAME/* if\n     the workqueue in question is exported through sysfs.\n\n     The backend worker pools are keyed by the actual attributes and\n     shared by any workqueues which share the same attributes.  When\n     attributes of a workqueue are changed, the workqueue binds to the\n     worker pool with the specified attributes while leaving the work\n     items which are already executing in its previous worker pools\n     alone.\n\n     This allows converting custom worker pool implementations which\n     want worker attribute tuning to use workqueues.  The writeback pool\n     is already converted in block tree and there are a couple others\n     are likely to follow including btrfs io workers.\n\n   - WQ_UNBOUND\u0027s ability to bind to multiple worker pools is also used\n     to make it NUMA-aware.  Because there\u0027s no association between work\n     item issuer and the specific worker assigned to execute it, before\n     this change, using unbound workqueue led to unnecessary cross-node\n     bouncing and it couldn\u0027t be helped by autonuma as it requires tasks\n     to have implicit node affinity and workers are assigned randomly.\n\n     After these changes, an unbound workqueue now binds to multiple\n     NUMA-affine worker pools so that queued work items are executed in\n     the same node.  This is turned on by default but can be disabled\n     system-wide or for individual workqueues.\n\n     Crypto was requesting NUMA affinity as encrypting data across\n     different nodes can contribute noticeable overhead and doing it\n     per-cpu was too limiting for certain cases and IO throughput could\n     be bottlenecked by one CPU being fully occupied while others have\n     idle cycles.\n\n  While the new features required a lot of changes including\n  restructuring locking, it didn\u0027t complicate the execution paths much.\n  The unbound workqueue handling is now closer to per-cpu ones and the\n  new features are implemented by simply associating a workqueue with\n  different sets of backend worker pools without changing queue,\n  execution or flush paths.\n\n  As such, even though the amount of change is very high, I feel\n  relatively safe in that it isn\u0027t likely to cause subtle issues with\n  basic correctness of work item execution and handling.  If something\n  is wrong, it\u0027s likely to show up as being associated with worker pools\n  with the wrong attributes or OOPS while workqueue attributes are being\n  changed or during CPU hotplug.\n\n  While this creates more backend worker pools, it doesn\u0027t add too many\n  more workers unless, of course, there are many workqueues with unique\n  combinations of attributes.  Assuming everything else is the same,\n  NUMA awareness costs an extra worker pool per NUMA node with online\n  CPUs.\n\n  There are also a couple things which are being routed outside the\n  workqueue tree.\n\n   - block tree pulled in workqueue for-3.10 so that writeback worker\n     pool can be converted to unbound workqueue with sysfs control\n     exposed.  This simplifies the code, makes writeback workers\n     NUMA-aware and allows tuning nice level and CPU affinity via sysfs.\n\n   - The conversion to workqueue means that there\u0027s no 1:1 association\n     between a specific worker, which makes writeback folks unhappy as\n     they want to be able to tell which filesystem caused a problem from\n     backtrace on systems with many filesystems mounted.  This is\n     resolved by allowing work items to set debug info string which is\n     printed when the task is dumped.  As this change involves unifying\n     implementations of dump_stack() and friends in arch codes, it\u0027s\n     being routed through Andrew\u0027s -mm tree.\"\n\n* \u0027for-3.10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (84 commits)\n  workqueue: use kmem_cache_free() instead of kfree()\n  workqueue: avoid false negative WARN_ON() in destroy_workqueue()\n  workqueue: update sysfs interface to reflect NUMA awareness and a kernel param to disable NUMA affinity\n  workqueue: implement NUMA affinity for unbound workqueues\n  workqueue: introduce put_pwq_unlocked()\n  workqueue: introduce numa_pwq_tbl_install()\n  workqueue: use NUMA-aware allocation for pool_workqueues\n  workqueue: break init_and_link_pwq() into two functions and introduce alloc_unbound_pwq()\n  workqueue: map an unbound workqueues to multiple per-node pool_workqueues\n  workqueue: move hot fields of workqueue_struct to the end\n  workqueue: make workqueue-\u003ename[] fixed len\n  workqueue: add workqueue-\u003eunbound_attrs\n  workqueue: determine NUMA node of workers accourding to the allowed cpumask\n  workqueue: drop \u0027H\u0027 from kworker names of unbound worker pools\n  workqueue: add wq_numa_tbl_len and wq_numa_possible_cpumask[]\n  workqueue: move pwq_pool_locking outside of get/put_unbound_pool()\n  workqueue: fix memory leak in apply_workqueue_attrs()\n  workqueue: fix unbound workqueue attrs hashing / comparison\n  workqueue: fix race condition in unbound workqueue free path\n  workqueue: remove pwq_lock which is no longer used\n  ...\n"
    },
    {
      "commit": "8e0bcc722289275d5586a08b0d33b737bac2836e",
      "tree": "92ca4db5195d9a7e4614905f081b65972bd0be72",
      "parents": [
        "e84cb41eb008fb42b357c55329c345f9a0375237"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 15 13:29:15 2013 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 29 15:41:45 2013 -0400"
      },
      "message": "fix a leak in /proc/schedstats\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "916bb6d76dfa49b540baa3f7262792d1de7f1c24",
      "tree": "8548db9da607ad8616125130969e7c2165ad00d5",
      "parents": [
        "d0b8883800c913f5cc0eb273c052bcac94ad44d8",
        "2c522836627c6e78660f8bd52cdb4cdcb75e3e3c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 08:21:37 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 29 08:21:37 2013 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull locking changes from Ingo Molnar:\n \"The most noticeable change are mutex speedups from Waiman Long, for\n  higher loads.  These scalability changes should be most noticeable on\n  larger server systems.\n\n  There are also cleanups, fixes and debuggability improvements.\"\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  lockdep: Consolidate bug messages into a single print_lockdep_off() function\n  lockdep: Print out additional debugging advice when we hit lockdep BUGs\n  mutex: Back out architecture specific check for negative mutex count\n  mutex: Queue mutex spinners with MCS lock to reduce cacheline contention\n  mutex: Make more scalable by doing less atomic operations\n  mutex: Move mutex spinning code from sched/core.c back to mutex.c\n  locking/rtmutex/tester: Set correct permissions on sysfs files\n  lockdep: Remove unnecessary \u0027hlock_next\u0027 variable\n"
    },
    {
      "commit": "25f55d9d01ad7a7ad248fd5af1d22675ffd202c5",
      "tree": "dc6ba0d1f4dc8119c7dd4d0844fa31a8ed60bf6f",
      "parents": [
        "e02e60c109ca70935bad1131976bdbf5160cf576"
      ],
      "author": {
        "name": "Vincent Guittot",
        "email": "vincent.guittot@linaro.org",
        "time": "Tue Apr 23 16:59:02 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 26 12:13:44 2013 +0200"
      },
      "message": "sched: Fix init NOHZ_IDLE flag\n\nOn my SMP platform which is made of 5 cores in 2 clusters, I\nhave the nr_busy_cpu field of sched_group_power struct that is\nnot null when the platform is fully idle - which makes the\nscheduler unhappy.\n\nThe root cause is:\n\nDuring the boot sequence, some CPUs reach the idle loop and set\ntheir NOHZ_IDLE flag while waiting for others CPUs to boot. But\nthe nr_busy_cpus field is initialized later with the assumption\nthat all CPUs are in the busy state whereas some CPUs have\nalready set their NOHZ_IDLE flag.\n\nMore generally, the NOHZ_IDLE flag must be initialized when new\nsched_domains are created in order to ensure that NOHZ_IDLE and\nnr_busy_cpus are aligned.\n\nThis condition can be ensured by adding a synchronize_rcu()\nbetween the destruction of old sched_domains and the creation of\nnew ones so the NOHZ_IDLE flag will not be updated with old\nsched_domain once it has been initialized. But this solution\nintroduces a additionnal latency in the rebuild sequence that is\ncalled during cpu hotplug.\n\nAs suggested by Frederic Weisbecker, another solution is to have\nthe same rcu lifecycle for both NOHZ_IDLE and sched_domain\nstruct. A new nohz_idle field is added to sched_domain so both\nstatus and sched_domain will share the same RCU lifecycle and\nwill be always synchronized. In addition, there is no more need\nto protect nohz_idle against concurrent access as it is only\nmodified by 2 exclusive functions called by local cpu.\n\nThis solution has been prefered to the creation of a new struct\nwith an extra pointer indirection for sched_domain.\n\nThe synchronization is done at the cost of :\n\n - An additional indirection and a rcu_dereference for accessing nohz_idle.\n - We use only the nohz_idle field of the top sched_domain.\n\nSigned-off-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: linaro-kernel@lists.linaro.org\nCc: peterz@infradead.org\nCc: fweisbec@gmail.com\nCc: pjt@google.com\nCc: rostedt@goodmis.org\nCc: efault@gmx.de\nLink: http://lkml.kernel.org/r/1366729142-14662-1-git-send-email-vincent.guittot@linaro.org\n[ Fixed !NO_HZ build bug. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e02e60c109ca70935bad1131976bdbf5160cf576",
      "tree": "56295c7eacea90fb95a2febf178ea287664e4407",
      "parents": [
        "e6252c3ef4b9cd251b53f7b68035f395d20b044e"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:42 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:46 2013 +0200"
      },
      "message": "sched: Prevent to re-select dst-cpu in load_balance()\n\nCommit 88b8dac0 makes load_balance() consider other cpus in its\ngroup. But, in that, there is no code for preventing to\nre-select dst-cpu. So, same dst-cpu can be selected over and\nover.\n\nThis patch add functionality to load_balance() in order to\nexclude cpu which is selected once. We prevent to re-select\ndst_cpu via env\u0027s cpus, so now, env\u0027s cpus is a candidate not\nonly for src_cpus, but also dst_cpus.\n\nWith this patch, we can remove lb_iterations and\nmax_lb_iterations, because we decide whether we can go ahead or\nnot via env\u0027s cpus.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-7-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e6252c3ef4b9cd251b53f7b68035f395d20b044e",
      "tree": "ab331d8a6b9dfd9733c857cbf66944d278d72f2f",
      "parents": [
        "d31980846f9688db3ee3e5863525c6ff8ace4c7c"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:41 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:45 2013 +0200"
      },
      "message": "sched: Rename load_balance_tmpmask to load_balance_mask\n\nThis name doesn\u0027t represent specific meaning.\nSo rename it to imply it\u0027s purpose.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-6-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d31980846f9688db3ee3e5863525c6ff8ace4c7c",
      "tree": "92ec80802dd11061e5b1515a0bf41d9b9be22cb1",
      "parents": [
        "cfc03118047172f5bdc58d63c607d16d33ce5305"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:40 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:44 2013 +0200"
      },
      "message": "sched: Move up affinity check to mitigate useless redoing overhead\n\nCurrently, LBF_ALL_PINNED is cleared after affinity check is\npassed. So, if task migration is skipped by small load value or\nsmall imbalance value in move_tasks(), we don\u0027t clear\nLBF_ALL_PINNED. At last, we trigger \u0027redo\u0027 in load_balance().\n\nImbalance value is often so small that any tasks cannot be moved\nto other cpus and, of course, this situation may be continued\nafter we change the target cpu. So this patch move up affinity\ncheck code and clear LBF_ALL_PINNED before evaluating load value\nin order to mitigate useless redoing overhead.\n\nIn addition, re-order some comments correctly.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-5-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cfc03118047172f5bdc58d63c607d16d33ce5305",
      "tree": "8711e931791f814b3a40956b4a6d0f7d9088c0a6",
      "parents": [
        "de5eb2dd7f171ee8a45d23cd41aa2efe9ab922b3"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:39 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:44 2013 +0200"
      },
      "message": "sched: Don\u0027t consider other cpus in our group in case of NEWLY_IDLE\n\nCommit 88b8dac0 makes load_balance() consider other cpus in its\ngroup, regardless of idle type. When we do NEWLY_IDLE balancing,\nwe should not consider it, because a motivation of NEWLY_IDLE\nbalancing is to turn this cpu to non idle state if needed. This\nis not the case of other cpus. So, change code not to consider\nother cpus for NEWLY_IDLE balancing.\n\nWith this patch, assign \u0027if (pulled_task) this_rq-\u003eidle_stamp \u003d\n0\u0027 in idle_balance() is corrected, because NEWLY_IDLE balancing\ndoesn\u0027t consider other cpus. Assigning to \u0027this_rq-\u003eidle_stamp\u0027\nis now valid.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-4-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "de5eb2dd7f171ee8a45d23cd41aa2efe9ab922b3",
      "tree": "14ad92528f988552549ee962b9274911a0e16c92",
      "parents": [
        "f1cd0858100c67273f2c74344e0c464344c4a982"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:38 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:43 2013 +0200"
      },
      "message": "sched: Explicitly cpu_idle_type checking in rebalance_domains()\n\nAfter commit 88b8dac0, dst-cpu can be changed in load_balance(),\nthen we can\u0027t know cpu_idle_type of dst-cpu when load_balance()\nreturn positive. So, add explicit cpu_idle_type checking.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-3-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "f1cd0858100c67273f2c74344e0c464344c4a982",
      "tree": "1b3acc84023a16fabf7c37bf0bdb782fe25094cb",
      "parents": [
        "642dbc39ab1ea00f47e0fee1b8e8a27da036d940"
      ],
      "author": {
        "name": "Joonsoo Kim",
        "email": "iamjoonsoo.kim@lge.com",
        "time": "Tue Apr 23 17:27:37 2013 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 24 08:52:43 2013 +0200"
      },
      "message": "sched: Change position of resched_cpu() in load_balance()\n\ncur_ld_moved is reset if env.flags hit LBF_NEED_BREAK.\nSo, there is possibility that we miss doing resched_cpu().\nCorrect it as changing position of resched_cpu()\nbefore checking LBF_NEED_BREAK.\n\nSigned-off-by: Joonsoo Kim \u003ciamjoonsoo.kim@lge.com\u003e\nTested-by: Jason Low \u003cjason.low2@hp.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366705662-3587-2-git-send-email-iamjoonsoo.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "99e5ada9407cc19d7c4c05ce2165f20dc46fc093",
      "tree": "6d39bf6095e18b82f78b3cc405d49fbb8836b299",
      "parents": [
        "5811d9963e26146898a24b535b301f7654257f8a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 20 17:11:50 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 20:29:07 2013 +0200"
      },
      "message": "nohz: Re-evaluate the tick for the new task after a context switch\n\nWhen a task is scheduled in, it may have some properties\nof its own that could make the CPU reconsider the need for\nthe tick: posix cpu timers, perf events, ...\n\nSo notify the full dynticks subsystem when a task gets\nscheduled in and re-check the tick dependency at this\nstage. This is done through a self IPI to avoid messing\nup with any current lock scenario.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ff442c51f6543378cf23107c75b7949dc64a9119",
      "tree": "7c3cf3031f0bb0b8f0c9e8a170d17922b3bd1926",
      "parents": [
        "ce831b38ca4920739a7a5b0c73b921da41f03718"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 20 15:27:08 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 20:16:04 2013 +0200"
      },
      "message": "nohz: Re-evaluate the tick from the scheduler IPI\n\nThe scheduler IPI is used by the scheduler to kick\nfull dynticks CPUs asynchronously when more than one\ntask are running or when a new timer list timer is\nenqueued. This way the destination CPU can decide\nto restart the tick to handle this new situation.\n\nNow let\u0027s call that kick in the scheduler IPI.\n\n(Reusing the scheduler IPI rather than implementing\na new IPI was suggested by Peter Zijlstra a while ago)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ce831b38ca4920739a7a5b0c73b921da41f03718",
      "tree": "492802655004af21c748daaf08f55e14068ceb13",
      "parents": [
        "9f3660c2c1a221c886474587103c69f6034d3e4f"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 20 15:15:35 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 20:08:04 2013 +0200"
      },
      "message": "sched: New helper to prevent from stopping the tick in full dynticks\n\nProvide a new helper to be called from the full dynticks engine\nbefore stopping the tick in order to make sure we don\u0027t stop\nit when there is more than one task running on the CPU.\n\nThis way we make sure that the tick stays alive to maintain\nfairness.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9f3660c2c1a221c886474587103c69f6034d3e4f",
      "tree": "23906ee91599b6b04e85523064428f59b3e62be1",
      "parents": [
        "026249ef100b5384b6c74c360db46728e98354da"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 20 14:35:09 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 22 20:06:54 2013 +0200"
      },
      "message": "sched: Kick full dynticks CPU that have more than one task enqueued.\n\nKick the tick on full dynticks CPUs when they get more\nthan one task running on their queue. This makes sure that\nlocal fairness is maintained by the tick on the destination.\n\nThis is done regardless of these tasks\u0027 class. We should\nbe able to be more clever in the future depending on these. eg:\na CPU that runs a SCHED_FIFO task doesn\u0027t need to maintain\nfairness against local pending tasks of the fair class.\n\nBut keep things simple for now.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "642dbc39ab1ea00f47e0fee1b8e8a27da036d940",
      "tree": "337e3cd2be83a916577f78c4819fafe6d29c99c8",
      "parents": [
        "9b89f6ba2ab56e4d9c00e7e591d6bc333137895e"
      ],
      "author": {
        "name": "Vincent Guittot",
        "email": "vincent.guittot@linaro.org",
        "time": "Thu Apr 18 18:34:26 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Apr 21 11:22:52 2013 +0200"
      },
      "message": "sched: Fix wrong rq\u0027s runnable_avg update with rt tasks\n\nThe current update of the rq\u0027s load can be erroneous when RT\ntasks are involved.\n\nThe update of the load of a rq that becomes idle, is done only\nif the avg_idle is less than sysctl_sched_migration_cost. If RT\ntasks and short idle duration alternate, the runnable_avg will\nnot be updated correctly and the time will be accounted as idle\ntime when a CFS task wakes up.\n\nA new idle_enter function is called when the next task is the\nidle function so the elapsed time will be accounted as run time\nin the load of the rq, whatever the average idle time is. The\nfunction update_rq_runnable_avg is removed from idle_balance.\n\nWhen a RT task is scheduled on an idle CPU, the update of the\nrq\u0027s load is not done when the rq exit idle state because CFS\u0027s\nfunctions are not called. Then, the idle_balance, which is\ncalled just before entering the idle function, updates the rq\u0027s\nload and makes the assumption that the elapsed time since the\nlast update, was only running time.\n\nAs a consequence, the rq\u0027s load of a CPU that only runs a\nperiodic RT task, is close to LOAD_AVG_MAX whatever the running\nduration of the RT task is.\n\nA new idle_exit function is called when the prev task is the\nidle function so the elapsed time will be accounted as idle time\nin the rq\u0027s load.\n\nSigned-off-by: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: linaro-kernel@lists.linaro.org\nCc: peterz@infradead.org\nCc: pjt@google.com\nCc: fweisbec@gmail.com\nCc: efault@gmx.de\nLink: http://lkml.kernel.org/r/1366302867-5055-1-git-send-email-vincent.guittot@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "41fcb9f230bf773656d1768b73000ef720bf00c3",
      "tree": "dd87697f88e28825668ed4c342824929b4d7070c",
      "parents": [
        "8184004ed7a0bc9538f5e825615c29fc52466bab"
      ],
      "author": {
        "name": "Waiman Long",
        "email": "Waiman.Long@hp.com",
        "time": "Wed Apr 17 15:23:11 2013 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Apr 19 09:33:34 2013 +0200"
      },
      "message": "mutex: Move mutex spinning code from sched/core.c back to mutex.c\n\nAs mentioned by Ingo, the SCHED_FEAT_OWNER_SPIN scheduler\nfeature bit was really just an early hack to make with/without\nmutex-spinning testable. So it is no longer necessary.\n\nThis patch removes the SCHED_FEAT_OWNER_SPIN feature bit and\nmove the mutex spinning code from kernel/sched/core.c back to\nkernel/mutex.c which is where they should belong.\n\nSigned-off-by: Waiman Long \u003cWaiman.Long@hp.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Chandramouleeswaran Aswin \u003caswin@hp.com\u003e\nCc: Davidlohr Bueso \u003cdavidlohr.bueso@hp.com\u003e\nCc: Norton Scott J \u003cscott.norton@hp.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1366226594-5506-2-git-send-email-Waiman.Long@hp.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c5bfece2d6129131b4ade985e63bc35ddf5868d4",
      "tree": "65b7f1c3e9ad5dd45375ccdc1dab187ba968cf59",
      "parents": [
        "0644ca5c774f1a7033bfc83c7ed0660f74f28b56"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 12 16:45:34 2013 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 15 19:58:17 2013 +0200"
      },
      "message": "nohz: Switch from \"extended nohz\" to \"full nohz\" based naming\n\n\"Extended nohz\" was used as a naming base for the full dynticks\nAPI and Kconfig symbols. It reflects the fact the system tries\nto stop the tick in more places than just idle.\n\nBut that \"extended\" name is a bit opaque and vague. Rename it to\n\"full\" makes it clearer what the system tries to do under this\nconfig: try to shutdown the tick anytime it can. The various\nconstraints that prevent that to happen shouldn\u0027t be considered\nas fundamental properties of this feature but rather technical\nissues that may be solved in the future.\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "af788e35bff2b98a413c3e81b13c2a27ef6b7528",
      "tree": "517e7406fb42018a81f558def284a96948fd5002",
      "parents": [
        "ae9f4939bad09767c0532f76ccc48cec0ff3ea4e",
        "e614b3332a4f3f264a26da28e5a1f4cc3aea3974"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 14 11:12:17 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 14 11:12:17 2013 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar:\n \"Misc fixlets\"\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/cputime: Fix accounting on multi-threaded processes\n  sched/debug: Fix sd-\u003e*_idx limit range avoiding overflow\n  sched_clock: Prevent 64bit inatomicity on 32bit systems\n  sched: Convert BUG_ON()s in try_to_wake_up_local() to WARN_ON_ONCE()s\n"
    },
    {
      "commit": "b329fd5b018ffd64cfef6a2551bb2ca4bbfbacf2",
      "tree": "0ce7ac1533810ece586406dbe2cb2a9fe71e48a1",
      "parents": [
        "479f614110b889d5783acdaec865ede3cdb96b97"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 15:10:50 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 15:12:41 2013 +0200"
      },
      "message": "sched/cpuacct/UML: Fix header file dependency bug on the UML build\n\nThe cpuacct split caused this build failure on UML:\n\n  kernel/sched/cpuacct.c:94:2: error: implicit declaration of  function \u0027ERR_PTR\u0027\n\nCc: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a2b0ae25fc8bfeeb4022b8e847ab811b3c8368d1",
      "tree": "fde01115c40d05a8fe1fe57a4fa4c8477e8a0528",
      "parents": [
        "621e2de02403a6f776852c564b79c38bf3cc9032"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Mar 29 14:44:28 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:54:22 2013 +0200"
      },
      "message": "sched/cpuacct: No need to check subsys active state\n\nNow we\u0027re guaranteed when cpuacct_charge() and\ncpuacct_account_field() are called, cpuacct has already been\nproperly initialized, so we no longer need those checks.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5155384C.7000508@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "621e2de02403a6f776852c564b79c38bf3cc9032",
      "tree": "ecf275fcd1ae888a0655f271faffa20c32c4710d",
      "parents": [
        "14c6d3c8a47ced185b6375c4940b5b393f1a294e"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Mar 29 14:44:15 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:54:21 2013 +0200"
      },
      "message": "sched/cpuacct: Initialize cpuacct subsystem earlier\n\nInitialize cpuacct before the scheduler is functioning, so when\ncpuacct_charge() and cpuacct_account_field() are called,\ntask_ca() won\u0027t return NULL.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5155383F.8000005@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "14c6d3c8a47ced185b6375c4940b5b393f1a294e",
      "tree": "1e7bb1aa142f89ed37988d432bffec7b8bf502f4",
      "parents": [
        "7943e15a3e91db78a7a3fbc84e45cf9d1c7c7d23"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Mar 29 14:44:04 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:54:20 2013 +0200"
      },
      "message": "sched/cpuacct: Initialize root cpuacct earlier\n\nNow we don\u0027t need cpuacct_init(), and instead we just initialize\nroot_cpuacct when it\u0027s defined.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/51553834.9090701@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7943e15a3e91db78a7a3fbc84e45cf9d1c7c7d23",
      "tree": "8710fcd9862d6e5fe8349821b8f903dfbe8bf2c9",
      "parents": [
        "d1712796a880bea0a44739941116001923f3275b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Mar 29 14:43:46 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:54:20 2013 +0200"
      },
      "message": "sched/cpuacct: Allocate per_cpu cpuusage for root cpuacct statically\n\nThis is a preparation, so later we can initialize cpuacct\nearlier.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/51553822.5000403@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d1712796a880bea0a44739941116001923f3275b",
      "tree": "fe7aaf8dcf6569f05fc741c01bd7beb5633244f6",
      "parents": [
        "5f40d804325e925409907e29f46ecb012090b6c2"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Mar 29 14:38:13 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:54:19 2013 +0200"
      },
      "message": "sched/cpuacct: Clean up cpuacct.h\n\nNow most of the code in cpuacct.h can be moved to cpuacct.c\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/515536D5.2080401@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5f40d804325e925409907e29f46ecb012090b6c2",
      "tree": "28cd9dd3f0a7ed059d1167ba8c77e725445e9986",
      "parents": [
        "543bc0e76e6bb84300eaf9833edc5a481f788678"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Mar 29 14:37:43 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:54:18 2013 +0200"
      },
      "message": "sched/cpuacct: Remove redundant NULL checks in cpuacct_acount_field()\n\nThis is a micro optimazation for a hot path.\n\n- We don\u0027t need to check if @ca returned from task_ca() is NULL.\n- We don\u0027t need to check if @ca returned from parent_ca() is NULL.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/515536B7.6060602@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "543bc0e76e6bb84300eaf9833edc5a481f788678",
      "tree": "b3584f05bedffee2bd604fa63d0e8b613cda28d4",
      "parents": [
        "1966aaf7d54608e8ddb7ac454b461840e763409a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Mar 29 14:37:29 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:54:18 2013 +0200"
      },
      "message": "sched/cpuacct: Remove redundant NULL checks in cpuacct_charge()\n\nThis is a micro optimization for the hot path.\n\n- We don\u0027t need to check if @ca is NULL in parent_ca().\n- We don\u0027t need to check if @ca is NULL in the beginning of the for loop.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/515536A9.5000700@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "1966aaf7d54608e8ddb7ac454b461840e763409a",
      "tree": "01010d8ff23842f4200e69d2955fd805f50d6e28",
      "parents": [
        "dbe4b41f9800223949ce72e4289814697e0ea91a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Mar 29 14:37:06 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:54:17 2013 +0200"
      },
      "message": "sched/cpuacct: Add cpuacct_acount_field()\n\nSo we can remove open-coded cpuacct code in cputime.c.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/51553692.9060008@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "dbe4b41f9800223949ce72e4289814697e0ea91a",
      "tree": "11f24c688852b29656724f0e7266f5b04d4291c6",
      "parents": [
        "60fed7891d4115be0ed7ff9ce6851eda80533c64"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Mar 29 14:36:55 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:54:16 2013 +0200"
      },
      "message": "sched/cpuacct: Add cpuacct_init()\n\nSo we don\u0027t open-coded initialization of cpuacct in core.c.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/51553687.1060906@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "60fed7891d4115be0ed7ff9ce6851eda80533c64",
      "tree": "7009cf85aa31a086cfc4cba4029cd607924056b2",
      "parents": [
        "2e76c24d72372db35f226a49c2b99d0fd8cfd400"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Mar 29 14:36:43 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:54:16 2013 +0200"
      },
      "message": "sched: Split cpuacct code out of sched.h\n\nAdd cpuacct.h and let sched.h include it.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5155367B.2060506@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "2e76c24d72372db35f226a49c2b99d0fd8cfd400",
      "tree": "c611ddffa64a2a2fef615f43fcd7a14fa7553a0e",
      "parents": [
        "b9b0853a4b377f84a5e6ed091816a9a2d6b10918"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Fri Mar 29 14:36:31 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:54:15 2013 +0200"
      },
      "message": "sched: Split cpuacct code out of core.c\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5155366F.5060404@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b9b0853a4b377f84a5e6ed091816a9a2d6b10918",
      "tree": "239fbe1239e8f0858aa025a62a7325229cf205c7",
      "parents": [
        "4e2dcb73aecbde9fe4e3137c9ea35cb6aa6cb286"
      ],
      "author": {
        "name": "Libin",
        "email": "huawei.libin@huawei.com",
        "time": "Mon Apr 01 19:14:01 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 13:39:57 2013 +0200"
      },
      "message": "sched: Fix comment in rebalance_domains()\n\nA comment in function rebalance_domains() mentions\narch_init_sched_domains(), but that function does not exist\nanymore. The proper function is init_sched_domains().\n\nSigned-off-by: Libin \u003chuawei.libin@huawei.com\u003e\nCc: \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1364814841-49156-1-git-send-email-huawei.libin@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4e2dcb73aecbde9fe4e3137c9ea35cb6aa6cb286",
      "tree": "d3011ead0af5e93ae0312ddf448dd6caae3a0cd3",
      "parents": [
        "28b4a521f618d9722bc780ea38b44718ce0fe283"
      ],
      "author": {
        "name": "Zhang Hang",
        "email": "bob.zhanghang@huawei.com",
        "time": "Wed Apr 10 14:04:55 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Apr 10 11:15:45 2013 +0200"
      },
      "message": "sched: Simplify can_migrate_task()\n\nAt this point tsk_cache_hot is always true, so no need to check it.\n\nSigned-off-by: Zhang Hang \u003cbob.zhanghang@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/51650107.9040606@huawei.com\n[ Also remove unnecessary schedstat #ifdefs. ]\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e614b3332a4f3f264a26da28e5a1f4cc3aea3974",
      "tree": "fcc2e93829d8fc93867c64f58a637cf4fadf5c5e",
      "parents": [
        "fd9b86d37a600488dbd80fe60cca46b822bff1cd"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Thu Apr 04 10:57:48 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Apr 08 17:40:52 2013 +0200"
      },
      "message": "sched/cputime: Fix accounting on multi-threaded processes\n\nRecent commit 6fac4829 (\"cputime: Use accessors to read task\ncputime stats\") introduced a bug, where we account many times\nthe cputime of the first thread, instead of cputimes of all\nthe different threads.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20130404085740.GA2495@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "ee761f629d598579594d7e1eb8c552f3c5f71e4d",
      "tree": "c5661623f8420b41efc3970f1cab23e6db581f68",
      "parents": [
        "6546327ad187238ac63d2429701b32becb096fd8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 21 22:49:32 2013 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 08 17:39:22 2013 +0200"
      },
      "message": "arch: Consolidate tsk_is_polling()\n\nMove it to a common place. Preparatory patch for implementing\nset/clear for the idle need_resched poll implementation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Paul McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: Cc: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nCc: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nLink: http://lkml.kernel.org/r/20130321215233.446034505@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "28b4a521f618d9722bc780ea38b44718ce0fe283",
      "tree": "eba0cd2f081dc61257f87617508f8feeae883cd8",
      "parents": [
        "a8d7ad52a7befbde896276d05c75c90fed48b5bf"
      ],
      "author": {
        "name": "Viresh Kumar",
        "email": "viresh.kumar@linaro.org",
        "time": "Fri Apr 05 16:26:46 2013 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Apr 08 13:55:39 2013 +0200"
      },
      "message": "sched: Fix typo inside comment\n\nFix typo:\n\n sched_domains_nume_distance -\u003e\n sched_domains_numa_distance\n\nSigned-off-by: Viresh Kumar \u003cviresh.kumar@linaro.org\u003e\nCc: linaro-kernel@lists.linaro.org\nCc: patches@linaro.org\nCc: robin.randhawa@arm.com\nCc: Steve.Bannister@arm.com\nCc: Liviu.Dudau@arm.com\nCc: charles.garcia-tobin@arm.com\nCc: arvind.chauhan@arm.com\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/cd8084746ac932106d6fa6be388b8f2d6aa9617c.1365159023.git.viresh.kumar@linaro.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "fd9b86d37a600488dbd80fe60cca46b822bff1cd",
      "tree": "4ce6afb8ec12c2d411546a8c70aeeb73c20e8e53",
      "parents": [
        "a1cbcaa9ea87b87a96b9fc465951dcf36e459ca2"
      ],
      "author": {
        "name": "libin",
        "email": "huawei.libin@huawei.com",
        "time": "Mon Apr 08 14:39:12 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Apr 08 13:23:03 2013 +0200"
      },
      "message": "sched/debug: Fix sd-\u003e*_idx limit range avoiding overflow\n\nCommit 201c373e8e (\"sched/debug: Limit sd-\u003e*_idx range on\nsysctl\") was an incomplete bug fix.\n\nThis patch fixes sd-\u003e*_idx limit range to [0 ~ CPU_LOAD_IDX_MAX-1]\navoiding array overflow caused by setting sd-\u003e*_idx to CPU_LOAD_IDX_MAX\non sysctl.\n\nSigned-off-by: Libin \u003chuawei.libin@huawei.com\u003e\nCc: \u003cjiang.liu@huawei.com\u003e\nCc: \u003cguohanjun@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/51626610.2040607@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "a1cbcaa9ea87b87a96b9fc465951dcf36e459ca2",
      "tree": "a58fb45d03bb4c55d7f32a33c6bcbc59414a3682",
      "parents": [
        "383efcd00053ec40023010ce5034bd702e7ab373"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 06 10:10:27 2013 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 08 11:50:44 2013 +0200"
      },
      "message": "sched_clock: Prevent 64bit inatomicity on 32bit systems\n\nThe sched_clock_remote() implementation has the following inatomicity\nproblem on 32bit systems when accessing the remote scd-\u003eclock, which\nis a 64bit value.\n\nCPU0\t\t\tCPU1\n\nsched_clock_local()\tsched_clock_remote(CPU0)\n...\n\t\t\tremote_clock \u003d scd[CPU0]-\u003eclock\n\t\t\t    read_low32bit(scd[CPU0]-\u003eclock)\ncmpxchg64(scd-\u003eclock,...)\n\t\t\t    read_high32bit(scd[CPU0]-\u003eclock)\n\nWhile the update of scd-\u003eclock is using an atomic64 mechanism, the\nreadout on the remote cpu is not, which can cause completely bogus\nreadouts.\n\nIt is a quite rare problem, because it requires the update to hit the\nnarrow race window between the low/high readout and the update must go\nacross the 32bit boundary.\n\nThe resulting misbehaviour is, that CPU1 will see the sched_clock on\nCPU1 ~4 seconds ahead of it\u0027s own and update CPU1s sched_clock value\nto this bogus timestamp. This stays that way due to the clamping\nimplementation for about 4 seconds until the synchronization with\nCLOCK_MONOTONIC undoes the problem.\n\nThe issue is hard to observe, because it might only result in a less\naccurate SCHED_OTHER timeslicing behaviour. To create observable\ndamage on realtime scheduling classes, it is necessary that the bogus\nupdate of CPU1 sched_clock happens in the context of an realtime\nthread, which then gets charged 4 seconds of RT runtime, which results\nin the RT throttler mechanism to trigger and prevent scheduling of RT\ntasks for a little less than 4 seconds. So this is quite unlikely as\nwell.\n\nThe issue was quite hard to decode as the reproduction time is between\n2 days and 3 weeks and intrusive tracing makes it less likely, but the\nfollowing trace recorded with trace_clock\u003dglobal, which uses\nsched_clock_local(), gave the final hint:\n\n  \u003cidle\u003e-0   0d..30 400269.477150: hrtimer_cancel: hrtimer\u003d0xf7061e80\n  \u003cidle\u003e-0   0d..30 400269.477151: hrtimer_start:  hrtimer\u003d0xf7061e80 ...\nirq/20-S-587 1d..32 400273.772118: sched_wakeup:   comm\u003d ... target_cpu\u003d0\n  \u003cidle\u003e-0   0dN.30 400273.772118: hrtimer_cancel: hrtimer\u003d0xf7061e80\n\nWhat happens is that CPU0 goes idle and invokes\nsched_clock_idle_sleep_event() which invokes sched_clock_local() and\nCPU1 runs a remote wakeup for CPU0 at the same time, which invokes\nsched_remote_clock(). The time jump gets propagated to CPU0 via\nsched_remote_clock() and stays stale on both cores for ~4 seconds.\n\nThere are only two other possibilities, which could cause a stale\nsched clock:\n\n1) ktime_get() which reads out CLOCK_MONOTONIC returns a sporadic\n   wrong value.\n\n2) sched_clock() which reads the TSC returns a sporadic wrong value.\n\n#1 can be excluded because sched_clock would continue to increase for\n   one jiffy and then go stale.\n\n#2 can be excluded because it would not make the clock jump\n   forward. It would just result in a stale sched_clock for one jiffy.\n\nAfter quite some brain twisting and finding the same pattern on other\ntraces, sched_clock_remote() remained the only place which could cause\nsuch a problem and as explained above it\u0027s indeed racy on 32bit\nsystems.\n\nSo while on 64bit systems the readout is atomic, we need to verify the\nremote readout on 32bit machines. We need to protect the local-\u003eclock\nreadout in sched_clock_remote() on 32bit as well because an NMI could\nhit between the low and the high readout, call sched_clock_local() and\nmodify local-\u003eclock.\n\nThanks to Siegfried Wulsch for bearing with my debug requests and\ngoing through the tedious tasks of running a bunch of reproducer\nsystems to generate the debug information which let me decode the\nissue.\n\nReported-by: Siegfried Wulsch \u003cSiegfried.Wulsch@rovema.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1304051544160.21884@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\n\n"
    },
    {
      "commit": "3451d0243c3cdfd729b36f9684a14659d4895ca3",
      "tree": "5307f4492708ae089dd0a6d81b54f9e606707ca8",
      "parents": [
        "ab71d36ddb9e60d4ddb28a187718815d38c3c666"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 10 23:21:01 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 03 13:56:03 2013 +0200"
      },
      "message": "nohz: Rename CONFIG_NO_HZ to CONFIG_NO_HZ_COMMON\n\nWe are planning to convert the dynticks Kconfig options layout\ninto a choice menu. The user must be able to easily pick\nany of the following implementations: constant periodic tick,\nidle dynticks, full dynticks.\n\nAs this implies a mutual exclusion, the two dynticks implementions\nneed to converge on the selection of a common Kconfig option in order\nto ease the sharing of a common infrastructure.\n\nIt would thus seem pretty natural to reuse CONFIG_NO_HZ to\nthat end. It already implements all the idle dynticks code\nand the full dynticks depends on all that code for now.\nSo ideally the choice menu would propose CONFIG_NO_HZ_IDLE and\nCONFIG_NO_HZ_EXTENDED then both would select CONFIG_NO_HZ.\n\nOn the other hand we want to stay backward compatible: if\nCONFIG_NO_HZ is set in an older config file, we want to\nenable CONFIG_NO_HZ_IDLE by default.\n\nBut we can\u0027t afford both at the same time or we run into\na circular dependency:\n\n1) CONFIG_NO_HZ_IDLE and CONFIG_NO_HZ_EXTENDED both select\n   CONFIG_NO_HZ\n2) If CONFIG_NO_HZ is set, we default to CONFIG_NO_HZ_IDLE\n\nWe might be able to support that from Kconfig/Kbuild but it\nmay not be wise to introduce such a confusing behaviour.\n\nSo to solve this, create a new CONFIG_NO_HZ_COMMON option\nwhich gathers the common code between idle and full dynticks\n(that common code for now is simply the idle dynticks code)\nand select it from their referring Kconfig.\n\nThen we\u0027ll later create CONFIG_NO_HZ_IDLE and map CONFIG_NO_HZ\nto it for backward compatibility.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1c20091e77fc5a9b7d7d905176443b4822a23cdb",
      "tree": "ef3c2edc749ccfc87b5f9682973f54414de746c3",
      "parents": [
        "a382bf934449ddeb625167537ae81daa0211b477"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Aug 10 23:21:01 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 21 15:55:59 2013 +0100"
      },
      "message": "nohz: Wake up full dynticks CPUs when a timer gets enqueued\n\nWake up a CPU when a timer list timer is enqueued there and\nthe target is part of the full dynticks range. Sending an IPI\nto it makes it reconsidering the next timer to program on top\nof recent updates.\n\nThis may later be improved by checking if the tick is really\nstopped on the target. This would need some careful\nsynchronization though. So deal with such optimization later\nand start simple.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Geoff Levand \u003cgeoff@infradead.org\u003e\nCc: Gilad Ben Yossef \u003cgilad@benyossef.com\u003e\nCc: Hakan Akkan \u003chakanakkan@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "383efcd00053ec40023010ce5034bd702e7ab373",
      "tree": "16658e8a8f4d0f6ee4832da0a1b5368e983c0d59",
      "parents": [
        "7f6575f1fb963d5231afbceecd3feadb6ab58cd3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Mar 18 12:22:34 2013 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 21 11:48:20 2013 +0100"
      },
      "message": "sched: Convert BUG_ON()s in try_to_wake_up_local() to WARN_ON_ONCE()s\n\ntry_to_wake_up_local() should only be invoked to wake up another\ntask in the same runqueue and BUG_ON()s are used to enforce the\nrule. Missing try_to_wake_up_local() can stall workqueue\nexecution but such stalls are likely to be finite either by\nanother work item being queued or the one blocked getting\nunblocked.  There\u0027s no reason to trigger BUG while holding rq\nlock crashing the whole system.\n\nConvert BUG_ON()s in try_to_wake_up_local() to WARN_ON_ONCE()s.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20130318192234.GD3042@htj.dyndns.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "14a40ffccd6163bbcd1d6f32b28a88ffe6149fc6",
      "tree": "eb61e5bf7b64c3e67f3e33fe6b07fde4ee1d4d43",
      "parents": [
        "2e109a2855bf6cf675a8b74dbd89b6492e8def42"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 19 13:45:20 2013 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 19 13:45:20 2013 -0700"
      },
      "message": "sched: replace PF_THREAD_BOUND with PF_NO_SETAFFINITY\n\nPF_THREAD_BOUND was originally used to mark kernel threads which were\nbound to a specific CPU using kthread_bind() and a task with the flag\nset allows cpus_allowed modifications only to itself.  Workqueue is\ncurrently abusing it to prevent userland from meddling with\ncpus_allowed of workqueue workers.\n\nWhat we need is a flag to prevent userland from messing with\ncpus_allowed of certain kernel tasks.  In kernel, anyone can\n(incorrectly) squash the flag, and, for worker-type usages,\nrestricting cpus_allowed modification to the task itself doesn\u0027t\nprovide meaningful extra proection as other tasks can inject work\nitems to the task anyway.\n\nThis patch replaces PF_THREAD_BOUND with PF_NO_SETAFFINITY.\nsched_setaffinity() checks the flag and return -EINVAL if set.\nset_cpus_allowed_ptr() is no longer affected by the flag.\n\nThis will allow simplifying workqueue worker CPU affinity management.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a8d7ad52a7befbde896276d05c75c90fed48b5bf",
      "tree": "6db764ea0c8db826b18d37828a1a28d014f38d3d",
      "parents": [
        "e75c8b475e4b1da6bf5b412db9a2ecd7c44188a2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Mar 14 10:48:39 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 18 10:18:08 2013 +0100"
      },
      "message": "sched/tracing: Allow tracing the preemption decision on wakeup\n\nThomas noted that we do the wakeup preemption check after the\nwakeup trace point, this means the tracepoint cannot test/report\nthis decision; which is rather important for latency sensitive\nworkloads. Therefore move the tracepoint after doing the\npreemption check.\n\nSuggested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Paul Turner \u003cpjt@google.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLink: http://lkml.kernel.org/r/1363254519.26965.9.camel@laptop\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e75c8b475e4b1da6bf5b412db9a2ecd7c44188a2",
      "tree": "082cf1fd56a86ae901cdc39c83ccc3e8f6b8c850",
      "parents": [
        "1bf08230f745e48fea9c18ee34a73581631fe7c9",
        "d9a3c9823a2e6a543eb7807fb3d15d8233817ec5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 18 10:09:31 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 18 10:09:31 2013 +0100"
      },
      "message": "Merge branch \u0027sched/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into sched/core\n\nPull CPU runtime stats/accounting fixes from Frederic Weisbecker:\n\n \" Some users are complaining that their threadgroup\u0027s runtime accounting\n   freezes after a week or so of intense cpu-bound workload. This set tries\n   to fix the issue by reducing the risk of multiplication overflow in the\n   cputime scaling code. \"\n\nStanislaw Gruszka further explained the historic context and impact of the\nbug:\n\n \" Commit 0cf55e1ec08bb5a22e068309e2d8ba1180ab4239 start to use scalling\n   for whole thread group, so increase chances of hitting multiplication\n   overflow, depending on how many CPUs are on the system.\n\n   We have multiplication utime * rtime for one thread since commit\n   b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa.\n\n   Overflow will happen after:\n\n   rtime * utime \u003e 0xffffffffffffffff jiffies\n\n   if thread utilize 100% of CPU time, that gives:\n\n   rtime \u003e sqrt(0xffffffffffffffff) jiffies\n\n   ritme \u003e sqrt(0xffffffffffffffff) / (24 * 60 * 60 * HZ) days\n\n   For HZ 100 it will be 497 days for HZ 1000 it will be 49 days.\n\n   Bug affect only users, who run CPU intensive application for that\n   long period. Also they have to be interested on utime,stime values,\n   as bug has no other visible effect as making those values incorrect. \"\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "1bf08230f745e48fea9c18ee34a73581631fe7c9",
      "tree": "168174d1fa776d31a388669565b860069ee116ea",
      "parents": [
        "660cc00f8c6f7a2e16c25918590b470e86de19ec"
      ],
      "author": {
        "name": "Andrei Epure",
        "email": "epure.andrei@gmail.com",
        "time": "Tue Mar 12 21:12:24 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Mar 14 08:22:29 2013 +0100"
      },
      "message": "sched: Fix variable name misnomer, add comments\n\nThe min_vruntime variable actually stores the maximum value.\nThe added comment was taken from place_entity function.\n\nSigned-off-by: Andrei Epure \u003cepure.andrei@gmail.com\u003e\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/1363115544-1964-1-git-send-email-epure.andrei@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d9a3c9823a2e6a543eb7807fb3d15d8233817ec5",
      "tree": "067dbf815802efc7f36ac0d82a5027b8bfd97ed6",
      "parents": [
        "f792685006274a850e6cc0ea9ade275ccdfc90bc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Feb 20 18:54:55 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 13 18:18:14 2013 +0100"
      },
      "message": "sched: Lower chances of cputime scaling overflow\n\nSome users have reported that after running a process with\nhundreds of threads on intensive CPU-bound loads, the cputime\nof the group started to freeze after a few days.\n\nThis is due to how we scale the tick-based cputime against\nthe scheduler precise execution time value.\n\nWe add the values of all threads in the group and we multiply\nthat against the sum of the scheduler exec runtime of the whole\ngroup.\n\nThis easily overflows after a few days/weeks of execution.\n\nA proposed solution to solve this was to compute that multiplication\non stime instead of utime:\n   62188451f0d63add7ad0cd2a1ae269d600c1663d\n   (\"cputime: Avoid multiplication overflow on utime scaling\")\n\nThe rationale behind that was that it\u0027s easy for a thread to\nspend most of its time in userspace under intensive CPU-bound workload\nbut it\u0027s much harder to do CPU-bound intensive long run in the kernel.\n\nThis postulate got defeated when a user recently reported he was still\nseeing cputime freezes after the above patch. The workload that\ntriggers this issue relates to intensive networking workloads where\nmost of the cputime is consumed in the kernel.\n\nTo reduce much more the opportunities for multiplication overflow,\nlets reduce the multiplication factors to the remainders of the division\nbetween sched exec runtime and cputime. Assuming the difference between\nthese shouldn\u0027t ever be that large, it could work on many situations.\n\nThis gets the same results as in the upstream scaling code except for\na small difference: the upstream code always rounds the results to\nthe nearest integer not greater to what would be the precise result.\nThe new code rounds to the nearest integer either greater or not\ngreater. In practice this difference probably shouldn\u0027t matter but\nit\u0027s worth mentioning.\n\nIf this solution appears not to be enough in the end, we\u0027ll\nneed to partly revert back to the behaviour prior to commit\n     0cf55e1ec08bb5a22e068309e2d8ba1180ab4239\n     (\"sched, cputime: Introduce thread_group_times()\")\n\nBack then, the scaling was done on exit() time before adding the cputime\nof an exiting thread to the signal struct. And then we\u0027ll need to\nscale one-by-one the live threads cputime in thread_group_cputime(). The\ndrawback may be a slightly slower code on exit time.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "660cc00f8c6f7a2e16c25918590b470e86de19ec",
      "tree": "6fed2189311a3127820b2ff766fcada58945d78b",
      "parents": [
        "b719203b846284e77f5c50fca04b458b6484aeae"
      ],
      "author": {
        "name": "Andrei Epure",
        "email": "epure.andrei@gmail.com",
        "time": "Mon Mar 11 12:03:20 2013 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 11 15:12:11 2013 +0100"
      },
      "message": "sched: Spelling fix\n\nSigned-off-by: Andrei Epure \u003cepure.andrei@gmail.com\u003e\nCc: trivial@kernel.org\nCc: peterz@infradead.org\nLink: http://lkml.kernel.org/r/1362996200-2674-1-git-send-email-epure.andrei@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b719203b846284e77f5c50fca04b458b6484aeae",
      "tree": "31b2f3616890dee7265dc258a66a4266e1f95aac",
      "parents": [
        "4e3da46797f8e4d8217d2e3d6857444391b306da"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Thu Mar 07 10:00:26 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 11 09:07:24 2013 +0100"
      },
      "message": "sched: Fix update_group_power() prototype placement to fix build warning when !CONFIG_SMP\n\nAll warnings:\n\n   In file included from kernel/sched/core.c:85:0:\n   kernel/sched/sched.h:1036:39: warning: \u0027struct sched_domain\u0027 declared inside parameter list\n   kernel/sched/sched.h:1036:39: warning: its scope is only this definition or declaration, which is probably not what you want\n\nIt\u0027s because struct sched_domain is defined inside #if CONFIG_SMP,\nwhile update_group_power() is declared unconditionally.\n\nFix this warning by declaring update_group_power() only if\nCONFIG_SMP\u003dn.\n\nBuild tested with CONFIG_SMP enabled and then disabled.\n\nReported-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5137F4BA.2060101@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4e3da46797f8e4d8217d2e3d6857444391b306da",
      "tree": "4532f3bec8e45fbc69cc8389c4c7316d3eba7ae4",
      "parents": [
        "27b4b9319a3c2e8654d45df99ce584c7c2cfe100",
        "8b43876643a737bb74a0e1e557f634eb2453948b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Mar 08 16:41:22 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Mar 08 16:41:22 2013 +0100"
      },
      "message": "Merge branch \u0027sched/cputime\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into sched/core\n\nPull cputime changes from Frederic Weisbecker:\n\n  * Generalize exception handling\n\n  * Fix race in context tracking state restore on return from exception\n    and irq exit kernel preemption\n\n  * Fix cputime scaling in full dynticks accounting dynamic off-case\n\n  * Fix default Kconfig value\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "9fbc42eac1f6917081dc3b39922b2f1c57fdff28",
      "tree": "9eef797db037ced359dc5abcc6945cfb8f303a09",
      "parents": [
        "b22366cd54c6fe05db426f20adb10f461c19ec06"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Feb 25 17:25:39 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 07 17:10:32 2013 +0100"
      },
      "message": "cputime: Dynamically scale cputime for full dynticks accounting\n\nThe full dynticks cputime accounting is able to account either\nusing the tick or the context tracking subsystem. This way\nthe housekeeping CPU can keep the low overhead tick based\nsolution.\n\nThis latter mode has a low jiffies resolution granularity and\nneed to be scaled against CFS precise runtime accounting to\nimprove its result. We are doing this for CONFIG_TICK_CPU_ACCOUNTING,\nnow we also need to expand it to full dynticks accounting dynamic\noff-case as well.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Mats Liljegren \u003cmats.liljegren@enea.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b22366cd54c6fe05db426f20adb10f461c19ec06",
      "tree": "3eb42a6ae0c6b25c27d946e6ffa4787f82ac952f",
      "parents": [
        "6c1e0256fad84a843d915414e4b5973b7443d48d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Feb 24 12:59:30 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 07 17:10:21 2013 +0100"
      },
      "message": "context_tracking: Restore preempted context state after preempt_schedule_irq()\n\nFrom the context tracking POV, preempt_schedule_irq() behaves pretty much\nlike an exception: It can be called anytime and schedule another task.\n\nBut currently it doesn\u0027t restore the context tracking state of the preempted\ncode on preempt_schedule_irq() return.\n\nAs a result, if preempt_schedule_irq() is called in the tiny frame between\nuser_enter() and the actual return to userspace, we resume userspace with\nthe wrong context tracking state.\n\nFix this by using exception_enter/exit() which are a perfect fit for this\nkind of issue.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nCc: Mats Liljegren \u003cmats.liljegren@enea.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "27b4b9319a3c2e8654d45df99ce584c7c2cfe100",
      "tree": "ab88adf43a0208398592119eef149c800097c2c5",
      "parents": [
        "25cc7da7e6336d3bb6a5bad3d3fa96fce9a81d5b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:07:52 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:35 2013 +0100"
      },
      "message": "sched: Remove double declaration of root_task_group\n\nIt\u0027s already declared in include/linux/sched.h\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A7D8.7000107@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "25cc7da7e6336d3bb6a5bad3d3fa96fce9a81d5b",
      "tree": "f039848c9d9ef5a3baf50b3a40eaa867b013e40f",
      "parents": [
        "15f803c94bd92b17708aad9e74226fd0b2c9130c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:07:33 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:34 2013 +0100"
      },
      "message": "sched: Move group scheduling functions out of include/linux/sched.h\n\n- Make sched_group_{set_,}runtime(), sched_group_{set_,}period()\nand sched_rt_can_attach() static.\n\n- Move sched_{create,destroy,online,offline}_group() to\nkernel/sched/sched.h.\n\n- Remove declaration of sched_group_shares().\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A7C5.3000708@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "15f803c94bd92b17708aad9e74226fd0b2c9130c",
      "tree": "9e82cc81ab4de87e3878b503170be862a96dbe54",
      "parents": [
        "c82ba9fa7588dfd02d4dc99ad1af486304bc424c"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:07:11 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:34 2013 +0100"
      },
      "message": "sched: Make default_scale_freq_power() static\n\nAs default_scale_{freq,smt}_power() and update_rt_power() are\nused in kernel/sched/fair.c only, annotate them as static\nfunctions.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A7AF.8010900@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c82ba9fa7588dfd02d4dc99ad1af486304bc424c",
      "tree": "870cdeaa3aad811645cce93b1c15646ed4b9f133",
      "parents": [
        "b13095f07f25464de65f5ce5ea94e16813d67488"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:06:55 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:33 2013 +0100"
      },
      "message": "sched: Move struct sched_class to kernel/sched/sched.h\n\nIt\u0027s used internally only.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A79F.8090502@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b13095f07f25464de65f5ce5ea94e16813d67488",
      "tree": "5faa4080f5384f9668f01619afb90ea1db1d1890",
      "parents": [
        "5e6521eaa1ee581a13b904f35b80c5efeb2baccb"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:06:38 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:32 2013 +0100"
      },
      "message": "sched: Move wake flags to kernel/sched/sched.h\n\nThey are used internally only.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A78E.7040609@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "5e6521eaa1ee581a13b904f35b80c5efeb2baccb",
      "tree": "4a8e82ba57da872636ff432edc036914163249e5",
      "parents": [
        "cc1f4b1f3faed9f2040eff2a75f510b424b3cf18"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:06:23 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:31 2013 +0100"
      },
      "message": "sched: Move struct sched_group to kernel/sched/sched.h\n\nMove struct sched_group_power and sched_group and related inline\nfunctions to kernel/sched/sched.h, as they are used internally\nonly.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A77F.2010705@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cc1f4b1f3faed9f2040eff2a75f510b424b3cf18",
      "tree": "c894d67bfca2ff5aebf09cc1f3cc8b0f8f88ddd6",
      "parents": [
        "090b582f27ac7b6714661020033160130e5297bd"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizefan@huawei.com",
        "time": "Tue Mar 05 16:06:09 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Mar 06 11:24:30 2013 +0100"
      },
      "message": "sched: Move SCHED_LOAD_SHIFT macros to kernel/sched/sched.h\n\nThey are used internally only.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/5135A771.4070104@huawei.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "ee89f81252179dcbf6cd65bd48299f5e52292d88",
      "tree": "805846cd12821f84cfe619d44c9e3e36e0b0f9e6",
      "parents": [
        "21f3b24da9328415792efc780f50b9f434c12465",
        "de33127d8d3f1d570aad8c2223cd81b206636bc1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 28 12:52:24 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 28 12:52:24 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9/core\u0027 of git://git.kernel.dk/linux-block\n\nPull block IO core bits from Jens Axboe:\n \"Below are the core block IO bits for 3.9.  It was delayed a few days\n  since my workstation kept crashing every 2-8h after pulling it into\n  current -git, but turns out it is a bug in the new pstate code (divide\n  by zero, will report separately).  In any case, it contains:\n\n   - The big cfq/blkcg update from Tejun and and Vivek.\n\n   - Additional block and writeback tracepoints from Tejun.\n\n   - Improvement of the should sort (based on queues) logic in the plug\n     flushing.\n\n   - _io() variants of the wait_for_completion() interface, using\n     io_schedule() instead of schedule() to contribute to io wait\n     properly.\n\n   - Various little fixes.\n\n  You\u0027ll get two trivial merge conflicts, which should be easy enough to\n  fix up\"\n\nFix up the trivial conflicts due to hlist traversal cleanups (commit\nb67bfe0d42ca: \"hlist: drop the node parameter from iterators\").\n\n* \u0027for-3.9/core\u0027 of git://git.kernel.dk/linux-block: (39 commits)\n  block: remove redundant check to bd_openers()\n  block: use i_size_write() in bd_set_size()\n  cfq: fix lock imbalance with failed allocations\n  drivers/block/swim3.c: fix null pointer dereference\n  block: don\u0027t select PERCPU_RWSEM\n  block: account iowait time when waiting for completion of IO request\n  sched: add wait_for_completion_io[_timeout]\n  writeback: add more tracepoints\n  block: add block_{touch|dirty}_buffer tracepoint\n  buffer: make touch_buffer() an exported function\n  block: add @req to bio_{front|back}_merge tracepoints\n  block: add missing block_bio_complete() tracepoint\n  block: Remove should_sort judgement when flush blk_plug\n  block,elevator: use new hashtable implementation\n  cfq-iosched: add hierarchical cfq_group statistics\n  cfq-iosched: collect stats from dead cfqgs\n  cfq-iosched: separate out cfqg_stats_reset() from cfq_pd_reset_stats()\n  blkcg: make blkcg_print_blkgs() grab q locks instead of blkcg lock\n  block: RCU free request_queue\n  blkcg: implement blkg_[rw]stat_recursive_sum() and blkg_[rw]stat_merge()\n  ...\n"
    },
    {
      "commit": "b67bfe0d42cac56c512dd5da4b1b347a23f4b70a",
      "tree": "3d465aea12b97683f26ffa38eba8744469de9997",
      "parents": [
        "1e142b29e210b5dfb2deeb6ce2210b60af16d2a6"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Feb 27 17:06:00 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 27 19:10:24 2013 -0800"
      },
      "message": "hlist: drop the node parameter from iterators\n\nI\u0027m not sure why, but the hlist for each entry iterators were conceived\n\n        list_for_each_entry(pos, head, member)\n\nThe hlist ones were greedy and wanted an extra parameter:\n\n        hlist_for_each_entry(tpos, pos, head, member)\n\nWhy did they need an extra pos parameter? I\u0027m not quite sure. Not only\nthey don\u0027t really need it, it also prevents the iterator from looking\nexactly like the list iterator, which is unfortunate.\n\nBesides the semantic patch, there was some manual work required:\n\n - Fix up the actual hlist iterators in linux/list.h\n - Fix up the declaration of other iterators based on the hlist ones.\n - A very small amount of places were using the \u0027node\u0027 parameter, this\n was modified to use \u0027obj-\u003emember\u0027 instead.\n - Coccinelle didn\u0027t handle the hlist_for_each_entry_safe iterator\n properly, so those had to be fixed up manually.\n\nThe semantic patch which is mostly the work of Peter Senna Tschudin is here:\n\n@@\niterator name hlist_for_each_entry, hlist_for_each_entry_continue, hlist_for_each_entry_from, hlist_for_each_entry_rcu, hlist_for_each_entry_rcu_bh, hlist_for_each_entry_continue_rcu_bh, for_each_busy_worker, ax25_uid_for_each, ax25_for_each, inet_bind_bucket_for_each, sctp_for_each_hentry, sk_for_each, sk_for_each_rcu, sk_for_each_from, sk_for_each_safe, sk_for_each_bound, hlist_for_each_entry_safe, hlist_for_each_entry_continue_rcu, nr_neigh_for_each, nr_neigh_for_each_safe, nr_node_for_each, nr_node_for_each_safe, for_each_gfn_indirect_valid_sp, for_each_gfn_sp, for_each_host;\n\ntype T;\nexpression a,c,d,e;\nidentifier b;\nstatement S;\n@@\n\n-T b;\n    \u003c+... when !\u003d b\n(\nhlist_for_each_entry(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue(a,\n- b,\nc) S\n|\nhlist_for_each_entry_from(a,\n- b,\nc) S\n|\nhlist_for_each_entry_rcu(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_rcu_bh(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue_rcu_bh(a,\n- b,\nc) S\n|\nfor_each_busy_worker(a, c,\n- b,\nd) S\n|\nax25_uid_for_each(a,\n- b,\nc) S\n|\nax25_for_each(a,\n- b,\nc) S\n|\ninet_bind_bucket_for_each(a,\n- b,\nc) S\n|\nsctp_for_each_hentry(a,\n- b,\nc) S\n|\nsk_for_each(a,\n- b,\nc) S\n|\nsk_for_each_rcu(a,\n- b,\nc) S\n|\nsk_for_each_from\n-(a, b)\n+(a)\nS\n+ sk_for_each_from(a) S\n|\nsk_for_each_safe(a,\n- b,\nc, d) S\n|\nsk_for_each_bound(a,\n- b,\nc) S\n|\nhlist_for_each_entry_safe(a,\n- b,\nc, d, e) S\n|\nhlist_for_each_entry_continue_rcu(a,\n- b,\nc) S\n|\nnr_neigh_for_each(a,\n- b,\nc) S\n|\nnr_neigh_for_each_safe(a,\n- b,\nc, d) S\n|\nnr_node_for_each(a,\n- b,\nc) S\n|\nnr_node_for_each_safe(a,\n- b,\nc, d) S\n|\n- for_each_gfn_sp(a, c, d, b) S\n+ for_each_gfn_sp(a, c, d) S\n|\n- for_each_gfn_indirect_valid_sp(a, c, d, b) S\n+ for_each_gfn_indirect_valid_sp(a, c, d) S\n|\nfor_each_host(a,\n- b,\nc) S\n|\nfor_each_host_safe(a,\n- b,\nc, d) S\n|\nfor_each_mesh_entry(a,\n- b,\nc, d) S\n)\n    ...+\u003e\n\n[akpm@linux-foundation.org: drop bogus change from net/ipv4/raw.c]\n[akpm@linux-foundation.org: drop bogus hunk from net/ipv6/raw.c]\n[akpm@linux-foundation.org: checkpatch fixes]\n[akpm@linux-foundation.org: fix warnings]\n[akpm@linux-foudnation.org: redo intrusive kvm changes]\nTested-by: Peter Senna Tschudin \u003cpeter.senna@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcad0fceae528e8007610308bad7e5a3370e5c39",
      "tree": "1af69697e0988e8dbdf42d915508bd58a1887b4f",
      "parents": [
        "f8ef15d6b9d8e38729cd740a43919adf88468119",
        "7f6575f1fb963d5231afbceecd3feadb6ab58cd3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 26 19:42:08 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 26 19:42:08 2013 -0800"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler fixes from Ingo Molnar.\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  cputime: Use local_clock() for full dynticks cputime accounting\n  cputime: Constify timeval_to_cputime(timeval) argument\n  sched: Move RR_TIMESLICE from sysctl.h to rt.h\n  sched: Fix /proc/sched_debug failure on very very large systems\n  sched: Fix /proc/sched_stat failure on very very large systems\n  sched/core: Remove the obsolete and unused nr_uninterruptible() function\n"
    },
    {
      "commit": "9043a2650cd21f96f831a97f516c2c302e21fb70",
      "tree": "926720afb0acc7bad8cfcae537dc58de552f9249",
      "parents": [
        "ab7826595e9ec51a51f622c5fc91e2f59440481a",
        "d9d8d7ed498ec65bea72dd24be7b9cd35af0c200"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 25 15:41:43 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 25 15:41:43 2013 -0800"
      },
      "message": "Merge tag \u0027modules-next-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux\n\nPull module update from Rusty Russell:\n \"The sweeping change is to make add_taint() explicitly indicate whether\n  to disable lockdep, but it\u0027s a mechanical change.\"\n\n* tag \u0027modules-next-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:\n  MODSIGN: Add option to not sign modules during modules_install\n  MODSIGN: Add -s \u003csignature\u003e option to sign-file\n  MODSIGN: Specify the hash algorithm on sign-file command line\n  MODSIGN: Simplify Makefile with a Kconfig helper\n  module: clean up load_module a little more.\n  modpost: Ignore ARC specific non-alloc sections\n  module: constify within_module_*\n  taint: add explicit flag to show whether lock dep is still OK.\n  module: printk message when module signature fail taints kernel.\n"
    },
    {
      "commit": "89f883372fa60f604d136924baf3e89ff1870e9e",
      "tree": "cb69b0a14957945ba00d3d392bf9ccbbef56f3b8",
      "parents": [
        "9e2d59ad580d590134285f361a0e80f0e98c0207",
        "6b73a96065e89dc9fa75ba4f78b1aa3a3bbd0470"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 24 13:07:18 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 24 13:07:18 2013 -0800"
      },
      "message": "Merge tag \u0027kvm-3.9-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Marcelo Tosatti:\n \"KVM updates for the 3.9 merge window, including x86 real mode\n  emulation fixes, stronger memory slot interface restrictions, mmu_lock\n  spinlock hold time reduction, improved handling of large page faults\n  on shadow, initial APICv HW acceleration support, s390 channel IO\n  based virtio, amongst others\"\n\n* tag \u0027kvm-3.9-1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (143 commits)\n  Revert \"KVM: MMU: lazily drop large spte\"\n  x86: pvclock kvm: align allocation size to page size\n  KVM: nVMX: Remove redundant get_vmcs12 from nested_vmx_exit_handled_msr\n  x86 emulator: fix parity calculation for AAD instruction\n  KVM: PPC: BookE: Handle alignment interrupts\n  booke: Added DBCR4 SPR number\n  KVM: PPC: booke: Allow multiple exception types\n  KVM: PPC: booke: use vcpu reference from thread_struct\n  KVM: Remove user_alloc from struct kvm_memory_slot\n  KVM: VMX: disable apicv by default\n  KVM: s390: Fix handling of iscs.\n  KVM: MMU: cleanup __direct_map\n  KVM: MMU: remove pt_access in mmu_set_spte\n  KVM: MMU: cleanup mapping-level\n  KVM: MMU: lazily drop large spte\n  KVM: VMX: cleanup vmx_set_cr0().\n  KVM: VMX: add missing exit names to VMX_EXIT_REASONS array\n  KVM: VMX: disable SMEP feature when guest is in non-paging mode\n  KVM: Remove duplicate text in api.txt\n  Revert \"KVM: MMU: split kvm_mmu_free_page\"\n  ...\n"
    },
    {
      "commit": "7f6575f1fb963d5231afbceecd3feadb6ab58cd3",
      "tree": "b66acd09037319c1489e97e78f44b5dcdafda523",
      "parents": [
        "c78a4bcd1a879b39fb7646c887b0c195f1018909"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Feb 23 17:28:45 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Feb 24 12:57:16 2013 +0100"
      },
      "message": "cputime: Use local_clock() for full dynticks cputime accounting\n\nRunning the full dynticks cputime accounting with preemptible\nkernel debugging trigger the following warning:\n\n\t[    4.488303] BUG: using smp_processor_id() in preemptible [00000000] code: init/1\n\t[    4.490971] caller is native_sched_clock+0x22/0x80\n\t[    4.493663] Pid: 1, comm: init Not tainted 3.8.0+ #13\n\t[    4.496376] Call Trace:\n\t[    4.498996]  [\u003cffffffff813410eb\u003e] debug_smp_processor_id+0xdb/0xf0\n\t[    4.501716]  [\u003cffffffff8101e642\u003e] native_sched_clock+0x22/0x80\n\t[    4.504434]  [\u003cffffffff8101db99\u003e] sched_clock+0x9/0x10\n\t[    4.507185]  [\u003cffffffff81096ccd\u003e] fetch_task_cputime+0xad/0x120\n\t[    4.509916]  [\u003cffffffff81096dd5\u003e] task_cputime+0x35/0x60\n\t[    4.512622]  [\u003cffffffff810f146e\u003e] acct_update_integrals+0x1e/0x40\n\t[    4.515372]  [\u003cffffffff8117d2cf\u003e] do_execve_common+0x4ff/0x5c0\n\t[    4.518117]  [\u003cffffffff8117cf14\u003e] ? do_execve_common+0x144/0x5c0\n\t[    4.520844]  [\u003cffffffff81867a10\u003e] ? rest_init+0x160/0x160\n\t[    4.523554]  [\u003cffffffff8117d457\u003e] do_execve+0x37/0x40\n\t[    4.526276]  [\u003cffffffff810021a3\u003e] run_init_process+0x23/0x30\n\t[    4.528953]  [\u003cffffffff81867aac\u003e] kernel_init+0x9c/0xf0\n\t[    4.531608]  [\u003cffffffff8188356c\u003e] ret_from_fork+0x7c/0xb0\n\nWe use sched_clock() to perform and fixup the cputime\naccounting. However we are calling it with preemption enabled\nfrom the read side, which trigger the bug above.\n\nTo fix this up, use local_clock() instead. It takes care of\npreemption and also provide a more reliable clock source. This\nis welcome for this kind of statistic that is widely relied on\nin userspace.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSuggested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Kevin Hilman \u003ckhilman@linaro.org\u003e\nLink: http://lkml.kernel.org/r/1361636925-22288-3-git-send-email-fweisbec@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "aa00d89c2780d72d082a015e8cbb751e65fb30ee",
      "tree": "a326cbf62ab21d76af7c82c0038a985db77e69b1",
      "parents": [
        "e13fe8695c57fed678877a9f3f8e99fc637ff4fb"
      ],
      "author": {
        "name": "Tang Chen",
        "email": "tangchen@cn.fujitsu.com",
        "time": "Fri Feb 22 16:33:33 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 23 17:50:13 2013 -0800"
      },
      "message": "sched: do not use cpu_to_node() to find an offlined cpu\u0027s node.\n\nIf a cpu is offline, its nid will be set to -1, and cpu_to_node(cpu)\nwill return -1.  As a result, cpumask_of_node(nid) will return NULL.  In\nthis case, find_next_bit() in for_each_cpu will get a NULL pointer and\ncause panic.\n\nHere is a call trace:\n  Call Trace:\n   \u003cIRQ\u003e\n    select_fallback_rq+0x71/0x190\n    try_to_wake_up+0x2cb/0x2f0\n    wake_up_process+0x15/0x20\n    hrtimer_wakeup+0x22/0x30\n    __run_hrtimer+0x83/0x320\n    hrtimer_interrupt+0x106/0x280\n    smp_apic_timer_interrupt+0x69/0x99\n    apic_timer_interrupt+0x6f/0x80\n\nThere is a hrtimer process sleeping, whose cpu has already been\nofflined.  When it is waken up, it tries to find another cpu to run, and\nget a -1 nid.  As a result, cpumask_of_node(-1) returns NULL, and causes\nernel panic.\n\nThis patch fixes this problem by judging if the nid is -1.  If nid is\nnot -1, a cpu on the same node will be picked.  Else, a online cpu on\nanother node will be picked.\n\nSigned-off-by: Tang Chen \u003ctangchen@cn.fujitsu.com\u003e\nSigned-off-by: Wen Congyang \u003cwency@cn.fujitsu.com\u003e\nCc: Yasuaki Ishimatsu \u003cisimatu.yasuaki@jp.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Jiang Liu \u003cliuj97@gmail.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bbbfeac92beff40eb86c7f682a7f1395f9f0ae52",
      "tree": "80a9f7d32d7a9a7898349c6e6ca88a1a7c1edf13",
      "parents": [
        "cb152ff26717961b10d0888cd983ba284cb99cd1"
      ],
      "author": {
        "name": "Nathan Zimmer",
        "email": "nzimmer@sgi.com",
        "time": "Thu Feb 21 15:15:09 2013 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Feb 22 10:27:25 2013 +0100"
      },
      "message": "sched: Fix /proc/sched_debug failure on very very large systems\n\nOn systems with 4096 cores attemping to read /proc/sched_debug\nfails because we are trying to push all the data into a single\nkmalloc buffer.\n\nThe issue is on these very large machines all the data will not\nfit in 4mb.\n\nA better solution is to not us the single_open mechanism but to\nprovide our own seq_operations and treat each cpu as an\nindividual record.\n\nThe output should be identical to the previous version.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Nathan Zimmer \u003cnzimmer@sgi.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e)\n[ Whitespace fixlet]\n[ Fix spello in comment]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cb152ff26717961b10d0888cd983ba284cb99cd1",
      "tree": "fa23de9f176321a54e60529e21389f1ac930bc30",
      "parents": [
        "1c3e826482ab698e418c7a894440e62c76aac893"
      ],
      "author": {
        "name": "Nathan Zimmer",
        "email": "nzimmer@sgi.com",
        "time": "Thu Feb 21 15:15:08 2013 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Feb 22 10:27:24 2013 +0100"
      },
      "message": "sched: Fix /proc/sched_stat failure on very very large systems\n\nOn systems with 4096 cores doing a cat /proc/sched_stat fails,\nbecause we are trying to push all the data into a single kmalloc\nbuffer.\n\nThe issue is on these very large machines all the data will not\nfit in 4mb.\n\nA better solution is to not use the single_open() mechanism but\nto provide our own seq_operations.\n\nThe output should be identical to previous version and thus not\nneed the version number.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Nathan Zimmer \u003cnzimmer@sgi.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n[ Fix memleak]\n[ Fix spello in comment]\n[ Fix warnings]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "502b24c23b44fbaa01cc2cbd86d8035845b7811f",
      "tree": "3096deeb99f6acc2d72ee33f145008ec5e2c68b3",
      "parents": [
        "ece8e0b2f9c980e5511fe8db2d68c6f1859b9d83",
        "f169007b2773f285e098cb84c74aac0154d65ff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:16:21 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 20 09:16:21 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"Nothing too drastic.\n\n   - Removal of synchronize_rcu() from userland visible paths.\n\n   - Various fixes and cleanups from Li.\n\n   - cgroup_rightmost_descendant() added which will be used by cpuset\n     changes (it will be a separate pull request).\"\n\n* \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: fail if monitored file and event_control are in different cgroup\n  cgroup: fix cgroup_rmdir() vs close(eventfd) race\n  cpuset: fix cpuset_print_task_mems_allowed() vs rename() race\n  cgroup: fix exit() vs rmdir() race\n  cgroup: remove bogus comments in cgroup_diput()\n  cgroup: remove synchronize_rcu() from cgroup_diput()\n  cgroup: remove duplicate RCU free on struct cgroup\n  sched: remove redundant NULL cgroup check in task_group_path()\n  sched: split out css_online/css_offline from tg creation/destruction\n  cgroup: initialize cgrp-\u003edentry before css_alloc()\n  cgroup: remove a NULL check in cgroup_exit()\n  cgroup: fix bogus kernel warnings when cgroup_create() failed\n  cgroup: remove synchronize_rcu() from rebind_subsystems()\n  cgroup: remove synchronize_rcu() from cgroup_attach_{task|proc}()\n  cgroup: use new hashtable implementation\n  cgroups: fix cgroup_event_listener error handling\n  cgroups: move cgroup_event_listener.c to tools/cgroup\n  cgroup: implement cgroup_rightmost_descendant()\n  cgroup: remove unused dummy cgroup_fork_callbacks()\n"
    },
    {
      "commit": "1c3e826482ab698e418c7a894440e62c76aac893",
      "tree": "308b6ec83faaf1185c937ef4d2a5387bef00ff99",
      "parents": [
        "ece8e0b2f9c980e5511fe8db2d68c6f1859b9d83"
      ],
      "author": {
        "name": "Sha Zhengju",
        "email": "handai.szj@taobao.com",
        "time": "Wed Feb 20 17:14:38 2013 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed Feb 20 11:39:24 2013 +0100"
      },
      "message": "sched/core: Remove the obsolete and unused nr_uninterruptible() function\n\nSigned-off-by: Sha Zhengju \u003chandai.szj@taobao.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1361351678-8065-1-git-send-email-handai.szj@taobao.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "67cb104b4c30bd52292b6a7f526349aab2dd5cbd",
      "tree": "b7d2659f9c7bfe676016680339c0ffe47ef29afd",
      "parents": [
        "1eaec8212e35aef6606a4e8b40aa9ad9ba87672a",
        "1438ade5670b56d5386c220e1ad4b5a824a1e585"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 22:01:33 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 22:01:33 2013 -0800"
      },
      "message": "Merge branch \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue changes from Tejun Heo:\n \"A lot of reorganization is going on mostly to prepare for worker pools\n  with custom attributes so that workqueue can replace custom pool\n  implementations in places including writeback and btrfs and make CPU\n  assignment in crypto more flexible.\n\n  workqueue evolved from purely per-cpu design and implementation, so\n  there are a lot of assumptions regarding being bound to CPUs and even\n  unbound workqueues are implemented as an extension of the model -\n  workqueues running on the special unbound CPU.  Bulk of changes this\n  round are about promoting worker_pools as the top level abstraction\n  replacing global_cwq (global cpu workqueue).  At this point, I\u0027m\n  fairly confident about getting custom worker pools working pretty soon\n  and ready for the next merge window.\n\n  Lai\u0027s patches are replacing the convoluted mb() dancing workqueue has\n  been doing with much simpler mechanism which only depends on\n  assignment atomicity of long.  For details, please read the commit\n  message of 0b3dae68ac (\"workqueue: simplify is-work-item-queued-here\n  test\").  While the change ends up adding one pointer to struct\n  delayed_work, the inflation in percentage is less than five percent\n  and it decouples delayed_work logic a lot more cleaner from usual work\n  handling, removes the unusual memory barrier dancing, and allows for\n  further simplification, so I think the trade-off is acceptable.\n\n  There will be two more workqueue related pull requests and there are\n  some shared commits among them.  I\u0027ll write further pull requests\n  assuming this pull request is pulled first.\"\n\n* \u0027for-3.9\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (37 commits)\n  workqueue: un-GPL function delayed_work_timer_fn()\n  workqueue: rename cpu_workqueue to pool_workqueue\n  workqueue: reimplement is_chained_work() using current_wq_worker()\n  workqueue: fix is_chained_work() regression\n  workqueue: pick cwq instead of pool in __queue_work()\n  workqueue: make get_work_pool_id() cheaper\n  workqueue: move nr_running into worker_pool\n  workqueue: cosmetic update in try_to_grab_pending()\n  workqueue: simplify is-work-item-queued-here test\n  workqueue: make work-\u003edata point to pool after try_to_grab_pending()\n  workqueue: add delayed_work-\u003ewq to simplify reentrancy handling\n  workqueue: make work_busy() test WORK_STRUCT_PENDING first\n  workqueue: replace WORK_CPU_NONE/LAST with WORK_CPU_END\n  workqueue: post global_cwq removal cleanups\n  workqueue: rename nr_running variables\n  workqueue: remove global_cwq\n  workqueue: remove worker_pool-\u003egcwq\n  workqueue: replace for_each_worker_pool() with for_each_std_worker_pool()\n  workqueue: make freezing/thawing per-pool\n  workqueue: make hotplug processing per-pool\n  ...\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": "cdc4e86b58a95005ef500916b4a8e91a0037a822",
      "tree": "208e5eaf42c25fae3dfe5d086687c2a2fa30418b",
      "parents": [
        "993db4b45fd99949d8f6e004a7744b523dca473a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 15 23:47:07 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Feb 19 08:05:53 2013 +0100"
      },
      "message": "cputime: Remove irqsave from seqlock readers\n\nThe reader side code has no requirement to disable interrupts while\nsampling data. The sequence counter is enough to ensure consistency.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "686855f5d833178e518d79e7912cdb3268a9fa69",
      "tree": "2adae2efee0d3ae072084806231a5d0fd9e2b262",
      "parents": [
        "9fb0a7da0c528d9bd49b597aa63b1fe2216c7203"
      ],
      "author": {
        "name": "Vladimir Davydov",
        "email": "vdavydov@parallels.com",
        "time": "Thu Feb 14 18:19:58 2013 +0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Fri Feb 15 16:45:06 2013 +0100"
      },
      "message": "sched: add wait_for_completion_io[_timeout]\n\nThe only difference between wait_for_completion[_timeout]() and\nwait_for_completion_io[_timeout]() is that the latter calls\nio_schedule_timeout() instead of schedule_timeout() so that the caller\nis accounted as waiting for IO, not just sleeping.\n\nThese functions can be used for correct iowait time accounting when the\ncompletion struct is actually used for waiting for IO (e.g. completion\nof a bio request in the block layer).\n\nSigned-off-by: Vladimir Davydov \u003cvdavydov@parallels.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "8bd75c77b7c6a3954140dd2e20346aef3efe4a35",
      "tree": "10e0d451a58aeb6c8f48b871a848276bf3a8a359",
      "parents": [
        "ce0dbbbb30aee6a835511d5be446462388ba9eee"
      ],
      "author": {
        "name": "Clark Williams",
        "email": "williams@redhat.com",
        "time": "Thu Feb 07 09:47:07 2013 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Feb 07 20:51:08 2013 +0100"
      },
      "message": "sched/rt: Move rt specific bits into new header file\n\nMove rt scheduler definitions out of include/linux/sched.h into\nnew file include/linux/sched/rt.h\n\nSigned-off-by: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20130207094707.7b9f825f@riff.lan\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "ce0dbbbb30aee6a835511d5be446462388ba9eee",
      "tree": "c3d4d6f64a0fe7eec9283f4413d111a8d37d7053",
      "parents": [
        "cf4aebc292fac7f34f8345664320e9d4a42ca76c"
      ],
      "author": {
        "name": "Clark Williams",
        "email": "williams@redhat.com",
        "time": "Thu Feb 07 09:47:04 2013 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Feb 07 20:51:07 2013 +0100"
      },
      "message": "sched/rt: Add a tuning knob to allow changing SCHED_RR timeslice\n\nAdd a /proc/sys/kernel scheduler knob named\nsched_rr_timeslice_ms that allows global changing of the\nSCHED_RR timeslice value. User visable value is in milliseconds\nbut is stored as jiffies.  Setting to 0 (zero) resets to the\ndefault (currently 100ms).\n\nSigned-off-by: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20130207094704.13751796@riff.lan\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cf4aebc292fac7f34f8345664320e9d4a42ca76c",
      "tree": "6eceb9bb2d8382c4499366a8fee060688aad6107",
      "parents": [
        "b2c77a57e4a0a7877e357dead7ee8acc19944f3e"
      ],
      "author": {
        "name": "Clark Williams",
        "email": "williams@redhat.com",
        "time": "Thu Feb 07 09:46:59 2013 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Feb 07 20:50:54 2013 +0100"
      },
      "message": "sched: Move sched.h sysctl bits into separate header\n\nMove the sysctl-related bits from include/linux/sched.h into\na new file: include/linux/sched/sysctl.h. Then update source\nfiles requiring access to those bits by including the new\nheader file.\n\nSigned-off-by: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20130207094659.06dced96@riff.lan\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b2c77a57e4a0a7877e357dead7ee8acc19944f3e",
      "tree": "fa192b5a058711299c2a8ce2621df6c9bd8f3a99",
      "parents": [
        "c3c186403c6abd32e719f005f0af950155a9e54d",
        "6a61671bb2f3a1bd12cd17b8fca811a624782632"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Feb 05 13:10:33 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Feb 05 13:10:33 2013 +0100"
      },
      "message": "Merge tag \u0027full-dynticks-cputime-for-mingo\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into sched/core\n\nPull full-dynticks (user-space execution is undisturbed and\nreceives no timer IRQs) preparation changes that convert the\ncputime accounting code to be full-dynticks ready,\nfrom Frederic Weisbecker:\n\n \"This implements the cputime accounting on full dynticks CPUs.\n\n  Typical cputime stats infrastructure relies on the timer tick and\n  its periodic polling on the CPU to account the amount of time\n  spent by the CPUs and the tasks per high level domains such as\n  userspace, kernelspace, guest, ...\n\n  Now we are preparing to implement full dynticks capability on\n  Linux for Real Time and HPC users who want full CPU isolation.\n  This feature requires a cputime accounting that doesn\u0027t depend\n  on the timer tick.\n\n  To implement it, this new cputime infrastructure plugs into\n  kernel/user/guest boundaries to take snapshots of cputime and\n  flush these to the stats when needed. This performs pretty\n  much like CONFIG_VIRT_CPU_ACCOUNTING except that context location\n  and cputime snaphots are synchronized between write and read\n  side such that the latter can safely retrieve the pending tickless\n  cputime of a task and add it to its latest cputime snapshot to\n  return the correct result to the user.\"\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c3c186403c6abd32e719f005f0af950155a9e54d",
      "tree": "76b0b2bc308c24d0e8b3729993de548fdf4a42aa",
      "parents": [
        "e0a79f529d5ba2507486d498b25da40911d95cf6"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Feb 05 14:37:51 2013 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Tue Feb 05 12:59:29 2013 +0100"
      },
      "message": "sched: Fix signedness bug in yield_to()\n\nIn 7b270f6099 \"sched: Bail out of yield_to when source and\ntarget runqueue has one task\" we changed this to store -ESRCH so\nit needs to be signed.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: kbuild@01.org\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLink: http://lkml.kernel.org/r/20130205113751.GA20521@elgon.mountain\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "e0a79f529d5ba2507486d498b25da40911d95cf6",
      "tree": "469947cd4407877ba69aa474cdfed0f2bda61d92",
      "parents": [
        "60334caf37dc7c59120b21faa625534a6fffead0"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "bitbucket@online.de",
        "time": "Mon Jan 28 12:19:25 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Feb 04 20:07:24 2013 +0100"
      },
      "message": "sched: Fix select_idle_sibling() bouncing cow syndrome\n\nIf the previous CPU is cache affine and idle, select it.\n\nThe current implementation simply traverses the sd_llc domain,\ntaking the first idle CPU encountered, which walks buddy pairs\nhand in hand over the package, inflicting excruciating pain.\n\n1 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\nSigned-off-by: Mike Galbraith \u003cbitbucket@online.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1359371965.5783.127.camel@marge.simpson.net\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "60334caf37dc7c59120b21faa625534a6fffead0",
      "tree": "be8e95b454f5e24334a9b8e280ea4fe25f330d61",
      "parents": [
        "fc79e240be5aa379dd36a62158be5a5ee0e4aec7"
      ],
      "author": {
        "name": "Kirill Tkhai",
        "email": "tkhai@yandex.ru",
        "time": "Thu Jan 31 18:56:17 2013 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Feb 03 19:54:58 2013 +0100"
      },
      "message": "sched/rt: Further simplify pick_rt_task()\n\nFunction next_prio() has been removed and pull_rt_task() is the\nonly user of pick_next_highest_task_rt() at the moment.\n\npull_rt_task is not interested in p-\u003enr_cpus_allowed, its only\ninterest is the fact that cpu is allowed to execute p. If\nnr_cpus_allowed \u003d\u003d 1, cpu !\u003d task_cpu(p) and cpu is allowed then\nit means that task p is in the middle of the migration\ntechniques; the task waits until it is moved by migration\nthread. So, lets pull it earlier.\n\nSigned-off-by: Kirill V Tkhai \u003ctkhai@yandex.ru\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCC: linux-rt-users \u003clinux-rt-users@vger.kernel.org\u003e\nLink: http://lkml.kernel.org/r/70871359644177@web16d.yandex.ru\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "fc79e240be5aa379dd36a62158be5a5ee0e4aec7",
      "tree": "84e29ffa57509f586aff6a31ed0b0461f830fdaa",
      "parents": [
        "62188451f0d63add7ad0cd2a1ae269d600c1663d"
      ],
      "author": {
        "name": "Kirill Tkhai",
        "email": "tkhai@yandex.ru",
        "time": "Wed Jan 30 16:50:36 2013 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jan 31 10:31:13 2013 +0100"
      },
      "message": "sched/rt: Do not account zero delta_exec in update_curr_rt()\n\nThere are several places of consecutive calls of\ndequeue_task_rt() and put_prev_task_rt() in the scheduler.\nFor example, function rt_mutex_setprio() does it.\n\nThe both calls lead to update_curr_rt(), the second of it\nreceives zeroed delta_exec. The only effective action in this\ncase is call of sched_rt_avg_update(), which can change\nrq-\u003eage_stamp and rq-\u003ert_avg. But it is possible in case of\n\"\"floating\"\" rq-\u003eclock. This fact is not reasonable to be\naccounted. Another actions do nothing.\n\nSigned-off-by: Kirill V Tkhai \u003ctkhai@yandex.ru\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCC: linux-rt-users \u003clinux-rt-users@vger.kernel.org\u003e\nLink: http://lkml.kernel.org/r/931541359550236@web1g.yandex.ru\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7b270f609982f68f2433442bf167f735e7364b06",
      "tree": "07430a425125c1938fad3befc6debec667310ec4",
      "parents": [
        "c7c9c56ca26f7b9458711b2d78b60b60e0d38ba7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jan 22 13:09:13 2013 +0530"
      },
      "committer": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Jan 29 15:38:37 2013 +0200"
      },
      "message": "sched: Bail out of yield_to when source and target runqueue has one task\n\nIn case of undercomitted scenarios, especially in large guests\nyield_to overhead is significantly high. when run queue length of\nsource and target is one, take an opportunity to bail out and return\n-ESRCH. This return condition can be further exploited to quickly come\nout of PLE handler.\n\n(History: Raghavendra initially worked on break out of kvm ple handler upon\n seeing source runqueue length \u003d 1, but it had to export rq length).\n Peter came up with the elegant idea of return -ESRCH in scheduler core.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nRaghavendra, Checking the rq length of target vcpu condition added.(thanks Avi)\nReviewed-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nSigned-off-by: Raghavendra K T \u003craghavendra.kt@linux.vnet.ibm.com\u003e\nAcked-by: Andrew Jones \u003cdrjones@redhat.com\u003e\nTested-by: Chegu Vinod \u003cchegu_vinod@hp.com\u003e\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\n"
    },
    {
      "commit": "6a61671bb2f3a1bd12cd17b8fca811a624782632",
      "tree": "0afc2915fb7e517472710a49a524510322dd5baa",
      "parents": [
        "c11f11fcbdb5be790c565aed46411486a7586afc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 16 20:00:34 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 20:35:47 2013 +0100"
      },
      "message": "cputime: Safely read cputime of full dynticks CPUs\n\nWhile remotely reading the cputime of a task running in a\nfull dynticks CPU, the values stored in utime/stime fields\nof struct task_struct may be stale. Its values may be those\nof the last kernel \u003c-\u003e user transition time snapshot and\nwe need to add the tickless time spent since this snapshot.\n\nTo fix this, flush the cputime of the dynticks CPUs on\nkernel \u003c-\u003e user transition and record the time / context\nwhere we did this. Then on top of this snapshot and the current\ntime, perform the fixup on the reader side from task_times()\naccessors.\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[fixed kvm module related build errors]\nSigned-off-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\n"
    },
    {
      "commit": "c11f11fcbdb5be790c565aed46411486a7586afc",
      "tree": "56552d483192df72e9c2bbb4c3b976ba05740626",
      "parents": [
        "6fac4829ce0ef9b7f24369086ce5f0e9f38d37bc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Jan 21 00:50:22 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 20:35:40 2013 +0100"
      },
      "message": "kvm: Prepare to add generic guest entry/exit callbacks\n\nDo some ground preparatory work before adding guest_enter()\nand guest_exit() context tracking callbacks. Those will\nbe later used to read the guest cputime safely when we\nrun in full dynticks mode.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Li Zhong \u003czhong@linux.vnet.ibm.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.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": "6fac4829ce0ef9b7f24369086ce5f0e9f38d37bc",
      "tree": "44da712b66d778c2fd701f9c96b00e108530e1a9",
      "parents": [
        "3f4724ea85b7d9055a9976fa8f30b471bdfbca93"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 13 14:20:55 2012 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 19:23:31 2013 +0100"
      },
      "message": "cputime: Use accessors to read task cputime stats\n\nThis is in preparation for the full dynticks feature. While\nremotely reading the cputime of a task running in a full\ndynticks CPU, we\u0027ll need to do some extra-computation. This\nway we can account the time it spent tickless in userspace\nsince its last cputime snapshot.\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": "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": "abf917cd91cbb73952758f9741e2fa65002a48ee",
      "tree": "5f975b87615dcaed9c98bc74b4548d568b92dcbc",
      "parents": [
        "ae8dda5c473bf1a85913942adcaac449e5754bf3"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jul 25 07:56:04 2012 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 19:23:27 2013 +0100"
      },
      "message": "cputime: Generic on-demand virtual cputime accounting\n\nIf we want to stop the tick further idle, we need to be\nable to account the cputime without using the tick.\n\nVirtual based cputime accounting solves that problem by\nhooking into kernel/user boundaries.\n\nHowever implementing CONFIG_VIRT_CPU_ACCOUNTING require\nlow level hooks and involves more overhead. But we already\nhave a generic context tracking subsystem that is required\nfor RCU needs by archs which plan to shut down the tick\noutside idle.\n\nThis patch implements a generic virtual based cputime\naccounting that relies on these generic kernel/user hooks.\n\nThere are some upsides of doing this:\n\n- This requires no arch code to implement CONFIG_VIRT_CPU_ACCOUNTING\nif context tracking is already built (already necessary for RCU in full\ntickless mode).\n\n- We can rely on the generic context tracking subsystem to dynamically\n(de)activate the hooks, so that we can switch anytime between virtual\nand tick based accounting. This way we don\u0027t have the overhead\nof the virtual accounting when the tick is running periodically.\n\nAnd one downside:\n\n- There is probably more overhead than a native virtual based cputime\naccounting. But this relies on hooks that are already set anyway.\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": "ae8dda5c473bf1a85913942adcaac449e5754bf3",
      "tree": "7cb2d086198296ac862c4c96a627c3686af17842",
      "parents": [
        "39613766e8826756a4bf8c74274eb971c3c1d929"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jan 16 18:02:04 2013 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 27 19:23:25 2013 +0100"
      },
      "message": "cputime: Move default nsecs_to_cputime() to jiffies based cputime file\n\nIf the architecture doesn\u0027t provide an implementation of\nnsecs_to_cputime(), the cputime accounting core uses a\ndefault one that converts the nanoseconds to jiffies. However\nthis only makes sense if we use the jiffies based cputime.\n\nFor now it doesn\u0027t matter much because this API is only\ncalled on code that uses jiffies based cputime accounting.\n\nBut the code may evolve and this API may be used more\nbroadly in the future. Keeping this default implementation\naround is very error prone as it may introduce a bug and\nhide it on architectures that don\u0027t override this API.\n\nFix this by moving this definition to the jiffies based\ncputime headers as it is the only place where it belongs to.\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": "62188451f0d63add7ad0cd2a1ae269d600c1663d",
      "tree": "7ed03f5c0a4a10cdde5f72bb0c81a29f1667ce1d",
      "parents": [
        "57d2aa00dcec67afa52478730f2b524521af14fb"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 26 17:19:42 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sun Jan 27 14:04:44 2013 +0100"
      },
      "message": "cputime: Avoid multiplication overflow on utime scaling\n\nWe scale stime, utime values based on rtime (sum_exec_runtime\nconverted to jiffies). During scaling we multiple rtime * utime,\nwhich seems to be fine, since both values are converted to u64,\nbut it\u0027s not.\n\nLet assume HZ is 1000 - 1ms tick. Process consist of 64 threads,\nrun for 1 day, threads utilize 100% cpu on user space. Machine\nhas 64 cpus.\n\nProcess rtime \u003d utime will be 64 * 24 * 60 * 60 * 1000 jiffies,\nwhich is 0x149970000. Multiplication rtime * utime result is\n0x1a855771100000000, which can not be covered in 64 bits.\n\nResult of overflow is stall of utime values visible in user\nspace (prev_utime in kernel), even if application still consume\nlot of CPU time.\n\nA solution to solve this is to perform the multiplication on\nstime instead of utime. It\u0027s easy to grow the utime value fast\nwith a CPU bound thread in userspace for example. Now we assume\nthat doing so with stime is much harder. In most cases a task\nshouldn\u0027t ever spend much time in kernel space as it tends to\nsleep waiting for jobs completion when they take long to\nachieve. IO is the typical example of that.\n\nHence scaling the cputime by performing the multiplication on\nstime instead of utime should considerably reduce the chances of\nan overflow on most workloads.\n\nThis is largely inspired by a patch from Stanislaw Gruszka:\nhttp://lkml.kernel.org/r/20130107113144.GA7544@redhat.com\n\nInspired-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nReported-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nAcked-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1359217182-25184-1-git-send-email-fweisbec@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cff3c124a7e82ca0ea1d6864b27ef18c403c0773",
      "tree": "1edf50c211024b6ec2dc34dd592cbe2e4c9f5f81",
      "parents": [
        "38dc3348e36d6cbe6ad51d771e4db948cda5b0e3"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Jan 25 14:14:23 2013 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Jan 25 15:23:15 2013 +0100"
      },
      "message": "sched/debug: Fix format string for 32-bit platforms\n\nThe type returned from atomic64_t can be either unsigned\nlong or unsigned long long, depending on the architecture.\nUsing a cast to unsigned long long lets us use the same\nformat string for all architectures.\n\nWithout this patch, building with scheduler debugging\nenabled results in:\n\n  kernel/sched/debug.c: In function \u0027print_cfs_rq\u0027:\n  kernel/sched/debug.c:225:2: warning: format \u0027%ld\u0027 expects argument of type \u0027long int\u0027, but argument 4 has type \u0027long long int\u0027 [-Wformat]\n  kernel/sched/debug.c:225:2: warning: format \u0027%ld\u0027 expects argument of type \u0027long int\u0027, but argument 3 has type \u0027long long int\u0027 [-Wformat]\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: linux-arm-kernel@list.infradead.org\nLink: http://lkml.kernel.org/r/1359123276-15833-7-git-send-email-arnd@arndb.de\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    }
  ],
  "next": "38dc3348e36d6cbe6ad51d771e4db948cda5b0e3"
}
