)]}'
{
  "log": [
    {
      "commit": "f1c6f1a7eed963ed233ba4c8b6fa8addb86c6ddc",
      "tree": "06a00ecfe00ddadb282c88fb3408c158c08fd312",
      "parents": [
        "4a6184ce7a48c478dee0d8a9ed74c1fa35161858"
      ],
      "author": {
        "name": "Carsten Emde",
        "email": "C.Emde@osadl.org",
        "time": "Wed Oct 26 23:14:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:43 2011 +0100"
      },
      "message": "sched: Set the command name of the idle tasks in SMP kernels\n\nIn UP systems, the idle task is initialized using the init_task\nstructure from which the command name is taken (currently \"swapper\").\n\nIn SMP systems, one idle task per CPU is forked by the worker thread\nfrom which the task structure is copied. The command name is, therefore,\n\"kworker/0:0\" or \"kworker/0:1\", if not updated. Since such update was\nlacking, all idle tasks in SMP systems were incorrectly named. This\nlongtime bug was not discovered immediately, because there is no /proc/0\nentry - the bug only becomes apparent when tracing is enabled.\n\nThis patch sets the command name of the idle tasks in SMP systems to the\nname that is used in the INIT_TASK structure suffixed by a slash and the\nnumber of the CPU.\n\nSigned-off-by: Carsten Emde \u003cC.Emde@osadl.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111026211708.768925506@osadl.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6dc7f055d333ef35f397b8d7c3abcd1918bf8cb",
      "tree": "c4edc4a84ba9636057d923a308e2a3bcd910fa63",
      "parents": [
        "461819ac8ee950ce027c72a066156a3df9e60c7e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Oct 06 15:22:46 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 12:50:37 2011 +0100"
      },
      "message": "sched: Document wait_for_completion_*() return values\n\nThe return-value convention for these functions varies depending on\nwhether they\u0027re interruptible or can timeout.  It can be a little\nconfusing--document it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111006192246.GB28026@fieldses.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1197ab2942f920f261952de0c392ac749a35796b",
      "tree": "4922ccc8a6061e5ece6ac7420001f3bf4524ea92",
      "parents": [
        "ec773e99ab4abce07b1ae23117179c2861831964",
        "96cc017c5b7ec095ef047d3c1952b6b6bbf98943"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:12:03 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 17:12:03 2011 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (106 commits)\n  powerpc/p3060qds: Add support for P3060QDS board\n  powerpc/83xx: Add shutdown request support to MCU handling on MPC8349 MITX\n  powerpc/85xx: Make kexec to interate over online cpus\n  powerpc/fsl_booke: Fix comment in head_fsl_booke.S\n  powerpc/85xx: issue 15 EOI after core reset for FSL CoreNet devices\n  powerpc/8xxx: Fix interrupt handling in MPC8xxx GPIO driver\n  powerpc/85xx: Add \u0027fsl,pq3-gpio\u0027 compatiable for GPIO driver\n  powerpc/86xx: Correct Gianfar support for GE boards\n  powerpc/cpm: Clear muram before it is in use.\n  drivers/virt: add ioctl for 32-bit compat on 64-bit to fsl-hv-manager\n  powerpc/fsl_msi: add support for \"msi-address-64\" property\n  powerpc/85xx: Setup secondary cores PIR with hard SMP id\n  powerpc/fsl-booke: Fix settlbcam for 64-bit\n  powerpc/85xx: Adding DCSR node to dtsi device trees\n  powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards\n  powerpc/85xx: fix PHYS_64BIT selection for P1022DS\n  powerpc/fsl-booke: Fix setup_initial_memory_limit to not blindly map\n  powerpc: respect mem\u003d setting for early memory limit setup\n  powerpc: Update corenet64_smp_defconfig\n  powerpc: Update mpc85xx/corenet 32-bit defconfigs\n  ...\n\nFix up trivial conflicts in:\n - arch/powerpc/configs/40x/hcu4_defconfig\n\tremoved stale file, edited elsewhere\n - arch/powerpc/include/asm/udbg.h, arch/powerpc/kernel/udbg.c:\n\tadded opal and gelic drivers vs added ePAPR driver\n - drivers/tty/serial/8250.c\n\tmoved UPIO_TSI to powerpc vs removed UPIO_DWAPB support\n"
    },
    {
      "commit": "8a4a8918ed6e4a361f4df19f199bbc2d0a89a46c",
      "tree": "d76974986aaaa8549baf2d6a106fa6cb60d64b88",
      "parents": [
        "8686a0e200419322654a75155e2e6f80346a1297",
        "540f41edc15473ca3b2876de72646546ae101374"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:08:43 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:08:43 2011 +0200"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)\n  llist: Add back llist_add_batch() and llist_del_first() prototypes\n  sched: Don\u0027t use tasklist_lock for debug prints\n  sched: Warn on rt throttling\n  sched: Unify the -\u003ecpus_allowed mask copy\n  sched: Wrap scheduler p-\u003ecpus_allowed access\n  sched: Request for idle balance during nohz idle load balance\n  sched: Use resched IPI to kick off the nohz idle balance\n  sched: Fix idle_cpu()\n  llist: Remove cpu_relax() usage in cmpxchg loops\n  sched: Convert to struct llist\n  llist: Add llist_next()\n  irq_work: Use llist in the struct irq_work logic\n  llist: Return whether list is empty before adding in llist_add()\n  llist: Move cpu_relax() to after the cmpxchg()\n  llist: Remove the platform-dependent NMI checks\n  llist: Make some llist functions inline\n  sched, tracing: Show PREEMPT_ACTIVE state in trace_sched_switch\n  sched: Remove redundant test in check_preempt_tick()\n  sched: Add documentation for bandwidth control\n  sched: Return unused runtime on group dequeue\n  ...\n"
    },
    {
      "commit": "19b4a8d520a6e0176dd52aaa429261ad4fcaa545",
      "tree": "6dcf5a780718fc50b9cd79cc803daa7c7e080a02",
      "parents": [
        "3cfef9524677a4ecb392d6fbffe6ebce6302f1d4",
        "048b718029033af117870d3da47da12995be14a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:26:53 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 16:26:53 2011 +0200"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)\n  rcu: Move propagation of -\u003ecompleted from rcu_start_gp() to rcu_report_qs_rsp()\n  rcu: Remove rcu_needs_cpu_flush() to avoid false quiescent states\n  rcu: Wire up RCU_BOOST_PRIO for rcutree\n  rcu: Make rcu_torture_boost() exit loops at end of test\n  rcu: Make rcu_torture_fqs() exit loops at end of test\n  rcu: Permit rt_mutex_unlock() with irqs disabled\n  rcu: Avoid having just-onlined CPU resched itself when RCU is idle\n  rcu: Suppress NMI backtraces when stall ends before dump\n  rcu: Prohibit grace periods during early boot\n  rcu: Simplify unboosting checks\n  rcu: Prevent early boot set_need_resched() from __rcu_pending()\n  rcu: Dump local stack if cannot dump all CPUs\u0027 stacks\n  rcu: Move __rcu_read_unlock()\u0027s barrier() within if-statement\n  rcu: Improve rcu_assign_pointer() and RCU_INIT_POINTER() documentation\n  rcu: Make rcu_assign_pointer() unconditionally insert a memory barrier\n  rcu: Make rcu_implicit_dynticks_qs() locals be correct size\n  rcu: Eliminate in_irq() checks in rcu_enter_nohz()\n  nohz: Remove nohz_cpu_mask\n  rcu: Document interpretation of RCU-lockdep splats\n  rcu: Allow rcutorture\u0027s stat_interval parameter to be changed at runtime\n  ...\n"
    },
    {
      "commit": "59e52534172d845ebffb0d7e85fc56fb7b857051",
      "tree": "49552e03f1bdb413cd8b5f7542e91770688d7047",
      "parents": [
        "73692d9bb58ecc2fa73f4b2bfcf6eadaa6d49a26",
        "0d89e54c8249645404283436d952afc261a04e1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:11:02 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:11:02 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)\n  MAINTAINERS: linux-m32r is moderated for non-subscribers\n  linux@lists.openrisc.net is moderated for non-subscribers\n  Drop default from \"DM365 codec select\" choice\n  parisc: Kconfig: cleanup Kernel page size default\n  Kconfig: remove redundant CONFIG_ prefix on two symbols\n  cris: remove arch/cris/arch-v32/lib/nand_init.S\n  microblaze: add missing CONFIG_ prefixes\n  h8300: drop puzzling Kconfig dependencies\n  MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers\n  tty: drop superfluous dependency in Kconfig\n  ARM: mxc: fix Kconfig typo \u0027i.MX51\u0027\n  Fix file references in Kconfig files\n  aic7xxx: fix Kconfig references to READMEs\n  Fix file references in drivers/ide/\n  thinkpad_acpi: Fix printk typo \u0027bluestooth\u0027\n  bcmring: drop commented out line in Kconfig\n  btmrvl_sdio: fix typo \u0027btmrvl_sdio_sd6888\u0027\n  doc: raw1394: Trivial typo fix\n  CIFS: Don\u0027t free volume_info-\u003eUNC until we are entirely done with it.\n  treewide: Correct spelling of successfully in comments\n  ...\n"
    },
    {
      "commit": "510f5acc4f4fb07f3f075900dc468d6e380beff6",
      "tree": "4ecbc827da461c0a5c2ea41480ea42804fc63440",
      "parents": [
        "1c83437e80186832a9a48dbb6b8868d28e40e562"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 17 20:47:54 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:47:08 2011 +0200"
      },
      "message": "sched: Don\u0027t use tasklist_lock for debug prints\n\nAvoid taking locks from debug prints, this avoids latencies on -rt,\nand improves reliability of the debug code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4939602a2441306008c6dca38216b741d4e09a42",
      "tree": "e22218b6291c934944c8860dedb9f37ffd452ac4",
      "parents": [
        "fa17b507f142d37aeac322a95f6f7c6375f25601"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Sat Jun 25 15:45:46 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:47:00 2011 +0200"
      },
      "message": "sched: Unify the -\u003ecpus_allowed mask copy\n\nCurrently every sched_class::set_cpus_allowed() implementation has to\ncopy the cpumask into task_struct::cpus_allowed, this is pointless,\nput this copy in the generic code.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/n/tip-jhl5s9fckd9ptw1fzbqqlrd3@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa17b507f142d37aeac322a95f6f7c6375f25601",
      "tree": "5ff8b9d7087175aca85dff3393932fe9b5497425",
      "parents": [
        "6eb57e0d65ebd99a71d435dc96d83e725752eef8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jun 16 12:23:22 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:46:56 2011 +0200"
      },
      "message": "sched: Wrap scheduler p-\u003ecpus_allowed access\n\nThis task is preparatory for the migrate_disable() implementation, but\nstands on its own and provides a cleanup.\n\nIt currently only converts those sites required for task-placement.\nKosaki-san once mentioned replacing cpus_allowed with a proper\ncpumask_t instead of the NR_CPUS sized array it currently is, that\nwould also require something like this.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nLink: http://lkml.kernel.org/n/tip-e42skvaddos99psip0vce41o@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6eb57e0d65ebd99a71d435dc96d83e725752eef8",
      "tree": "0349de8e8478a9b39dd1c75d347c36b9ebbef24c",
      "parents": [
        "ca38062e57e97791c2f62e3dbd06caf3ebb5721c"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Oct 03 15:09:01 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:46:27 2011 +0200"
      },
      "message": "sched: Request for idle balance during nohz idle load balance\n\nrq\u0027s idle_at_tick is set to idle/busy during the timer tick\ndepending on the cpu was idle or not. This will be used later in the load\nbalance that will be done in the softirq context (which is a process\ncontext in -RT kernels).\n\nFor nohz kernels, for the cpu doing nohz idle load balance on behalf of\nall the idle cpu\u0027s, its rq-\u003eidle_at_tick might have a stale value (which is\nrecorded when it got the timer tick presumably when it is busy).\n\nAs the nohz idle load balancing is also being done at the same place\nas the regular load balancing, nohz idle load balancing was bailing out\nwhen it sees rq\u0027s idle_at_tick not set.\n\nThus leading to poor system utilization.\n\nRename rq\u0027s idle_at_tick to idle_balance and set it when someone requests\nfor nohz idle balance on an idle cpu.\n\nReported-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111003220934.892350549@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca38062e57e97791c2f62e3dbd06caf3ebb5721c",
      "tree": "c022f6a3d3087cc8eaebbc5640ca145f7d9c50d8",
      "parents": [
        "9243a169acb9df9c63632fb7d5464359a107877a"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Oct 03 15:09:00 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 06 12:46:23 2011 +0200"
      },
      "message": "sched: Use resched IPI to kick off the nohz idle balance\n\nCurrent use of smp call function to kick the nohz idle balance can deadlock\nin this scenario.\n\n1. cpu-A did a generic_exec_single() to cpu-B and after queuing its call single\ndata (csd) to the call single queue, cpu-A took a timer interrupt.  Actual IPI\nto cpu-B to process the call single queue is not yet sent.\n\n2. As part of the timer interrupt handler, cpu-A decided to kick cpu-B\nfor the idle load balancing (sets cpu-B\u0027s rq-\u003enohz_balance_kick to 1)\nand __smp_call_function_single() with nowait will queue the csd to the\ncpu-B\u0027s queue. But the generic_exec_single() won\u0027t send an IPI to cpu-B\nas the call single queue was not empty.\n\n3. cpu-A is busy with lot of interrupts\n\n4. Meanwhile cpu-B is entering and exiting idle and noticed that it has\nit\u0027s rq-\u003enohz_balance_kick set to \u00271\u0027. So it will go ahead and do the\nidle load balancer and clear its rq-\u003enohz_balance_kick.\n\n5. At this point, csd queued as part of the step-2 above is still locked\nand waiting to be serviced on cpu-B.\n\n6. cpu-A is still busy with interrupt load and now it got another timer\ninterrupt and as part of it decided to kick cpu-B for another idle load\nbalancing (as it finds cpu-B\u0027s rq-\u003enohz_balance_kick cleared in step-4\nabove) and does __smp_call_function_single() with the same csd that is\nstill locked.\n\n7. And we get a deadlock waiting for the csd_lock() in the\n__smp_call_function_single().\n\nMain issue here is that cpu-B can service the idle load balancer kick\nrequest from cpu-A even with out receiving the IPI and this lead to\ndoing multiple __smp_call_function_single() on the same csd leading to\ndeadlock.\n\nTo kick a cpu, scheduler already has the reschedule vector reserved. Use\nthat mechanism (kick_process()) instead of using the generic smp call function\nmechanism to kick off the nohz idle load balancing and avoid the deadlock.\n\n   [ This issue is present from 2.6.35+ kernels, but marking it -stable\n     only from v3.0+ as the proposed fix depends on the scheduler_ipi()\n     that is introduced recently. ]\n\nReported-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: stable@kernel.org # v3.0+\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111003220934.834943260@sbsiddha-desk.sc.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "908a3283728d92df36e0c7cd63304fd35e93a8a9",
      "tree": "2511eb8eee1ebc534f34abd640e0fddb4d4fe5a3",
      "parents": [
        "f0f1d32f931b705c4ee5dd374074d34edf3eae14"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 15 15:32:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 12:44:07 2011 +0200"
      },
      "message": "sched: Fix idle_cpu()\n\nOn -rt we observed hackbench waking all 400 tasks to a single cpu.\nThis is because of select_idle_sibling()\u0027s interaction with the new\nipi based wakeup scheme.\n\nThe existing idle_cpu() test only checks to see if the current task on\nthat cpu is the idle task, it does not take already queued tasks into\naccount, nor does it take queued to be woken tasks into account.\n\nIf the remote wakeup IPIs come hard enough, there won\u0027t be time to\nschedule away from the idle task, and would thus keep thinking the cpu\nwas in fact idle, regardless of the fact that there were already\nseveral hundred tasks runnable.\n\nWe couldn\u0027t reproduce on mainline, but there\u0027s no reason it couldn\u0027t\nhappen.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-3o30p18b2paswpc9ohy2gltp@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa14ff4accfb24e59d2473f3d864d6648d80563b",
      "tree": "a2f3f5a16e1e740c6f96857e60c37826689d7b0b",
      "parents": [
        "924f8f5af31423529cc3940cb2ae9fee736b7517"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 12 13:06:17 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 12:43:58 2011 +0200"
      },
      "message": "sched: Convert to struct llist\n\nUse the generic llist primitives.\n\nWe had a private lockless list implementation in the scheduler in the wake-list\ncode, now that we have a generic llist implementation that provides all required\noperations, switch to it.\n\nThis patch is not expected to change any behavior.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1315836353.26517.42.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22f92bacbeea24b20e447444c28e7cad9f1ac3f8",
      "tree": "5c3f2346804a186aa2d954f078fd2f4d44bcc26e",
      "parents": [
        "557ab425429a5123d37f412ce3e6d6137cb621f8",
        "0f86267b79bc6e357b8606077c7f70239045ea9c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 11:08:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 04 11:09:08 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: pick up the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d670ec13178d0fd8680e6742a2bc6e04f28f87d8",
      "tree": "81a2ac824dd92a0536e42f9a0ba3d83240856722",
      "parents": [
        "6ebbe7a07b3bc40b168d2afc569a6543c020d2e3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 01 12:42:04 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Sep 30 14:07:06 2011 +0200"
      },
      "message": "posix-cpu-timers: Cure SMP wobbles\n\nDavid reported:\n\n  Attached below is a watered-down version of rt/tst-cpuclock2.c from\n  GLIBC.  Just build it with \"gcc -o test test.c -lpthread -lrt\" or\n  similar.\n\n  Run it several times, and you will see cases where the main thread\n  will measure a process clock difference before and after the nanosleep\n  which is smaller than the cpu-burner thread\u0027s individual thread clock\n  difference.  This doesn\u0027t make any sense since the cpu-burner thread\n  is part of the top-level process\u0027s thread group.\n\n  I\u0027ve reproduced this on both x86-64 and sparc64 (using both 32-bit and\n  64-bit binaries).\n\n  For example:\n\n  [davem@boricha build-x86_64-linux]$ ./test\n  process: before(0.001221967) after(0.498624371) diff(497402404)\n  thread:  before(0.000081692) after(0.498316431) diff(498234739)\n  self:    before(0.001223521) after(0.001240219) diff(16698)\n  [davem@boricha build-x86_64-linux]$ \n\n  The diff of \u0027process\u0027 should always be \u003e\u003d the diff of \u0027thread\u0027.\n\n  I make sure to wrap the \u0027thread\u0027 clock measurements the most tightly\n  around the nanosleep() call, and that the \u0027process\u0027 clock measurements\n  are the outer-most ones.\n\n  ---\n  #include \u003cunistd.h\u003e\n  #include \u003cstdio.h\u003e\n  #include \u003cstdlib.h\u003e\n  #include \u003ctime.h\u003e\n  #include \u003cfcntl.h\u003e\n  #include \u003cstring.h\u003e\n  #include \u003cerrno.h\u003e\n  #include \u003cpthread.h\u003e\n\n  static pthread_barrier_t barrier;\n\n  static void *chew_cpu(void *arg)\n  {\n\t  pthread_barrier_wait(\u0026barrier);\n\t  while (1)\n\t\t  __asm__ __volatile__(\"\" : : : \"memory\");\n\t  return NULL;\n  }\n\n  int main(void)\n  {\n\t  clockid_t process_clock, my_thread_clock, th_clock;\n\t  struct timespec process_before, process_after;\n\t  struct timespec me_before, me_after;\n\t  struct timespec th_before, th_after;\n\t  struct timespec sleeptime;\n\t  unsigned long diff;\n\t  pthread_t th;\n\t  int err;\n\n\t  err \u003d clock_getcpuclockid(0, \u0026process_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d pthread_getcpuclockid(pthread_self(), \u0026my_thread_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  pthread_barrier_init(\u0026barrier, NULL, 2);\n\t  err \u003d pthread_create(\u0026th, NULL, chew_cpu, NULL);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d pthread_getcpuclockid(th, \u0026th_clock);\n\t  if (err)\n\t\t  return 1;\n\n\t  pthread_barrier_wait(\u0026barrier);\n\n\t  err \u003d clock_gettime(process_clock, \u0026process_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(my_thread_clock, \u0026me_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(th_clock, \u0026th_before);\n\t  if (err)\n\t\t  return 1;\n\n\t  sleeptime.tv_sec \u003d 0;\n\t  sleeptime.tv_nsec \u003d 500000000;\n\t  nanosleep(\u0026sleeptime, NULL);\n\n\t  err \u003d clock_gettime(th_clock, \u0026th_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(my_thread_clock, \u0026me_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  err \u003d clock_gettime(process_clock, \u0026process_after);\n\t  if (err)\n\t\t  return 1;\n\n\t  diff \u003d process_after.tv_nsec - process_before.tv_nsec;\n\t  printf(\"process: before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t process_before.tv_sec, process_before.tv_nsec,\n\t\t process_after.tv_sec, process_after.tv_nsec, diff);\n\t  diff \u003d th_after.tv_nsec - th_before.tv_nsec;\n\t  printf(\"thread:  before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t th_before.tv_sec, th_before.tv_nsec,\n\t\t th_after.tv_sec, th_after.tv_nsec, diff);\n\t  diff \u003d me_after.tv_nsec - me_before.tv_nsec;\n\t  printf(\"self:    before(%lu.%.9lu) after(%lu.%.9lu) diff(%lu)\\n\",\n\t\t me_before.tv_sec, me_before.tv_nsec,\n\t\t me_after.tv_sec, me_after.tv_nsec, diff);\n\n\t  return 0;\n  }\n\nThis is due to us using p-\u003ese.sum_exec_runtime in\nthread_group_cputime() where we iterate the thread group and sum all\ndata. This does not take time since the last schedule operation (tick\nor otherwise) into account. We can cure this by using\ntask_sched_runtime() at the cost of having to take locks.\n\nThis also means we can (and must) do away with\nthread_group_sched_runtime() since the modified thread_group_cputime()\nis now more accurate and would deadlock when called from\nthread_group_sched_runtime().\n\nAside of that it makes the function safe on 32 bit systems. The old\ncode added t-\u003ese.sum_exec_runtime unprotected. sum_exec_runtime is a\n64bit value and could be changed on another cpu at the same time.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/1314874459.7945.22.camel@twins\nTested-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fc0763f53e3ff6a6bfa66934662a3446b9ca6f16",
      "tree": "2671d3f6275c9707a620032658ecb05025e4e9fa",
      "parents": [
        "d7bd2d68aa2ee2738a10c8ad9346b805e4ab2e1c"
      ],
      "author": {
        "name": "Shi, Alex",
        "email": "alex.shi@intel.com",
        "time": "Thu Jul 28 14:56:12 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:38:29 2011 -0700"
      },
      "message": "nohz: Remove nohz_cpu_mask\n\nRCU no longer uses this global variable, nor does anyone else.  This\ncommit therefore removes this variable.  This reduces memory footprint\nand also removes some atomic instructions and memory barriers from\nthe dyntick-idle path.\n\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b3fbab0571eb09746cc0283648165ec00efc8eb2",
      "tree": "63bc01cbf03a5df34a96af292a00df4a96dc148a",
      "parents": [
        "d5988af53102f3b73e5e0788be024ccfa51869de"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue May 24 08:31:09 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Sep 28 21:36:37 2011 -0700"
      },
      "message": "rcu: Restore checks for blocking in RCU read-side critical sections\n\nLong ago, using TREE_RCU with PREEMPT would result in \"scheduling\nwhile atomic\" diagnostics if you blocked in an RCU read-side critical\nsection.  However, PREEMPT now implies TREE_PREEMPT_RCU, which defeats\nthis diagnostic.  This commit therefore adds a replacement diagnostic\nbased on PROVE_RCU.\n\nBecause rcu_lockdep_assert() and lockdep_rcu_dereference() are now being\nused for things that have nothing to do with rcu_dereference(), rename\nlockdep_rcu_dereference() to lockdep_rcu_suspicious() and add a third\nargument that is a string indicating what is suspicious.  This third\nargument is passed in from a new third argument to rcu_lockdep_assert().\nUpdate all calls to rcu_lockdep_assert() to add an informative third\nargument.\n\nAlso, add a pair of rcu_lockdep_assert() calls from within\nrcu_note_context_switch(), one complaining if a context switch occurs\nin an RCU-bh read-side critical section and another complaining if a\ncontext switch occurs in an RCU-sched read-side critical section.\nThese are present only if the PROVE_RCU kernel parameter is enabled.\n\nFinally, fix some checkpatch whitespace complaints in lockdep.c.\n\nAgain, you must enable PROVE_RCU to see these new diagnostics.  But you\nare enabling PROVE_RCU to check out new RCU uses in any case, aren\u0027t you?\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "bfb9035c98906aafcd3cf22694fba2550997bf53",
      "tree": "82256f42b5be76c49c0009b96b0641b34a8f16d3",
      "parents": [
        "395cf9691d72173d8cdaa613c5f0255f993af94b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Aug 17 06:58:04 2011 -0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Sep 27 18:08:04 2011 +0200"
      },
      "message": "treewide: Correct spelling of successfully in comments\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "6ebbe7a07b3bc40b168d2afc569a6543c020d2e3",
      "tree": "5fa7eb4d48796af7aede4f7c0b92fde4047deeaa",
      "parents": [
        "3be209a8e22cedafc1b6945608b7bb8d9887ab61"
      ],
      "author": {
        "name": "Simon Kirby",
        "email": "sim@hostway.ca",
        "time": "Thu Sep 22 17:03:46 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 26 12:51:08 2011 +0200"
      },
      "message": "sched: Fix up wchan borkage\n\nCommit c259e01a1ec (\"sched: Separate the scheduler entry for\npreemption\") contained a boo-boo wrecking wchan output. It forgot to\nput the new schedule() function in the __sched section and thereby\ndoesn\u0027t get properly ignored for things like wchan.\n\nTested-by: Simon Kirby \u003csim@hostway.ca\u003e\nCc: stable@kernel.org # 2.6.39+\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110923000346.GA25425@hostway.ca\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "590e4d857153c5d4cf86052cdfd42cf9b0779841",
      "tree": "b8de0d7c163b81050f8c95f1b59ccbf05aed5d8f",
      "parents": [
        "a200d8e44649de2cbb39de95f42ad4ef5dc8dc22"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sun Jul 24 16:33:13 2011 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Sep 20 15:53:21 2011 +1000"
      },
      "message": "sched: Allow SD_NODES_PER_DOMAIN to be overridden\n\nWe want to override the default value of SD_NODES_PER_DOMAIN on ppc64,\nso move it into linux/topology.h.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "bfa322c48dc69bfdaee10faf3bd8dbc23b39a21c",
      "tree": "95360c5d253115003080264d878f3c0f907f2978",
      "parents": [
        "88ebc08ea9f721d1345d5414288a308ea42ac458",
        "003f6c9df54970d8b19578d195b3e2b398cdbde2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 18 14:01:26 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 18 14:01:39 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: We are queueing up a dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e81b693c0104d6a767f998ee5a2e00b5acbbcd18",
      "tree": "fbf07b1d113be1d3f46ce1d0ca0e938b4e931f4d",
      "parents": [
        "b0fb422281c8c09c8dcf03ca44ec343f0ff9df0b",
        "feff8fa0075bdfd43c841e9d689ed81adda988d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 07 13:01:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 07 13:01:34 2011 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://tesla.tglx.de/git/linux-2.6-tip:\n  sched: Fix a memory leak in __sdt_free()\n  sched: Move blk_schedule_flush_plug() out of __schedule()\n  sched: Separate the scheduler entry for preemption\n"
    },
    {
      "commit": "a8d757ef076f0f95f13a918808824058de25b3eb",
      "tree": "3c1151ef886d9b72d0a7b7b267d9f37c72d5f475",
      "parents": [
        "c6a389f123b9f68d605bb7e0f9b32ec1e3e14132"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Aug 25 15:58:03 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 29 12:28:33 2011 +0200"
      },
      "message": "perf events: Fix slow and broken cgroup context switch code\n\nThe current cgroup context switch code was incorrect leading\nto bogus counts. Furthermore, as soon as there was an active\ncgroup event on a CPU, the context switch cost on that CPU\nwould increase by a significant amount as demonstrated by a\nsimple ping/pong example:\n\n $ ./pong\n Both processes pinned to CPU1, running for 10s\n 10684.51 ctxsw/s\n\nNow start a cgroup perf stat:\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 100\n\n$ ./pong\n Both processes pinned to CPU1, running for 10s\n 6674.61 ctxsw/s\n\nThat\u0027s a 37% penalty.\n\nNote that pong is not even in the monitored cgroup.\n\nThe results shown by perf stat are bogus:\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 100\n\n Performance counter stats for \u0027sleep 100\u0027:\n\n CPU1 \u003cnot counted\u003e cycles   test\n CPU1 16,984,189,138 cycles  #    0.000 GHz\n\nThe second \u0027cycles\u0027 event should report a count @ CPU clock\n(here 2.4GHz) as it is counting across all cgroups.\n\nThe patch below fixes the bogus accounting and bypasses any\ncgroup switches in case the outgoing and incoming tasks are\nin the same cgroup.\n\nWith this patch the same test now yields:\n $ ./pong\n Both processes pinned to CPU1, running for 10s\n 10775.30 ctxsw/s\n\nStart perf stat with cgroup:\n\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\nRun pong outside the cgroup:\n $ /pong\n Both processes pinned to CPU1, running for 10s\n 10687.80 ctxsw/s\n\nThe penalty is now less than 2%.\n\nAnd the results for perf stat are correct:\n\n$ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\n Performance counter stats for \u0027sleep 10\u0027:\n\n CPU1 \u003cnot counted\u003e cycles test #    0.000 GHz\n CPU1 23,933,981,448 cycles      #    0.000 GHz\n\nNow perf stat reports the correct counts for\nfor the non cgroup event.\n\nIf we run pong inside the cgroup, then we also get the\ncorrect counts:\n\n$ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\n Performance counter stats for \u0027sleep 10\u0027:\n\n CPU1 22,297,726,205 cycles test #    0.000 GHz\n CPU1 23,933,981,448 cycles      #    0.000 GHz\n\n      10.001457237 seconds time elapsed\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110825135803.GA4697@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "feff8fa0075bdfd43c841e9d689ed81adda988d6",
      "tree": "1d8829c9b0c82c5eb16ec0994637f61c59c0f1ab",
      "parents": [
        "9c40cef2b799f9b5e7fa5de4d2ad3a0168ba118c"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "amwang@redhat.com",
        "time": "Thu Aug 18 20:36:57 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 29 12:27:01 2011 +0200"
      },
      "message": "sched: Fix a memory leak in __sdt_free()\n\nThis patch fixes the following memory leak:\n\nunreferenced object 0xffff880107266800 (size 512):\n  comm \"sched-powersave\", pid 3718, jiffies 4323097853 (age 27495.450s)\n  hex dump (first 32 bytes):\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  backtrace:\n    [\u003cffffffff81133940\u003e] create_object+0x187/0x28b\n    [\u003cffffffff814ac103\u003e] kmemleak_alloc+0x73/0x98\n    [\u003cffffffff811232ba\u003e] __kmalloc_node+0x104/0x159\n    [\u003cffffffff81044b98\u003e] kzalloc_node.clone.97+0x15/0x17\n    [\u003cffffffff8104cb90\u003e] build_sched_domains+0xb7/0x7f3\n    [\u003cffffffff8104d4df\u003e] partition_sched_domains+0x1db/0x24a\n    [\u003cffffffff8109ee4a\u003e] do_rebuild_sched_domains+0x3b/0x47\n    [\u003cffffffff810a00c7\u003e] rebuild_sched_domains+0x10/0x12\n    [\u003cffffffff8104d5ba\u003e] sched_power_savings_store+0x6c/0x7b\n    [\u003cffffffff8104d5df\u003e] sched_mc_power_savings_store+0x16/0x18\n    [\u003cffffffff8131322c\u003e] sysdev_class_store+0x20/0x22\n    [\u003cffffffff81193876\u003e] sysfs_write_file+0x108/0x144\n    [\u003cffffffff81135b10\u003e] vfs_write+0xaf/0x102\n    [\u003cffffffff81135d23\u003e] sys_write+0x4d/0x74\n    [\u003cffffffff814c8a42\u003e] system_call_fastpath+0x16/0x1b\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org # 3.0\nLink: http://lkml.kernel.org/r/1313671017-4112-1-git-send-email-amwang@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c40cef2b799f9b5e7fa5de4d2ad3a0168ba118c",
      "tree": "cb7a48eb2a6d30b90144a55bc6bb82caacfc9622",
      "parents": [
        "c259e01a1ec90063042f758e409cd26b2a0963c8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jun 22 19:47:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 29 12:26:59 2011 +0200"
      },
      "message": "sched: Move blk_schedule_flush_plug() out of __schedule()\n\nThere is no real reason to run blk_schedule_flush_plug() with\ninterrupts and preemption disabled.\n\nMove it into schedule() and call it when the task is going voluntarily\nto sleep. There might be false positives when the task is woken\nbetween that call and actually scheduling, but that\u0027s not really\ndifferent from being woken immediately after switching away.\n\nThis fixes a deadlock in the scheduler where the\nblk_schedule_flush_plug() callchain enables interrupts and thereby\nallows a wakeup to happen of the task that\u0027s going to sleep.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: stable@kernel.org # 2.6.39+\nLink: http://lkml.kernel.org/n/tip-dwfxtra7yg1b5r65m32ywtct@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c259e01a1ec90063042f758e409cd26b2a0963c8",
      "tree": "dc5910233294b735fd389e0b0aab79cbb03c70a2",
      "parents": [
        "c6a389f123b9f68d605bb7e0f9b32ec1e3e14132"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jun 22 19:47:00 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 29 12:26:57 2011 +0200"
      },
      "message": "sched: Separate the scheduler entry for preemption\n\nBlock-IO and workqueues call into notifier functions from the\nscheduler core code with interrupts and preemption disabled. These\ncalls should be made before entering the scheduler core.\n\nTo simplify this, separate the scheduler core code into\n__schedule(). __schedule() is directly called from the places which\nset PREEMPT_ACTIVE and from schedule(). This allows us to add the work\nchecks into schedule(), so they are only called when a task voluntary\ngoes to sleep.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: stable@kernel.org # 2.6.39+\nLink: http://lkml.kernel.org/r/20110622174918.813258321@linutronix.de\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d8b4986d3dbc4fabc2054d63f1d31d6ed2fb1ca8",
      "tree": "d6afd92e5425f64b337c916d12dc58ca101c334d",
      "parents": [
        "e8da1b18b32064c43881bceef0f051c2110c9ab9"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:41 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:54 2011 +0200"
      },
      "message": "sched: Return unused runtime on group dequeue\n\nWhen a local cfs_rq blocks we return the majority of its remaining quota to the\nglobal bandwidth pool for use by other runqueues.\n\nWe do this only when the quota is current and there is more than\nmin_cfs_rq_quota [1ms by default] of runtime remaining on the rq.\n\nIn the case where there are throttled runqueues and we have sufficient\nbandwidth to meter out a slice, a second timer is kicked off to handle this\ndelivery, unthrottling where appropriate.\n\nUsing a \u0027worst case\u0027 antagonist which executes on each cpu\nfor 1ms before moving onto the next on a fairly large machine:\n\nno quota generations:\n\n 197.47 ms       /cgroup/a/cpuacct.usage\n 199.46 ms       /cgroup/a/cpuacct.usage\n 205.46 ms       /cgroup/a/cpuacct.usage\n 198.46 ms       /cgroup/a/cpuacct.usage\n 208.39 ms       /cgroup/a/cpuacct.usage\n\nSince we are allowed to use \"stale\" quota our usage is effectively bounded by\nthe rate of input into the global pool and performance is relatively stable.\n\nwith quota generations [1s increments]:\n\n 119.58 ms       /cgroup/a/cpuacct.usage\n 119.65 ms       /cgroup/a/cpuacct.usage\n 119.64 ms       /cgroup/a/cpuacct.usage\n 119.63 ms       /cgroup/a/cpuacct.usage\n 119.60 ms       /cgroup/a/cpuacct.usage\n\nThe large deficit here is due to quota generations (/intentionally/) preventing\nus from now using previously stranded slack quota.  The cost is that this quota\nbecomes unavailable.\n\nwith quota generations and quota return:\n\n 200.09 ms       /cgroup/a/cpuacct.usage\n 200.09 ms       /cgroup/a/cpuacct.usage\n 198.09 ms       /cgroup/a/cpuacct.usage\n 200.09 ms       /cgroup/a/cpuacct.usage\n 200.06 ms       /cgroup/a/cpuacct.usage\n\nBy returning unused quota we\u0027re able to both stably consume our desired quota\nand prevent unintentional overages due to the abuse of slack quota from\nprevious quota periods (especially on a large machine).\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184758.306848658@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e8da1b18b32064c43881bceef0f051c2110c9ab9",
      "tree": "8d6e9e5713c1da4cee3ceba1da67df6cab22ab9f",
      "parents": [
        "d3d9dc3302368269acf94b7381663b93000fe2fe"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Thu Jul 21 09:43:40 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:49 2011 +0200"
      },
      "message": "sched: Add exports tracking cfs bandwidth control statistics\n\nThis change introduces statistics exports for the cpu sub-system, these are\nadded through the use of a stat file similar to that exported by other\nsubsystems.\n\nThe following exports are included:\n\nnr_periods:\tnumber of periods in which execution occurred\nnr_throttled:\tthe number of periods above in which execution was throttle\nthrottled_time:\tcumulative wall-time that any cpus have been throttled for\nthis group\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184758.198901931@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8cb120d3e41a0464a559d639d519cef563717a4e",
      "tree": "4d17ae0d3d9a18cb502e5d098bd48b7436620754",
      "parents": [
        "5238cdd3873e67a98b28c1161d65d2a615c320a3"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:38 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:44 2011 +0200"
      },
      "message": "sched: Migrate throttled tasks on HOTPLUG\n\nThrottled tasks are invisisble to cpu-offline since they are not eligible for\nselection by pick_next_task().  The regular \u0027escape\u0027 path for a thread that is\nblocked at offline is via ttwu-\u003eselect_task_rq, however this will not handle a\nthrottled group since there are no individual thread wakeups on an unthrottle.\n\nResolve this by unthrottling offline cpus so that threads can be migrated.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184757.989000590@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64660c864f46202b932b911a69deb09805bdbaf8",
      "tree": "cf49455195a184e4962c6cac2c39c4f690d74ddc",
      "parents": [
        "8277434ef1202ce30315f8edb3fc760aa6e74493"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:36 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:40 2011 +0200"
      },
      "message": "sched: Prevent interactions with throttled entities\n\nFrom the perspective of load-balance and shares distribution, throttled\nentities should be invisible.\n\nHowever, both of these operations work on \u0027active\u0027 lists and are not\ninherently aware of what group hierarchies may be present.  In some cases this\nmay be side-stepped (e.g. we could sideload via tg_load_down in load balance)\nwhile in others (e.g. update_shares()) it is more difficult to compute without\nincurring some O(n^2) costs.\n\nInstead, track hierarchicaal throttled state at time of transition.  This\nallows us to easily identify whether an entity belongs to a throttled hierarchy\nand avoid incorrect interactions with it.\n\nAlso, when an entity leaves a throttled hierarchy we need to advance its\ntime averaging for shares averaging so that the elapsed throttled time is not\nconsidered as part of the cfs_rq\u0027s operation.\n\nWe also use this information to prevent buddy interactions in the wakeup and\nyield_to() paths.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184757.777916795@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8277434ef1202ce30315f8edb3fc760aa6e74493",
      "tree": "455436e29a5a2e16b33f03aa4b4a9a2911bb7746",
      "parents": [
        "671fd9dabe5239ad218c7eb48b2b9edee50250e6"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:35 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:38 2011 +0200"
      },
      "message": "sched: Allow for positional tg_tree walks\n\nExtend walk_tg_tree to accept a positional argument\n\nstatic int walk_tg_tree_from(struct task_group *from,\n\t\t\t     tg_visitor down, tg_visitor up, void *data)\n\nExisting semantics are preserved, caller must hold rcu_lock() or sufficient\nanalogue.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184757.677889157@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "671fd9dabe5239ad218c7eb48b2b9edee50250e6",
      "tree": "351f59453eb699661bd811210f24d8b7fd554ca4",
      "parents": [
        "85dac906bec3bb41bfaa7ccaa65c4706de5cfdf8"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:34 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:36 2011 +0200"
      },
      "message": "sched: Add support for unthrottling group entities\n\nAt the start of each period we refresh the global bandwidth pool.  At this time\nwe must also unthrottle any cfs_rq entities who are now within bandwidth once\nmore (as quota permits).\n\nUnthrottled entities have their corresponding cfs_rq-\u003ethrottled flag cleared\nand their entities re-enqueued.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184757.574628950@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "85dac906bec3bb41bfaa7ccaa65c4706de5cfdf8",
      "tree": "5d3f71d409fe002b0dfd2cdfb7ef09a9d5851f66",
      "parents": [
        "a9cf55b2861057a213e610da2fec52125439a11d"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:33 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:34 2011 +0200"
      },
      "message": "sched: Add support for throttling group entities\n\nNow that consumption is tracked (via update_curr()) we add support to throttle\ngroup entities (and their corresponding cfs_rqs) in the case where this is no\nrun-time remaining.\n\nThrottled entities are dequeued to prevent scheduling, additionally we mark\nthem as throttled (using cfs_rq-\u003ethrottled) to prevent them from becoming\nre-enqueued until they are unthrottled.  A list of a task_group\u0027s throttled\nentities are maintained on the cfs_bandwidth structure.\n\nNote: While the machinery for throttling is added in this patch the act of\nthrottling an entity exceeding its bandwidth is deferred until later within\nthe series.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184757.480608533@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9cf55b2861057a213e610da2fec52125439a11d",
      "tree": "6c0caf35a6e8fbba7325227f11029f5f4d4cbf7e",
      "parents": [
        "58088ad0152ba4b7997388c93d0ca208ec1ece75"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:32 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:31 2011 +0200"
      },
      "message": "sched: Expire invalid runtime\n\nSince quota is managed using a global state but consumed on a per-cpu basis\nwe need to ensure that our per-cpu state is appropriately synchronized.\nMost importantly, runtime that is state (from a previous period) should not be\nlocally consumable.\n\nWe take advantage of existing sched_clock synchronization about the jiffy to\nefficiently detect whether we have (globally) crossed a quota boundary above.\n\nOne catch is that the direction of spread on sched_clock is undefined,\nspecifically, we don\u0027t know whether our local clock is behind or ahead\nof the one responsible for the current expiration time.\n\nFortunately we can differentiate these by considering whether the\nglobal deadline has advanced.  If it has not, then we assume our clock to be\n\"fast\" and advance our local expiration; otherwise, we know the deadline has\ntruly passed and we expire our local runtime.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184757.379275352@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "58088ad0152ba4b7997388c93d0ca208ec1ece75",
      "tree": "22d818b745056effc53ee6fa97ee9103548766b5",
      "parents": [
        "ec12cb7f31e28854efae7dd6f9544e0a66379040"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:31 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:28 2011 +0200"
      },
      "message": "sched: Add a timer to handle CFS bandwidth refresh\n\nThis patch adds a per-task_group timer which handles the refresh of the global\nCFS bandwidth pool.\n\nSince the RT pool is using a similar timer there\u0027s some small refactoring to\nshare this support.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184757.277271273@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec12cb7f31e28854efae7dd6f9544e0a66379040",
      "tree": "30a7293a4f9d566043f524bb4c43d4ae8b0560db",
      "parents": [
        "a790de99599a29ad3f18667530cf4b9f4b7e3234"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:30 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:26 2011 +0200"
      },
      "message": "sched: Accumulate per-cfs_rq cpu usage and charge against bandwidth\n\nAccount bandwidth usage on the cfs_rq level versus the task_groups to which\nthey belong.  Whether we are tracking bandwidth on a given cfs_rq is maintained\nunder cfs_rq-\u003eruntime_enabled.\n\ncfs_rq\u0027s which belong to a bandwidth constrained task_group have their runtime\naccounted via the update_curr() path, which withdraws bandwidth from the global\npool as desired.  Updates involving the global pool are currently protected\nunder cfs_bandwidth-\u003elock, local runtime is protected by rq-\u003elock.\n\nThis patch only assigns and tracks quota, no action is taken in the case that\ncfs_rq-\u003eruntime_used exceeds cfs_rq-\u003eruntime_assigned.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184757.179386821@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a790de99599a29ad3f18667530cf4b9f4b7e3234",
      "tree": "58a06419b7a6a90dac6028263a54b3ed3e68e40b",
      "parents": [
        "ab84d31e15502fb626169ba2663381e34bf965b2"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:29 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:22 2011 +0200"
      },
      "message": "sched: Validate CFS quota hierarchies\n\nAdd constraints validation for CFS bandwidth hierarchies.\n\nValidate that:\n   max(child bandwidth) \u003c\u003d parent_bandwidth\n\nIn a quota limited hierarchy, an unconstrained entity\n(e.g. bandwidth\u003d\u003dRUNTIME_INF) inherits the bandwidth of its parent.\n\nThis constraint is chosen over sum(child_bandwidth) as notion of over-commit is\nvaluable within SCHED_OTHER.  Some basic code from the RT case is re-factored\nfor reuse.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184757.083774572@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ab84d31e15502fb626169ba2663381e34bf965b2",
      "tree": "658ce7caa6199aa74c5feea92ec8d3e9a2cb4296",
      "parents": [
        "953bfcd10e6f3697233e8e5128c611d275da39c1"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:28 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:03:20 2011 +0200"
      },
      "message": "sched: Introduce primitives to account for CFS bandwidth tracking\n\nIn this patch we introduce the notion of CFS bandwidth, partitioned into\nglobally unassigned bandwidth, and locally claimed bandwidth.\n\n - The global bandwidth is per task_group, it represents a pool of unclaimed\n   bandwidth that cfs_rqs can allocate from.\n - The local bandwidth is tracked per-cfs_rq, this represents allotments from\n   the global pool bandwidth assigned to a specific cpu.\n\nBandwidth is managed via cgroupfs, adding two new interfaces to the cpu subsystem:\n - cpu.cfs_period_us : the bandwidth period in usecs\n - cpu.cfs_quota_us : the cpu bandwidth (in usecs) that this tg will be allowed\n   to consume over period above.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184756.972636699@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "953bfcd10e6f3697233e8e5128c611d275da39c1",
      "tree": "a3ca8136bb9e992bb40945c5eee2a8dcc0fd0b57",
      "parents": [
        "5710f15b52664ae0bfa60a66d75464769d297b2b"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Thu Jul 21 09:43:27 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:01:13 2011 +0200"
      },
      "message": "sched: Implement hierarchical task accounting for SCHED_OTHER\n\nIntroduce hierarchical task accounting for the group scheduling case in CFS, as\nwell as promoting the responsibility for maintaining rq-\u003enr_running to the\nscheduling classes.\n\nThe primary motivation for this is that with scheduling classes supporting\nbandwidth throttling it is possible for entities participating in throttled\nsub-trees to not have root visible changes in rq-\u003enr_running across activate\nand de-activate operations.  This in turn leads to incorrect idle and\nweight-per-task load balance decisions.\n\nThis also allows us to make a small fixlet to the fastpath in pick_next_task()\nunder group scheduling.\n\nNote: this issue also exists with the existing sched_rt throttling mechanism.\nThis patch does not address that.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nReviewed-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110721184756.878333391@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c350a04efd1c89cd256b2abc8f07a21d0d53ff24",
      "tree": "81b7ad7cd7e86c21aeb81fcfe68bb38892e1ddbb",
      "parents": [
        "2c2efaed9bc973e3aeab1385c618017b56c8f6d7"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jul 27 17:14:55 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 12:00:43 2011 +0200"
      },
      "message": "sched: fix broken SCHED_RESET_ON_FORK handling\n\nSetting child-\u003eprio \u003d current-\u003enormal_prio _after_ SCHED_RESET_ON_FORK has\nbeen handled for an RT parent gives birth to a deranged mutant child with\nnon-RT policy, but RT prio and sched_class.\n\nMove PI leakage protection up, always set priorities and weight, and if the\nchild is leaving RT class, reset rt_priority to the proper value.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1311779695.8691.2.camel@marge.simson.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e2b245f89ee3f5b03fb42d843a79a58cf4773181",
      "tree": "3e20888a72b6750701b6c3b35edc74b4310aa7f6",
      "parents": [
        "eeca7360f756f7e36e846f35018df20808c7ef63"
      ],
      "author": {
        "name": "Jan H. Schönherr",
        "email": "schnhrr@cs.tu-berlin.de",
        "time": "Mon Aug 01 11:03:28 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 11:55:24 2011 +0200"
      },
      "message": "sched: Remove rq-\u003eavg_load_per_task\n\nSince commit a2d47777 (\"sched: fix stale value in average load per task\")\nthe variable rq-\u003eavg_load_per_task is no longer required. Remove it.\n\nSigned-off-by: Jan H. Schönherr \u003cschnhrr@cs.tu-berlin.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1312189408-17172-1-git-send-email-schnhrr@cs.tu-berlin.de\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3ec4844d449cf7af9e749f73ba2052fb7b72fc2",
      "tree": "c515913e85f7e50878c83da2a88bc5a7269d087c",
      "parents": [
        "0003230e8200699860f0b10af524dc47bf8aecad",
        "df2e301fee3c2c2a87592151397ad7699bb14c37"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 13:56:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  fs: Merge split strings\n  treewide: fix potentially dangerous trailing \u0027;\u0027 in #defined values/expressions\n  uwb: Fix misspelling of neighbourhood in comment\n  net, netfilter: Remove redundant goto in ebt_ulog_packet\n  trivial: don\u0027t touch files that are removed in the staging tree\n  lib/vsprintf: replace link to Draft by final RFC number\n  doc: Kconfig: `to be\u0027 -\u003e `be\u0027\n  doc: Kconfig: Typo: square -\u003e squared\n  doc: Konfig: Documentation/power/{pm \u003d\u003e apm-acpi}.txt\n  drivers/net: static should be at beginning of declaration\n  drivers/media: static should be at beginning of declaration\n  drivers/i2c: static should be at beginning of declaration\n  XTENSA: static should be at beginning of declaration\n  SH: static should be at beginning of declaration\n  MIPS: static should be at beginning of declaration\n  ARM: static should be at beginning of declaration\n  rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check\n  Update my e-mail address\n  PCIe ASPM: forcedly -\u003e forcibly\n  gma500: push through device driver tree\n  ...\n\nFix up trivial conflicts:\n - arch/arm/mach-ep93xx/dma-m2p.c (deleted)\n - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)\n - drivers/net/r8169.c (just context changes)\n"
    },
    {
      "commit": "5fabc487c96819dd12ddb9414835d170fd9cd6d5",
      "tree": "01532d492e5074b0d3add29bf92ebf9a9d161e9e",
      "parents": [
        "c61264f98c1a974ee6f545f61a4ab33b141d6bda",
        "3f68b0318bbbd61bf08478ab99a149f0d9e5156e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:07:03 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 24 09:07:03 2011 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/3.1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/3.1\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (143 commits)\n  KVM: IOMMU: Disable device assignment without interrupt remapping\n  KVM: MMU: trace mmio page fault\n  KVM: MMU: mmio page fault support\n  KVM: MMU: reorganize struct kvm_shadow_walk_iterator\n  KVM: MMU: lockless walking shadow page table\n  KVM: MMU: do not need atomicly to set/clear spte\n  KVM: MMU: introduce the rules to modify shadow page table\n  KVM: MMU: abstract some functions to handle fault pfn\n  KVM: MMU: filter out the mmio pfn from the fault pfn\n  KVM: MMU: remove bypass_guest_pf\n  KVM: MMU: split kvm_mmu_free_page\n  KVM: MMU: count used shadow pages on prepareing path\n  KVM: MMU: rename \u0027pt_write\u0027 to \u0027emulate\u0027\n  KVM: MMU: cleanup for FNAME(fetch)\n  KVM: MMU: optimize to handle dirty bit\n  KVM: MMU: cache mmio info on page fault path\n  KVM: x86: introduce vcpu_mmio_gva_to_gpa to cleanup the code\n  KVM: MMU: do not update slot bitmap if spte is nonpresent\n  KVM: MMU: fix walking shadow page table\n  KVM guest: KVM Steal time registration\n  ...\n"
    },
    {
      "commit": "bdc7ccfc0631797636837b10df7f87bc1e2e4ae3",
      "tree": "70f09f8ffee07486d41ca254b8abb05692713d1e",
      "parents": [
        "4d4abdcb1dee03a4f9d6d2021622ed07e14dfd17",
        "0f3171438fc917b9f6b8b60dbb7a3fff9a0f68fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:45:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:45:02 2011 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits)\n  sched: Cleanup duplicate local variable in [enqueue|dequeue]_task_fair\n  sched: Replace use of entity_key()\n  sched: Separate group-scheduling code more clearly\n  sched: Reorder root_domain to remove 64 bit alignment padding\n  sched: Do not attempt to destroy uninitialized rt_bandwidth\n  sched: Remove unused function cpu_cfs_rq()\n  sched: Fix (harmless) typo \u0027CONFG_FAIR_GROUP_SCHED\u0027\n  sched, cgroup: Optimize load_balance_fair()\n  sched: Don\u0027t update shares twice on on_rq parent\n  sched: update correct entity\u0027s runtime in check_preempt_wakeup()\n  xtensa: Use generic config PREEMPT definition\n  h8300: Use generic config PREEMPT definition\n  m32r: Use generic PREEMPT config\n  sched: Skip autogroup when looking for all rt sched groups\n  sched: Simplify mutex_spin_on_owner()\n  sched: Remove rcu_read_lock() from wake_affine()\n  sched: Generalize sleep inside spinlock detection\n  sched: Make sleeping inside spinlock detection working in !CONFIG_PREEMPT\n  sched: Isolate preempt counting in its own config option\n  sched: Remove pointless in_atomic() definition check\n  ...\n"
    },
    {
      "commit": "4d4abdcb1dee03a4f9d6d2021622ed07e14dfd17",
      "tree": "4ed4c74b70240451065165fda5fb2059f8c6b1e5",
      "parents": [
        "0342cbcfced2ee937d7c8e1c63f3d3082da7c7dc",
        "7fcfd1abd6480d3b9ef17f5759c175e036e835cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:44:39 2011 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (123 commits)\n  perf: Remove the nmi parameter from the oprofile_perf backend\n  x86, perf: Make copy_from_user_nmi() a library function\n  perf: Remove perf_event_attr::type check\n  x86, perf: P4 PMU - Fix typos in comments and style cleanup\n  perf tools: Make test use the preset debugfs path\n  perf tools: Add automated tests for events parsing\n  perf tools: De-opt the parse_events function\n  perf script: Fix display of IP address for non-callchain path\n  perf tools: Fix endian conversion reading event attr from file header\n  perf tools: Add missing \u0027node\u0027 alias to the hw_cache[] array\n  perf probe: Support adding probes on offline kernel modules\n  perf probe: Add probed module in front of function\n  perf probe: Introduce debuginfo to encapsulate dwarf information\n  perf-probe: Move dwarf library routines to dwarf-aux.{c, h}\n  perf probe: Remove redundant dwarf functions\n  perf probe: Move strtailcmp to string.c\n  perf probe: Rename DIE_FIND_CB_FOUND to DIE_FIND_CB_END\n  tracing/kprobe: Update symbol reference when loading module\n  tracing/kprobes: Support module init function probing\n  kprobes: Return -ENOENT if probe point doesn\u0027t exist\n  ...\n"
    },
    {
      "commit": "75b56ec294b074d70f8a676ab02611a3fea76cab",
      "tree": "d5299adb43ac6fc8dcc50c3e438c7f0cdd452b1c",
      "parents": [
        "6d16d6d9bb6f93e6f8506cfb3e91795d6443d54f",
        "efbe2eee6dc0f179be84292bf269528b3ec365e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:43:21 2011 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: Fix lockdep_no_validate against IRQ states\n  mutex: Make mutex_destroy() an inline function\n  plist: Remove the need to supply locks to plist heads\n  lockup detector: Fix reference to the non-existent CONFIG_DETECT_SOFTLOCKUP option\n"
    },
    {
      "commit": "acb5a9ba3bd7cd8b3264f67a3789a9587d3b935b",
      "tree": "aa384f35760185200183a0a6f53ec8e4ce1d553f",
      "parents": [
        "26a148eb9c790149750f7e77da0d96029443d400"
      ],
      "author": {
        "name": "Jan H. Schönherr",
        "email": "schnhrr@cs.tu-berlin.de",
        "time": "Thu Jul 14 18:32:43 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:54 2011 +0200"
      },
      "message": "sched: Separate group-scheduling code more clearly\n\nClean up cfs/rt runqueue initialization by moving group scheduling\nrelated code into the corresponding functions.\n\nAlso, keep group scheduling as an add-on, so that things are only done\nadditionally, i. e. remove the init_*_rq() calls from init_tg_*_entry().\n(This removes a redundant initalization during sched_init()).\n\nIn case of group scheduling rt_rq-\u003ehighest_prio.curr is now initialized\ntwice, but adding another #ifdef seems not worth it.\n\nSigned-off-by: Jan H. Schönherr \u003cschnhrr@cs.tu-berlin.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1310661163-16606-1-git-send-email-schnhrr@cs.tu-berlin.de\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26a148eb9c790149750f7e77da0d96029443d400",
      "tree": "25d64457be424e6072dd5d7a75c868615dc3b063",
      "parents": [
        "99bc52429f11d1f4f81495ac8237085aaeb6bccf"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Fri Jul 15 11:41:31 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:52 2011 +0200"
      },
      "message": "sched: Reorder root_domain to remove 64 bit alignment padding\n\nReorder root_domain to remove 8 bytes of alignment padding on 64 bit\nbuilds, this shrinks the size from 1736 to 1728 bytes, therefore using\none fewer cachelines.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1310726492.1977.5.camel@castor.rsk\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "99bc52429f11d1f4f81495ac8237085aaeb6bccf",
      "tree": "af5b2f44ceb1382b836dc9171fe296b3d35dd48d",
      "parents": [
        "045176d22f08bc0b650a028df0f62fc3c2747699"
      ],
      "author": {
        "name": "Bianca Lutz",
        "email": "sowilo@cs.tu-berlin.de",
        "time": "Wed Jul 13 20:13:36 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:51 2011 +0200"
      },
      "message": "sched: Do not attempt to destroy uninitialized rt_bandwidth\n\nIf a task group is to be created and alloc_fair_sched_group() fails,\nthen the rt_bandwidth of the corresponding task group is not yet\ninitialized. The caller, sched_create_group(), starts a clean up\nprocedure which calls free_rt_sched_group() which unconditionally\ndestroys the not yet initialized rt_bandwidth.\n\nThis crashes or hangs the system in lock_hrtimer_base(): UP systems\ndereference a NULL pointer, while SMP systems loop endlessly on a\ncondition that cannot become true.\n\nThis patch simply avoids the destruction of rt_bandwidth when the\ninitialization code path was not reached.\n\n(This was discovered by accident with a custom kernel modification.)\n\nSigned-off-by: Bianca Lutz \u003csowilo@cs.tu-berlin.de\u003e\nSigned-off-by: Jan Schoenherr \u003cschnhrr@cs.tu-berlin.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1310580816-10861-7-git-send-email-schnhrr@cs.tu-berlin.de\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5f817d676b7b7ac4a29f5ed93063ae7a24550c12",
      "tree": "5d8c29ac72afb80627ef547f3fa961314494cfe9",
      "parents": [
        "9763b67fb9f3050c6da739105888327587c30c4d"
      ],
      "author": {
        "name": "Jan Schoenherr",
        "email": "schnhrr@cs.tu-berlin.de",
        "time": "Wed Jul 13 20:13:31 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:48 2011 +0200"
      },
      "message": "sched: Fix (harmless) typo \u0027CONFG_FAIR_GROUP_SCHED\u0027\n\nThis patch fixes a typo located in a comment.\n\nSigned-off-by: Jan Schoenherr \u003cschnhrr@cs.tu-berlin.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1310580816-10861-2-git-send-email-schnhrr@cs.tu-berlin.de\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9763b67fb9f3050c6da739105888327587c30c4d",
      "tree": "822e6a5243c3d872f86d9c9b980896bc4cd8a491",
      "parents": [
        "9598c82dcacadc3b9daa8170613fd054c6124d30"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 13 13:09:25 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:01:46 2011 +0200"
      },
      "message": "sched, cgroup: Optimize load_balance_fair()\n\nUse for_each_leaf_cfs_rq() instead of list_for_each_entry_rcu(), this\nachieves that load_balance_fair() only iterates those task_groups that\nactually have tasks on busiest, and that we iterate bottom-up, trying to\nmove light groups before the heavier ones.\n\nNo idea if it will actually work out to be beneficial in practice, does\nanybody have a cgroup workload that might show a difference one way or\nthe other?\n\n[ Also move update_h_load to sched_fair.c, loosing #ifdef-ery ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Paul Turner \u003cpjt@google.com\u003e\nLink: http://lkml.kernel.org/r/1310557009.2586.28.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "994bf1c92270e3d7731ea08f1d1bd7a668314e60",
      "tree": "4409a21eab486e53fbe350a66e8a4f28b7a720c0",
      "parents": [
        "bd96efe17d945f0bad56d592f8686dc6309905e7",
        "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 17:59:54 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 18:00:01 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: pick up the latest scheduler fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f",
      "tree": "489c64380668e8c5a29d3f36f37554e4b081a647",
      "parents": [
        "acc11eab70591744369722280c9ce162a6193494",
        "d1e9ae47a0285d3f1699e8219ce50f656243b93f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  signal: align __lock_task_sighand() irq disabling and RCU\n  softirq,rcu: Inform RCU of irq_exit() activity\n  sched: Add irq_{enter,exit}() to scheduler_ipi()\n  rcu: protect __rcu_read_unlock() against scheduler-using irq handlers\n  rcu: Streamline code produced by __rcu_read_unlock()\n  rcu: Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special\n  rcu: decrease rcu_report_exp_rnp coupling with scheduler\n"
    },
    {
      "commit": "d1e9ae47a0285d3f1699e8219ce50f656243b93f",
      "tree": "2f5a68b5ba1677bcd49ee759f09ffc5ccccb1455",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b",
        "a841796f11c90d53dbac773be56b04fbee8af272"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 20:59:26 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 20:59:26 2011 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/urgent\n"
    },
    {
      "commit": "c5d753a55ac92e09816d410cd17093813f1a904b",
      "tree": "162c63edcc463e18d50fb5b5be479785f02222c4",
      "parents": [
        "10f39bb1b2c1923ca73e70cb13aeee0e9b822d8f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 19 15:07:25 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 10:50:11 2011 -0700"
      },
      "message": "sched: Add irq_{enter,exit}() to scheduler_ipi()\n\nEnsure scheduler_ipi() calls irq_{enter,exit} when it does some actual\nwork. Traditionally we never did any actual work from the resched IPI\nand all magic happened in the return from interrupt path.\n\nNow that we do do some work, we need to ensure irq_{enter,exit} are\ncalled so that we don\u0027t confuse things.\n\nThis affects things like timekeeping, NO_HZ and RCU, basically\neverything with a hook in irq_enter/exit.\n\nExplicit examples of things going wrong are:\n\n  sched_clock_cpu() -- has a callback when leaving NO_HZ state to take\n                    a new reading from GTOD and TSC. Without this\n                    callback, time is stuck in the past.\n\n  RCU -- needs in_irq() to work in order to avoid some nasty deadlocks\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d110235d2c331c4f79e0879f51104be79e17a469",
      "tree": "d56bb05a1274f9e7c6a20467d2d04713c185e7ce",
      "parents": [
        "e3589f6c81e4764d32a25d2a2a0afe54fa344f5c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 20 18:42:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:54:33 2011 +0200"
      },
      "message": "sched: Avoid creating superfluous NUMA domains on non-NUMA systems\n\nWhen creating sched_domains, stop when we\u0027ve covered the entire\ntarget span instead of continuing to create domains, only to\nlater find they\u0027re redundant and throw them away again.\n\nThis avoids single node systems from touching funny NUMA\nsched_domain creation code and reduces the risks of the new\nSD_OVERLAP code.\n\nRequested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: mahesh@linux.vnet.ibm.com\nCc: benh@kernel.crashing.org\nCc: linuxppc-dev@lists.ozlabs.org\nLink: http://lkml.kernel.org/r/1311180177.29152.57.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e3589f6c81e4764d32a25d2a2a0afe54fa344f5c",
      "tree": "414bf6bdbad3f04f629fa2a72254ea85acf723f4",
      "parents": [
        "9c3f75cbd144014bea6af866a154cc2e73ab2287"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 15 10:35:52 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:41 2011 +0200"
      },
      "message": "sched: Allow for overlapping sched_domain spans\n\nAllow for sched_domain spans that overlap by giving such domains their\nown sched_group list instead of sharing the sched_groups amongst\neach-other.\n\nThis is needed for machines with more than 16 nodes, because\nsched_domain_node_span() will generate a node mask from the\n16 nearest nodes without regard if these masks have any overlap.\n\nCurrently sched_domains have a sched_group that maps to their child\nsched_domain span, and since there is no overlap we share the\nsched_group between the sched_domains of the various CPUs. If however\nthere is overlap, we would need to link the sched_group list in\ndifferent ways for each cpu, and hence sharing isn\u0027t possible.\n\nIn order to solve this, allocate private sched_groups for each CPU\u0027s\nsched_domain but have the sched_groups share a sched_group_power\nstructure such that we can uniquely track the power.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-08bxqw9wis3qti9u5inifh3y@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c3f75cbd144014bea6af866a154cc2e73ab2287",
      "tree": "2a565f7ff0820269973415c5605e313cfff903b4",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 14 13:00:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:40 2011 +0200"
      },
      "message": "sched: Break out cpu_power from the sched_group structure\n\nIn order to prepare for non-unique sched_groups per domain, we need to\ncarry the cpu_power elsewhere, so put a level of indirection in.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-qkho2byuhe4482fuknss40ad@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c64be78ffb415278d7d32d6f55de95c73dcc19a4",
      "tree": "0777bdbb0424a6ce948c817247757a4ba3b01a32",
      "parents": [
        "5dcd07b9f39ca3e9be5bcc387d193fc0674e1c81"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jul 11 16:28:50 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 15 09:54:02 2011 -0700"
      },
      "message": "sched: Fix 32bit race\n\nCommit 3fe1698b7fe0 (\"sched: Deal with non-atomic min_vruntime reads\non 32bit\") forgot to initialize min_vruntime_copy which could lead to\nan infinite while loop in task_waking_fair() under some circumstances\n(early boot, lucky timing).\n\n[ This bug was also reported by others that blamed it on the RCU\n  initialization problems ]\n\nReported-and-tested-by: Bruno Wolff III \u003cbruno@wolff.to\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "095c0aa83e52d6c3dd7168610746703921f570af",
      "tree": "7461604a6040f1724bdf66c6f87e3abe60e2ad50",
      "parents": [
        "e6e6685accfa81f509fadfc9624bc7c3862d75c4"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@redhat.com",
        "time": "Mon Jul 11 15:28:18 2011 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Jul 14 12:59:47 2011 +0300"
      },
      "message": "sched: adjust scheduler cpu power for stolen time\n\nThis patch makes update_rq_clock() aware of steal time.\nThe mechanism of operation is not different from irq_time,\nand follows the same principles. This lives in a CONFIG\noption itself, and can be compiled out independently of\nthe rest of steal time reporting. The effect of disabling it\nis that the scheduler will still report steal time (that cannot be\ndisabled), but won\u0027t use this information for cpu power adjustments.\n\nEverytime update_rq_clock_task() is invoked, we query information\nabout how much time was stolen since last call, and feed it into\nsched_rt_avg_update().\n\nAlthough steal time reporting in account_process_tick() keeps\ntrack of the last time we read the steal clock, in prev_steal_time,\nthis patch do it independently using another field,\nprev_steal_time_rq. This is because otherwise, information about time\naccounted in update_process_tick() would never reach us in update_rq_clock().\n\nSigned-off-by: Glauber Costa \u003cglommer@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nTested-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nCC: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCC: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "e6e6685accfa81f509fadfc9624bc7c3862d75c4",
      "tree": "8d274b61c6011ad4d5844f2fdc15459b8216cc90",
      "parents": [
        "747f2925836b678d2a0de980d70101fd35620f2a"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@redhat.com",
        "time": "Mon Jul 11 15:28:17 2011 -0400"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Thu Jul 14 12:59:46 2011 +0300"
      },
      "message": "KVM guest: Steal time accounting\n\nThis patch accounts steal time time in account_process_tick.\nIf one or more tick is considered stolen in the current\naccounting cycle, user/system accounting is skipped. Idle is fine,\nsince the hypervisor does not report steal time if the guest\nis halted.\n\nAccounting steal time from the core scheduler give us the\nadvantage of direct acess to the runqueue data. In a later\nopportunity, it can be used to tweak cpu power and make\nthe scheduler aware of the time it lost.\n\n[avi: \u003casm/paravirt.h\u003e doesn\u0027t exist on many archs]\n\nSigned-off-by: Glauber Costa \u003cglommer@redhat.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nTested-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nCC: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCC: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "b7e9c223be8ce335e30f2cf6ba588e6a4092275c",
      "tree": "2d1e3b75606abc18df7ad65e51ac3f90cd68b38d",
      "parents": [
        "c172d82500a6cf3c32d1e650722a1055d72ce858",
        "e3bbfa78bab125f58b831b5f7f45b5a305091d72"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jul 11 14:15:48 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jul 11 14:15:55 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nSync with Linus\u0027 tree to be able to apply pending patches that\nare based on newer code already present upstream.\n"
    },
    {
      "commit": "d8bf4ca9ca9576548628344c9725edd3786e90b1",
      "tree": "df338f50a5af6bc3651bd863b79fa91e6b1e9e20",
      "parents": [
        "eb032b9837a958e21ca000358a5bde5e17192ddb"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Fri Jul 08 14:39:41 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Jul 08 22:21:58 2011 +0200"
      },
      "message": "rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check\n\nSince ca5ecddf (rcu: define __rcu address space modifier for sparse)\nrcu_dereference_check use rcu_read_lock_held as a part of condition\nautomatically so callers do not have to do that as well.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "732375c6a5a4cc825b676c922d547aba96b8ce15",
      "tree": "35002255d0e52ad478ffa7134b73c35452c502a0",
      "parents": [
        "8edbb83e5bc3c7d5d76861fc61872105288d2610"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Jul 07 17:27:59 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 08 14:02:53 2011 +0200"
      },
      "message": "plist: Remove the need to supply locks to plist heads\n\nThis was legacy code brought over from the RT tree and\nis no longer necessary.\n\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Daniel Walker \u003cdwalker@codeaurora.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nLink: http://lkml.kernel.org/r/1310084879-10351-2-git-send-email-dima@android.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1ecc818c51b1f6886825dae3885792d5e49ec798",
      "tree": "2179ae53fa86ea6a42d01ff4efc1a3f6a32e76f2",
      "parents": [
        "1c09ab0d257317f97e8629a3d0c8713d6dd9de4c",
        "d902db1eb60387040fe541573083e47469db50ac"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 13:20:51 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 13:20:51 2011 +0200"
      },
      "message": "Merge branch \u0027sched/core-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into sched/core\n"
    },
    {
      "commit": "a8b0ca17b80e92faab46ee7179ba9e99ccb61233",
      "tree": "a4a6282139f26458f80dcbe21c709a9290e84143",
      "parents": [
        "1880c4ae182afb5650c5678949ecfe7ff66a724e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 14:41:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:35 2011 +0200"
      },
      "message": "perf: Remove the nmi parameter from the swevent and overflow interface\n\nThe nmi parameter indicated if we could do wakeups from the current\ncontext, if not, we would set some state and self-IPI and let the\nresulting interrupt do the wakeup.\n\nFor the various event classes:\n\n  - hardware: nmi\u003d0; PMI is in fact an NMI or we run irq_work_run from\n    the PMI-tail (ARM etc.)\n  - tracepoint: nmi\u003d0; since tracepoint could be from NMI context.\n  - software: nmi\u003d[0,1]; some, like the schedule thing cannot\n    perform wakeups, and hence need 0.\n\nAs one can see, there is very little nmi\u003d1 usage, and the down-side of\nnot using it is that on some platforms some software events can have a\njiffy delay in wakeup (when arch_irq_work_raise isn\u0027t implemented).\n\nThe up-side however is that we can remove the nmi parameter and save a\nbunch of conditionals in fast paths.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-agjev8eu666tvknpb3iaj0fg@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "307bf9803f25a8a3f53c1012110fb74e2f893eb0",
      "tree": "72146cbf22ea0e7d36a0734cca9d46291c40ca89",
      "parents": [
        "2a46dae38087e62dd5fb08a6dadf1407717ed13c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jun 10 15:08:55 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 10:39:07 2011 +0200"
      },
      "message": "sched: Simplify mutex_spin_on_owner()\n\nIt does not make sense to rcu_read_lock/unlock() in every loop\niteration while spinning on the mutex.\n\nMove the rcu protection outside the loop. Also simplify the\nreturn path to always check for lock-\u003eowner \u003d\u003d NULL which\nmeets the requirements of both owner changed and need_resched()\ncaused loop exits.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1106101458350.11814@ionos\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "36b2e922b5acd291051fab25bc7535274ce49532",
      "tree": "ef4cdd6894075bb419cc31625b037f2b9212962f",
      "parents": [
        "e197f094b7da7d94812492cfcd706d143f1020e5",
        "b0af8dfdd67699e25083478c63eedef2e72ebd85"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 10:34:09 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 10:34:24 2011 +0200"
      },
      "message": "Merge commit \u0027v3.0-rc5\u0027 into sched/core\n\nMerge reason: Move to a (much) newer base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd62287e364c0d15d517c6ced4e4808b54711475",
      "tree": "12544d4a0b84f378691be2a1d3d48a46f42595fc",
      "parents": [
        "daf54f1f363a61c618662ef66d4bf09d2b090941"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "mgalbraith@suse.de",
        "time": "Sat Jun 04 15:03:20 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 10:25:03 2011 +0200"
      },
      "message": "sched, cgroups: Fix MIN_SHARES on 64-bit boxen\n\nCommit c8b28116 (\"sched: Increase SCHED_LOAD_SCALE resolution\")\nintended to have no user-visible effect, but allows setting\ncpu.shares to \u003c MIN_SHARES, which the user then sees.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nikhil Rao \u003cncrao@google.com\u003e\nLink: http://lkml.kernel.org/r/1307192600.8618.3.camel@marge.simson.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d902db1eb60387040fe541573083e47469db50ac",
      "tree": "ea50ea75522a9a17af04d578a36a9e585e78464b",
      "parents": [
        "e8f7c70f44f75c827c04239b0ae5f0068b65b76e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 08 19:31:56 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jun 23 00:44:38 2011 +0200"
      },
      "message": "sched: Generalize sleep inside spinlock detection\n\nThe sleeping inside spinlock detection is actually used\nfor more general sleeping inside atomic sections\ndebugging: preemption disabled, rcu read side critical\nsections, interrupts, interrupt disabled, etc...\n\nChange the name of the config and its help section to\nreflect its more general role.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bdd4e85dc36cdbcfc1608a5b2a17c80a9db8986a",
      "tree": "9cee98e78a5aa6a00f3b7ce805b1e39a0137b4a4",
      "parents": [
        "2da8c8bc44b572cbf623629ff736608dc7968436"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jun 08 01:13:27 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Jun 10 15:15:40 2011 +0200"
      },
      "message": "sched: Isolate preempt counting in its own config option\n\nCreate a new CONFIG_PREEMPT_COUNT that handles the inc/dec\nof preempt count offset independently. So that the offset\ncan be updated by preempt_disable() and preempt_enable()\neven without the need for CONFIG_PREEMPT beeing set.\n\nThis prepares to make CONFIG_DEBUG_SPINLOCK_SLEEP working\nwith !CONFIG_PREEMPT where it currently doesn\u0027t detect\ncode that sleeps inside explicit preemption disabled\nsections.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "2da8c8bc44b572cbf623629ff736608dc7968436",
      "tree": "90059f6cfcdc25962a433ab986b92e45f6d1bcf1",
      "parents": [
        "e197f094b7da7d94812492cfcd706d143f1020e5"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 07 22:53:39 2011 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 07 22:53:39 2011 +0200"
      },
      "message": "sched: Remove pointless in_atomic() definition check\n\nIt\u0027s really supposed to be defined here. If it\u0027s not then\nwe actually want the build to crash so that we know it,\nand not keep it silent.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "6c6c54e1807faf116724451ef2bd14993780470a",
      "tree": "c306ec3d4876b70022b81f577d96ddb1c643c1d5",
      "parents": [
        "f2513cde93f0957d5dc6c09bc24b0cccd27d8e1d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jun 03 17:37:07 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 07 12:26:40 2011 +0200"
      },
      "message": "sched: Fix/clarify set_task_cpu() locking rules\n\nSergey reported a CONFIG_PROVE_RCU warning in push_rt_task where\nset_task_cpu() was called with both relevant rq-\u003elocks held, which\nshould be sufficient for running tasks since holding its rq-\u003elock\nwill serialize against sched_move_task().\n\nUpdate the comments and fix the task_group() lockdep test.\n\nReported-and-tested-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1307115427.2353.3456.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e197f094b7da7d94812492cfcd706d143f1020e5",
      "tree": "c9f3394ce9ff51dd325708f7b14f4115ed60b944",
      "parents": [
        "f339b9dc1f03591761d5d930800db24bc0eda1e1",
        "e69c634190dc724ef2d845ace8d783031d3e492e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 03 10:27:47 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 03 10:27:47 2011 +0200"
      },
      "message": "Merge branch \u0027unlikely/sched\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into sched/urgent\n"
    },
    {
      "commit": "f339b9dc1f03591761d5d930800db24bc0eda1e1",
      "tree": "901c78b6e8ccaf9e74515d176084c75389bc2832",
      "parents": [
        "f01114cb59d670e9b4f2c335930dd57db96e9360"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 31 10:49:20 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 31 14:19:57 2011 +0200"
      },
      "message": "sched: Fix schedstat.nr_wakeups_migrate\n\nWhile looking over the code I found that with the ttwu rework the\nnr_wakeups_migrate test broke since we now switch cpus prior to\ncalling ttwu_stat(), hence the test is always true.\n\nCure this by passing the migration state in wake_flags. Also move the\nwhole test under CONFIG_SMP, its hard to migrate tasks on UP :-)\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-pwwxl7gdqs5676f1d4cx6pj7@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f01114cb59d670e9b4f2c335930dd57db96e9360",
      "tree": "98e2c76fd78e1e6762c92423a3e6f867a027ca3c",
      "parents": [
        "1e1b6c511d1b23cb7c3b619d82fc7bd9f620565d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 31 12:26:55 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 31 14:19:56 2011 +0200"
      },
      "message": "sched: Fix cross-cpu clock sync on remote wakeups\n\nMarkus reported that commit 317f394160e (\"sched: Move the second half\nof ttwu() to the remote cpu\") caused some accounting funnies on his AMD\nPhenom II X4, such as weird \u0027top\u0027 results.\n\nIt turns out that this is due to non-synced TSC and the queued remote\nwakeups stopped coupeling the two relevant cpu clocks, which leads to\nwakeups seeing time jumps, which in turn lead to skewed runtime stats.\n\nAdd an explicit call to sched_clock_cpu() to couple the per-cpu clocks\nto restore the normal flow of time.\n\nReported-and-tested-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1306835745.2353.3.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1e1b6c511d1b23cb7c3b619d82fc7bd9f620565d",
      "tree": "c50e88412c8b42264177dc125f74a30f9c7a82d9",
      "parents": [
        "1e876231785d82443a5ac8b6c660e9f51bc5dede"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 19 15:08:58 2011 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 17:02:57 2011 +0200"
      },
      "message": "cpuset: Fix cpuset_cpus_allowed_fallback(), don\u0027t update tsk-\u003ert.nr_cpus_allowed\n\nThe rule is, we have to update tsk-\u003ert.nr_cpus_allowed if we change\ntsk-\u003ecpus_allowed. Otherwise RT scheduler may confuse.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/4DD4B3FA.5060901@jp.fujitsu.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6aa8f85f16379d42c147b22b59e33b67f9ff466",
      "tree": "7e28fec1b4d23f5a60fb3370dd446b36aff66379",
      "parents": [
        "cd4ae6adf8b1c21d88e83ed56afeeef97b28f356"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 26 14:21:33 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 17:02:55 2011 +0200"
      },
      "message": "sched: Fix ttwu() for __ARCH_WANT_INTERRUPTS_ON_CTXSW\n\nMarc reported that e4a52bcb9 (sched: Remove rq-\u003elock from the first\nhalf of ttwu()) broke his ARM-SMP machine. Now ARM is one of the few\n__ARCH_WANT_INTERRUPTS_ON_CTXSW users, so that exception in the ttwu()\ncode was suspect.\n\nYong found that the interrupt could hit after context_switch() changes\ncurrent but before it clears p-\u003eon_cpu, if that interrupt were to\nattempt a wake-up of p we would indeed find ourselves spinning in IRQ\ncontext.\n\nFix this by reverting to the old behaviour for this situation and\nperform a full remote wake-up.\n\nCc: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nReported-by: Marc Zyngier \u003cMarc.Zyngier@arm.com\u003e\nTested-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f780bdb7c1c73009cb57adcf99ef50027d80bf3c",
      "tree": "d15668ffcc40a2aaa31723b87cfda0b166f84d57",
      "parents": [
        "4714d1d32d97239fb5ae3e10521d3f133a899b66"
      ],
      "author": {
        "name": "Ben Blum",
        "email": "bblum@andrew.cmu.edu",
        "time": "Thu May 26 16:25:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:34 2011 -0700"
      },
      "message": "cgroups: add per-thread subsystem callbacks\n\nAdd cgroup subsystem callbacks for per-thread attachment in atomic contexts\n\nAdd can_attach_task(), pre_attach(), and attach_task() as new callbacks\nfor cgroups\u0027s subsystem interface.  Unlike can_attach and attach, these\nare for per-thread operations, to be called potentially many times when\nattaching an entire threadgroup.\n\nAlso, the old \"bool threadgroup\" interface is removed, as replaced by\nthis.  All subsystems are modified for the new interface - of note is\ncpuset, which requires from/to nodemasks for attach to be globally scoped\n(though per-cpuset would work too) to persist from its pre_attach to\nattach_task and attach.\n\nThis is a pre-patch for cgroup-procs-writable.patch.\n\nSigned-off-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15a3d11b0f2ebdfb3591e411e268aa81998d4723",
      "tree": "56e1d7715653871f015341c7edabd08045f5fc28",
      "parents": [
        "1f3a8e093f470ef193b0ca6011d90180331c8b53",
        "c8b281161dfa4bb5d5be63fb036ce19347b88c63"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 12:53:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 12:53:48 2011 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Increase SCHED_LOAD_SCALE resolution\n  sched: Introduce SCHED_POWER_SCALE to scale cpu_power calculations\n  sched: Cleanup set_load_weight()\n"
    },
    {
      "commit": "e98bae7592a44bdce2e49ccd64f3c7ffe244a0f6",
      "tree": "1887da3331c5214c330226506d229222b454e960",
      "parents": [
        "4b382d0643603819e8b48da58efc254cabc22574",
        "f400bdb1d6de4344980cf39041497b288090dd33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 22 22:06:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 22 22:06:24 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (28 commits)\n  sparc32: fix build, fix missing cpu_relax declaration\n  SCHED_TTWU_QUEUE is not longer needed since sparc32 now implements IPI\n  sparc32,leon: Remove unnecessary page_address calls in LEON DMA API.\n  sparc: convert old cpumask API into new one\n  sparc32, sun4d: Implemented SMP IPIs support for SUN4D machines\n  sparc32, sun4m: Implemented SMP IPIs support for SUN4M machines\n  sparc32,leon: Implemented SMP IPIs for LEON CPU\n  sparc32: implement SMP IPIs using the generic functions\n  sparc32,leon: SMP power down implementation\n  sparc32,leon: added some SMP comments\n  sparc: add {read,write}*_be routines\n  sparc32,leon: don\u0027t rely on bootloader to mask IRQs\n  sparc32,leon: operate on boot-cpu IRQ controller registers\n  sparc32: always define boot_cpu_id\n  sparc32: removed unused code, implemented by generic code\n  sparc32: avoid build warning at mm/percpu.c:1647\n  sparc32: always register a PROM based early console\n  sparc32: probe for cpu info only during startup\n  sparc: consolidate show_cpuinfo in cpu.c\n  sparc32,leon: implement genirq CPU affinity\n  ...\n"
    },
    {
      "commit": "17d9f311eca13a42bf950198a358be1420d19c5f",
      "tree": "2d1a77f66ccd607f6ab2cf304f8031724a82c7fc",
      "parents": [
        "90d3ac15e5c637d45849e83c828ed78c62886737"
      ],
      "author": {
        "name": "Daniel Hellstrom",
        "email": "daniel@gaisler.com",
        "time": "Fri May 20 04:01:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 20 13:10:55 2011 -0700"
      },
      "message": "SCHED_TTWU_QUEUE is not longer needed since sparc32 now implements IPI\n\nSigned-off-by: Daniel Hellstrom \u003cdaniel@gaisler.com\u003e\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90d3ac15e5c637d45849e83c828ed78c62886737",
      "tree": "c5568365f32386559d2710e8981ed41e5fe0eb12",
      "parents": [
        "9fafbd806198eb690c9a9f9fe35a879db93a1b8d",
        "317f394160e9beb97d19a84c39b7e5eb3d7815a8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 20 13:10:22 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 20 13:10:22 2011 -0700"
      },
      "message": "Merge commit \u0027317f394160e9beb97d19a84c39b7e5eb3d7815a8\u0027\n\nConflicts:\n\tarch/sparc/kernel/smp_32.c\n\nWith merge conflict help from Daniel Hellstrom.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8b281161dfa4bb5d5be63fb036ce19347b88c63",
      "tree": "45a6357cd0b5d50de8608e30616cb2eea2619a1a",
      "parents": [
        "1399fa7807a1a5998bbf147e80668e9950661dfa"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Wed May 18 14:37:48 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 14:16:50 2011 +0200"
      },
      "message": "sched: Increase SCHED_LOAD_SCALE resolution\n\nIntroduce SCHED_LOAD_RESOLUTION, which scales is added to\nSCHED_LOAD_SHIFT and increases the resolution of\nSCHED_LOAD_SCALE. This patch sets the value of\nSCHED_LOAD_RESOLUTION to 10, scaling up the weights for all\nsched entities by a factor of 1024. With this extra resolution,\nwe can handle deeper cgroup hiearchies and the scheduler can do\nbetter shares distribution and load load balancing on larger\nsystems (especially for low weight task groups).\n\nThis does not change the existing user interface, the scaled\nweights are only used internally. We do not modify\nprio_to_weight values or inverses, but use the original weights\nwhen calculating the inverse which is used to scale execution\ntime delta in calc_delta_mine(). This ensures we do not lose\naccuracy when accounting time to the sched entities. Thanks to\nNikunj Dadhania for fixing an bug in c_d_m() that broken fairness.\n\nBelow is some analysis of the performance costs/improvements of\nthis patch.\n\n1. Micro-arch performance costs:\n\nExperiment was to run Ingo\u0027s pipe_test_100k 200 times with the\ntask pinned to one cpu. I measured instruction, cycles and\nstalled-cycles for the runs. See:\n\n   http://thread.gmane.org/gmane.linux.kernel/1129232/focus\u003d1129389\n\nfor more info.\n\n-tip (baseline):\n\n Performance counter stats for \u0027/root/load-scale/pipe-test-100k\u0027 (200 runs):\n\n       964,991,769 instructions             #    0.82  insns per cycle\n                                            #    0.33  stalled cycles per insn\n                                            #    ( +-  0.05% )\n     1,171,186,635 cycles                   #    0.000 GHz                      ( +-  0.08% )\n       306,373,664 stalled-cycles-backend   #   26.16% backend  cycles idle     ( +-  0.28% )\n       314,933,621 stalled-cycles-frontend  #   26.89% frontend cycles idle     ( +-  0.34% )\n\n        1.122405684  seconds time elapsed  ( +-  0.05% )\n\n-tip+patches:\n\n Performance counter stats for \u0027./load-scale/pipe-test-100k\u0027 (200 runs):\n\n       963,624,821 instructions             #    0.82  insns per cycle\n                                            #    0.33  stalled cycles per insn\n                                            #    ( +-  0.04% )\n     1,175,215,649 cycles                   #    0.000 GHz                      ( +-  0.08% )\n       315,321,126 stalled-cycles-backend   #   26.83% backend  cycles idle     ( +-  0.28% )\n       316,835,873 stalled-cycles-frontend  #   26.96% frontend cycles idle     ( +-  0.29% )\n\n        1.122238659  seconds time elapsed  ( +-  0.06% )\n\nWith this patch, instructions decrease by ~0.10% and cycles\nincrease by 0.27%. This doesn\u0027t look statistically significant.\nThe number of stalled cycles in the backend increased from\n26.16% to 26.83%. This can be attributed to the shifts we do in\nc_d_m() and other places. The fraction of stalled cycles in the\nfrontend remains about the same, at 26.96% compared to 26.89% in -tip.\n\n2. Balancing low-weight task groups\n\nTest setup: run 50 tasks with random sleep/busy times (biased\naround 100ms) in a low weight container (with cpu.shares \u003d 2).\nMeasure %idle as reported by mpstat over a 10s window.\n\n-tip (baseline):\n\n06:47:48 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle    intr/s\n06:47:49 PM  all   94.32    0.00    0.06    0.00    0.00    0.00    0.00    0.00    5.62  15888.00\n06:47:50 PM  all   94.57    0.00    0.62    0.00    0.00    0.00    0.00    0.00    4.81  16180.00\n06:47:51 PM  all   94.69    0.00    0.06    0.00    0.00    0.00    0.00    0.00    5.25  15966.00\n06:47:52 PM  all   95.81    0.00    0.00    0.00    0.00    0.00    0.00    0.00    4.19  16053.00\n06:47:53 PM  all   94.88    0.06    0.00    0.00    0.00    0.00    0.00    0.00    5.06  15984.00\n06:47:54 PM  all   93.31    0.00    0.00    0.00    0.00    0.00    0.00    0.00    6.69  15806.00\n06:47:55 PM  all   94.19    0.00    0.06    0.00    0.00    0.00    0.00    0.00    5.75  15896.00\n06:47:56 PM  all   92.87    0.00    0.00    0.00    0.00    0.00    0.00    0.00    7.13  15716.00\n06:47:57 PM  all   94.88    0.00    0.00    0.00    0.00    0.00    0.00    0.00    5.12  15982.00\n06:47:58 PM  all   95.44    0.00    0.00    0.00    0.00    0.00    0.00    0.00    4.56  16075.00\nAverage:     all   94.49    0.01    0.08    0.00    0.00    0.00    0.00    0.00    5.42  15954.60\n\n-tip+patches:\n\n06:47:03 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle    intr/s\n06:47:04 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16630.00\n06:47:05 PM  all   99.69    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.31  16580.20\n06:47:06 PM  all   99.69    0.00    0.06    0.00    0.00    0.00    0.00    0.00    0.25  16596.00\n06:47:07 PM  all   99.20    0.00    0.74    0.00    0.00    0.06    0.00    0.00    0.00  17838.61\n06:47:08 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16540.00\n06:47:09 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16575.00\n06:47:10 PM  all  100.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  16614.00\n06:47:11 PM  all   99.94    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.06  16588.00\n06:47:12 PM  all   99.94    0.00    0.06    0.00    0.00    0.00    0.00    0.00    0.00  16593.00\n06:47:13 PM  all   99.94    0.00    0.06    0.00    0.00    0.00    0.00    0.00    0.00  16551.00\nAverage:     all   99.84    0.00    0.09    0.00    0.00    0.01    0.00    0.00    0.06  16711.58\n\nWe see an improvement in idle% on the system (drops from 5.42% on -tip to 0.06%\nwith the patches).\n\nWe see an improvement in idle% on the system (drops from 5.42%\non -tip to 0.06% with the patches).\n\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Nikunj A. Dadhania \u003cnikunj@linux.vnet.ibm.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Stephan Barwolf \u003cstephan.baerwolf@tu-ilmenau.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1305754668-18792-1-git-send-email-ncrao@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1399fa7807a1a5998bbf147e80668e9950661dfa",
      "tree": "dc4e1a97f50b8e7297c82f63e1ad2b15430b33d9",
      "parents": [
        "f05998d4b80632f2cc00f108da503066ef5d38d5"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Wed May 18 10:09:39 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 14:16:50 2011 +0200"
      },
      "message": "sched: Introduce SCHED_POWER_SCALE to scale cpu_power calculations\n\nSCHED_LOAD_SCALE is used to increase nice resolution and to\nscale cpu_power calculations in the scheduler. This patch\nintroduces SCHED_POWER_SCALE and converts all uses of\nSCHED_LOAD_SCALE for scaling cpu_power to use SCHED_POWER_SCALE\ninstead.\n\nThis is a preparatory patch for increasing the resolution of\nSCHED_LOAD_SCALE, and there is no need to increase resolution\nfor cpu_power calculations.\n\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Nikunj A. Dadhania \u003cnikunj@linux.vnet.ibm.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Stephan Barwolf \u003cstephan.baerwolf@tu-ilmenau.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLink: http://lkml.kernel.org/r/1305738580-9924-3-git-send-email-ncrao@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f05998d4b80632f2cc00f108da503066ef5d38d5",
      "tree": "2603984aa32bc816fdb181d8dbd33d65d8aa1cb0",
      "parents": [
        "257313b2a87795e07a0bdf58d0fffbdba8b31051"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Wed May 18 10:09:38 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 20 14:16:49 2011 +0200"
      },
      "message": "sched: Cleanup set_load_weight()\n\nAvoid using long repetitious names; make this simpler and nicer\nto read. No functional change introduced in this patch.\n\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Nikunj A. Dadhania \u003cnikunj@linux.vnet.ibm.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Stephan Barwolf \u003cstephan.baerwolf@tu-ilmenau.de\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLink: http://lkml.kernel.org/r/1305738580-9924-2-git-send-email-ncrao@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db670dac49b5423b39b5e523d28fe32045d71b10",
      "tree": "194220c83cb097504ddf7bcccc7ce93d6a23eac3",
      "parents": [
        "db44fc017d5989302713ab4e7f9e922b648f4b59"
      ],
      "author": {
        "name": "Stephan Baerwolf",
        "email": "stephan.baerwolf@tu-ilmenau.de",
        "time": "Wed May 11 18:03:29 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 16 11:01:18 2011 +0200"
      },
      "message": "sched: Fix and optimise calculation of the weight-inverse\n\nIf the inverse loadweight should be zero, function \"calc_delta_mine\"\ncalculates the inverse of \"lw-\u003eweight\" (in 32bit integer ops).\n\nThis calculation is actually a little bit impure (because it is\ninverting something around \"lw-weight\"+1), especially when\n\"lw-\u003eweight\" becomes smaller.\n\nThe correct inverse would be 1/lw-\u003eweight multiplied by\n\"WMULT_CONST\" for fixcomma-scaling it into integers.\n(So WMULT_CONST/lw-\u003eweight ...)\n\nThe old, impure algorithm took two divisions for inverting lw-\u003eweight,\nthe new, more exact one only takes one and an additional unlikely-if.\n\nSigned-off-by: Stephan Baerwolf \u003cstephan.baerwolf@tu-ilmenau.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-0pz0wnyalr4tk4ln11xwumdx@git.kernel.org\n[ This could explain some aritmetical issues for small shares but nothing\n  concrete has been reported yet so we are not confident enough to queue\n  this up in sched/urgent and for -stable backport. But if anyone finds\n  this commit and sees it to fix some badness then we can certainly\n  change our mind! ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db44fc017d5989302713ab4e7f9e922b648f4b59",
      "tree": "a6b8830b580fe5ebf7b0ff2f271c59173b15bc9b",
      "parents": [
        "61eadef6a9bde9ea62fda724a9cb501ce9bc925a"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Mon May 09 22:07:05 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 16 11:01:18 2011 +0200"
      },
      "message": "sched: Avoid going ahead if -\u003ecpus_allowed is not changed\n\nIf cpumask_equal(\u0026p-\u003ecpus_allowed, new_mask) is true, seems\nthere is no reason to prevent set_cpus_allowed_ptr() return\ndirectly.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nAcked-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110509140705.GA2219@zhy\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "61eadef6a9bde9ea62fda724a9cb501ce9bc925a",
      "tree": "52ffdd4251e921681f086ec6c4e14ad6e5f9472d",
      "parents": [
        "3e51e3edfd81bfd9853ad7de91167e4ce33d0fe7"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Apr 29 08:36:50 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 16 11:01:17 2011 +0200"
      },
      "message": "sched, rt: Update rq clock when unthrottling of an otherwise idle CPU\n\nIf an RT task is awakened while it\u0027s rt_rq is throttled, the time between\nwakeup/enqueue and unthrottle/selection may be accounted as rt_time\nif the CPU is idle.  Set rq-\u003eskip_clock_update negative upon throttle\nrelease to tell put_prev_task() that we need a clock update.\n\nReported-by: Thomas Giesel \u003cskoe@directbox.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1304059010.7472.1.camel@marge.simson.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3e51e3edfd81bfd9853ad7de91167e4ce33d0fe7",
      "tree": "777d871949911f3e79a5b94545a7b6a55bdc2259",
      "parents": [
        "9cb5baba5e3acba0994ad899ee908799104c9965"
      ],
      "author": {
        "name": "Samir Bellabes",
        "email": "sam@synack.fr",
        "time": "Wed May 11 18:18:05 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 12 09:36:37 2011 +0200"
      },
      "message": "sched: Remove unused parameters from sched_fork() and wake_up_new_task()\n\nsched_fork() and wake_up_new_task() are defined with a parameter\n\u0027unsigned long clone_flags\u0027, which is unused.\n\nThis patch removes the parameters.\n\nSigned-off-by: Samir Bellabes \u003csam@synack.fr\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1305130685-1047-1-git-send-email-sam@synack.fr\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7142d17e8f935fa842e9f6eece2281b6d41625d6",
      "tree": "cf905dfa17b50e64d50f17cc5ea450117c91fad0",
      "parents": [
        "4934a4d3d3fa775601a9f1b35cc0e2aa93f81355"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Thu May 05 20:53:20 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 06 09:13:05 2011 +0200"
      },
      "message": "sched: Shorten the construction of the span cpu mask of sched domain\n\nFor a given node, when constructing the cpumask for its\nsched_domain to span, if there is no best node available after\nsearching, further efforts could be saved, based on small change\nin the return value of find_next_best_node().\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nLink: http://lkml.kernel.org/r/BANLkTi%3DqPWxRAa6%2BdT3ohEP6Z%3D0v%2Be4EXA@mail.gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4934a4d3d3fa775601a9f1b35cc0e2aa93f81355",
      "tree": "e13675f377e6484c48b59fe6ca99572b4175f838",
      "parents": [
        "931aeeda0dca81152aec48f30be01e86a268bf89"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Wed May 04 22:53:46 2011 +0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 06 09:04:19 2011 +0200"
      },
      "message": "sched: Wrap the \u0027cfs_rq-\u003enr_spread_over\u0027 field with CONFIG_SCHED_DEBUG\n\ncfs_rq-\u003enr_spread_over is only used when CONFIG_SCHED_DEBUG is set.\nSo wrap it with CONFIG_SCHED_DEBUG.\n\nSigned-off-by: Rakib Mullick \u003crakib.mullick@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/1304528026.15681.3.camel@localhost.localdomain\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1437f5bca3c2d162f058cba37dfbeb20f619040d",
      "tree": "50845b9da234c87ef6d8017f5fd5695226d12d82",
      "parents": [
        "625f2a378e5a10f45fdc37932fc9f8a21676de9e"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Sat Apr 23 21:29:05 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 26 13:34:08 2011 +0200"
      },
      "message": "sched: Remove noop in alloc_rt_sched_group()\n\nThe rq varible, though computed for each possible cpu, has nothing to\ndo in the function, so it can be removed.\n\nThis also eliminates a build warning.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nReviewed-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/BANLkTin-FfQfqW5ym1iuEmrk8s777Y1LAg@mail.gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "625f2a378e5a10f45fdc37932fc9f8a21676de9e",
      "tree": "1bf966a8e65463cdcc313c559533f032657c9dcf",
      "parents": [
        "d3bf52e998056a6002b2aecfe1d25486376382ac"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Apr 22 11:19:10 2011 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 24 13:18:38 2011 +0200"
      },
      "message": "sched: Get rid of lock_depth\n\nNeil Brown pointed out that lock_depth somehow escaped the BKL\nremoval work.  Let\u0027s get rid of it now.\n\nNote that the perf scripting utilities still have a bunch of\ncode for dealing with common_lock_depth in tracepoints; I have\nleft that in place in case anybody wants to use that code with\nolder kernels.\n\nSuggested-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110422111910.456c0e84@bike.lwn.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3bf52e998056a6002b2aecfe1d25486376382ac",
      "tree": "68c5f3f2a66c29a6928ea03f245bea7ad05f8609",
      "parents": [
        "42ac9e87fdd89b77fa2ca0a5226023c1c2d83226"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Wed Apr 20 21:27:32 2011 +0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 21 11:41:36 2011 +0200"
      },
      "message": "sched: Remove obsolete comment from scheduler_tick()\n\nscheduler_tick() is no longer called by fork code - this got discarded\na long time ago by commit bc947631d1d532 (\"sched: improve efficiency\nof sched_fork()\").\n\nSo, remove the comment which still claims otherwise.\n\nSigned-off-by: Rakib Mullick \u003crakib.mullick@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/BANLkTimO4iGP0QpaHO1HHF1QOnVcQpc0cw@mail.gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "42ac9e87fdd89b77fa2ca0a5226023c1c2d83226",
      "tree": "dfdb1b720347a40f24a89a3e9c2727ae26ad5f01",
      "parents": [
        "057f3fadb347e9c51b07e1b277bbdda79f976768",
        "f0e615c3cb72b42191b558c130409335812621d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 21 11:39:21 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 21 11:39:28 2011 +0200"
      },
      "message": "Merge commit \u0027v2.6.39-rc4\u0027 into sched/core\n\nMerge reason: Pick up upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "057f3fadb347e9c51b07e1b277bbdda79f976768",
      "tree": "12f637ad30129245ef51836df1d134257d827dd5",
      "parents": [
        "2f36825b176f67e5c5228aa33d828bc39718811f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Apr 18 11:24:34 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 19 10:56:54 2011 +0200"
      },
      "message": "sched: Fix sched_domain iterations vs. RCU\n\nVladis Kletnieks reported a new RCU debug warning in the scheduler.\n\nSince commit dce840a08702b (\"sched: Dynamically allocate sched_domain/\nsched_group data-structures\") the sched_domain trees are protected by\nRCU instead of RCU-sched.\n\nThis means that we need to include rcu_read_lock() protection when we\niterate them since disabling preemption doesn\u0027t suffice anymore.\n\nReported-by: Valdis.Kletnieks@vt.edu\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1302882741.2388.241.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6ddafdaab3f809b110ada253d2f2d4910ebd3ac5",
      "tree": "366bb7513511a05b6e11ab89bfe3b2dbd1d62a03",
      "parents": [
        "3905c54f2bd2c6f937f87307987ca072eabc3e7b",
        "bd8e7dded88a3e1c085c333f19ff31387616f71a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 18 14:53:18 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 18 14:53:33 2011 +0200"
      },
      "message": "Merge branch \u0027sched/locking\u0027 into sched/core\n\nMerge reason: the rq locking changes are stable,\n              propagate them into the .40 queue.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a237c1c5bc5dc5c76a21be922dca4826f3eca8ca",
      "tree": "a216c9a6d9e870b84424938e9e0b4722dc8634cd",
      "parents": [
        "5853b4f06f7b9b56f37f457d7923f7b96496074e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:27:55 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:27:55 2011 +0200"
      },
      "message": "block: let io_schedule() flush the plug inline\n\nLinus correctly observes that the most important dispatch cases\nare now done from kblockd, this isn\u0027t ideal for latency reasons.\nThe original reason for switching dispatches out-of-line was to\navoid too deep a stack, so by _only_ letting the \"accidental\"\nflush directly in schedule() be guarded by offload to kblockd,\nwe should be able to get the best of both worlds.\n\nSo add a blk_schedule_flush_plug() that offloads to kblockd,\nand only use that from the schedule() path.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "317f394160e9beb97d19a84c39b7e5eb3d7815a8",
      "tree": "486f268e9ec010744c17333f0f543da9d3909ff4",
      "parents": [
        "c05fbafba1c5482bee399b360288fa405415e126"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:58 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:41 2011 +0200"
      },
      "message": "sched: Move the second half of ttwu() to the remote cpu\n\nNow that we\u0027ve removed the rq-\u003elock requirement from the first part of\nttwu() and can compute placement without holding any rq-\u003elock, ensure\nwe execute the second half of ttwu() on the actual cpu we want the\ntask to run on.\n\nThis avoids having to take rq-\u003elock and doing the task enqueue\nremotely, saving lots on cacheline transfers.\n\nAs measured using: http://oss.oracle.com/~mason/sembench.c\n\n  $ for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; do echo performance \u003e $i; done\n  $ echo 4096 32000 64 128 \u003e /proc/sys/kernel/sem\n  $ ./sembench -t 2048 -w 1900 -o 0\n\n  unpatched: run time 30 seconds 647278 worker burns per second\n  patched:   run time 30 seconds 816715 worker burns per second\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152729.515897185@chello.nl\n"
    }
  ],
  "next": "bd8e7dded88a3e1c085c333f19ff31387616f71a"
}
