)]}'
{
  "log": [
    {
      "commit": "f74b9444192c60603020c61d7915b72893137edc",
      "tree": "8b1d16d373234038c2b045c9ceb3c33b93059e8a",
      "parents": [
        "7a6362800cb7d1d618a697a650c7aaed3eb39320",
        "4ba8216cd90560bc402f52076f64d8546e8aefcb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:21:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:21:00 2011 -0700"
      },
      "message": "Merge branch \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027config\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  BKL: That\u0027s all, folks\n  fs/locks.c: Remove stale FIXME left over from BKL conversion\n  ipx: remove the BKL\n  appletalk: remove the BKL\n  x25: remove the BKL\n  ufs: remove the BKL\n  hpfs: remove the BKL\n  drivers: remove extraneous includes of smp_lock.h\n  tracing: don\u0027t trace the BKL\n  adfs: remove the big kernel lock\n"
    },
    {
      "commit": "1fd06bb1571e2618ae392e2484925bf0dadd7857",
      "tree": "0b7b46fef4ad4037d8d0b3a5629aee8da194c484",
      "parents": [
        "bb6405eab2a408c46949b3353ecfa1126caa3af2"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Mar 15 16:12:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 10:47:04 2011 -0700"
      },
      "message": "sched.c: fix kernel-doc for runqueue_is_locked()\n\nFix kernel-doc warning for runqueue_is_locked():\n\n  Warning(kernel/sched.c:664): missing initial short description on line:\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f6fb45466b2273ffb91c9cf209f164f666c33b1",
      "tree": "2b19f24b678ae379be1b19338c3095c1f76ed41d",
      "parents": [
        "3904afb41d4316f7a2968c615d689e19149a4f84",
        "c0185808eb85139f45dbfd0de66963c498d0c4db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:23:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 19:23:40 2011 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (116 commits)\n  x86: Enable forced interrupt threading support\n  x86: Mark low level interrupts IRQF_NO_THREAD\n  x86: Use generic show_interrupts\n  x86: ioapic: Avoid redundant lookup of irq_cfg\n  x86: ioapic: Use new move_irq functions\n  x86: Use the proper accessors in fixup_irqs()\n  x86: ioapic: Use irq_data-\u003estate\n  x86: ioapic: Simplify irq chip and handler setup\n  x86: Cleanup the genirq name space\n  genirq: Add chip flag to force mask on suspend\n  genirq: Add desc-\u003eirq_data accessor\n  genirq: Add comments to Kconfig switches\n  genirq: Fixup fasteoi handler for oneshot mode\n  genirq: Provide forced interrupt threading\n  sched: Switch wait_task_inactive to schedule_hrtimeout()\n  genirq: Add IRQF_NO_THREAD\n  genirq: Allow shared oneshot interrupts\n  genirq: Prepare the handling of shared oneshot interrupts\n  genirq: Make warning in handle_percpu_event useful\n  x86: ioapic: Move trigger defines to io_apic.h\n  ...\n\nFix up trivial(?) conflicts in arch/x86/pci/xen.c due to genirq name\nspace changes clashing with the Xen cleanups.  The set_irq_msi() had\nmoved to xen_bind_pirq_msi_to_irq().\n"
    },
    {
      "commit": "9620639b7ea3843983f4ced8b4c81eb4d8974838",
      "tree": "54266fac3bcf89e61ae06c7d36ca708df6e0ea33",
      "parents": [
        "a926021cb1f8a99a275eaf6eb546102e9469dc59",
        "6d1cafd8b56ea726c10a5a104de57cc3ed8fa953"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:37:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:37:30 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: (26 commits)\n  sched: Resched proper CPU on yield_to()\n  sched: Allow users with sufficient RLIMIT_NICE to change from SCHED_IDLE policy\n  sched: Allow SCHED_BATCH to preempt SCHED_IDLE tasks\n  sched: Clean up the IRQ_TIME_ACCOUNTING code\n  sched: Add #ifdef around irq time accounting functions\n  sched, autogroup: Stop claiming ownership of the root task group\n  sched, autogroup: Stop going ahead if autogroup is disabled\n  sched, autogroup, sysctl: Use proc_dointvec_minmax() instead\n  sched: Fix the group_imb logic\n  sched: Clean up some f_b_g() comments\n  sched: Clean up remnants of sd_idle\n  sched: Wholesale removal of sd_idle logic\n  sched: Add yield_to(task, preempt) functionality\n  sched: Use a buddy to implement yield_task_fair()\n  sched: Limit the scope of clear_buddies\n  sched: Check the right -\u003enr_running in yield_task_fair()\n  sched: Avoid expensive initial update_cfs_load(), on UP too\n  sched: Fix switch_from_fair()\n  sched: Simplify the idle scheduling class\n  softirqs: Account ksoftirqd time as cpustat softirq\n  ...\n"
    },
    {
      "commit": "a926021cb1f8a99a275eaf6eb546102e9469dc59",
      "tree": "c6d0300cd4b1a1fd658708476db4577b68b4de31",
      "parents": [
        "0586bed3e8563c2eb89bc7256e30ce633ae06cfb",
        "5e814dd597c42daeb8d2a276e64a6ec986ad0e2a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:31:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 15 18:31:30 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: (184 commits)\n  perf probe: Clean up probe_point_lazy_walker() return value\n  tracing: Fix irqoff selftest expanding max buffer\n  tracing: Align 4 byte ints together in struct tracer\n  tracing: Export trace_set_clr_event()\n  tracing: Explain about unstable clock on resume with ring buffer warning\n  ftrace/graph: Trace function entry before updating index\n  ftrace: Add .ref.text as one of the safe areas to trace\n  tracing: Adjust conditional expression latency formatting.\n  tracing: Fix event alignment: skb:kfree_skb\n  tracing: Fix event alignment: mce:mce_record\n  tracing: Fix event alignment: kvm:kvm_hv_hypercall\n  tracing: Fix event alignment: module:module_request\n  tracing: Fix event alignment: ftrace:context_switch and ftrace:wakeup\n  tracing: Remove lock_depth from event entry\n  perf header: Stop using \u0027self\u0027\n  perf session: Use evlist/evsel for managing perf.data attributes\n  perf top: Don\u0027t let events to eat up whole header line\n  perf top: Fix events overflow in top command\n  ring-buffer: Remove unused #include \u003clinux/trace_irq.h\u003e\n  tracing: Add an \u0027overwrite\u0027 trace_option.\n  ...\n"
    },
    {
      "commit": "bf294b41cefcb22fc3139e0f42c5b3f06728bd5e",
      "tree": "250251c040a2d2e278b5a2ddd03c8d20a27be129",
      "parents": [
        "214d93b02c4fe93638ad268613c9702a81ed9192"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Feb 21 11:05:41 2011 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 10 15:04:52 2011 -0500"
      },
      "message": "SUNRPC: Close a race in __rpc_wait_for_completion_task()\n\nAlthough they run as rpciod background tasks, under normal operation\n(i.e. no SIGKILL), functions like nfs_sillyrename(), nfs4_proc_unlck()\nand nfs4_do_close() want to be fully synchronous. This means that when we\nexit, we want all references to the rpc_task to be gone, and we want\nany dentry references etc. held by that task to be released.\n\nFor this reason these functions call __rpc_wait_for_completion_task(),\nfollowed by rpc_put_task() in the expectation that the latter will be\nreleasing the last reference to the rpc_task, and thus ensuring that the\ncallback_ops-\u003erpc_release() has been called synchronously.\n\nThis patch fixes a race which exists due to the fact that\nrpciod calls rpc_complete_task() (in order to wake up the callers of\n__rpc_wait_for_completion_task()) and then subsequently calls\nrpc_put_task() without ensuring that these two steps are done atomically.\n\nIn order to avoid adding new spin locks, the patch uses the existing\nwaitqueue spin lock to order the rpc_task reference count releases between\nthe waiting process and rpciod.\nThe common case where nobody is waiting for completion is optimised for by\nchecking if the RPC_TASK_ASYNC flag is cleared and/or if the rpc_task\nreference count is 1: in those cases we drop trying to grab the spin lock,\nand immediately free up the rpc_task.\n\nThose few processes that need to put the rpc_task from inside an\nasynchronous context and that do not care about ordering are given a new\nhelper: rpc_put_task_async().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ba8216cd90560bc402f52076f64d8546e8aefcb",
      "tree": "f64c272085c833b36755b5552a726f21eed3d142",
      "parents": [
        "ae7eb8979ccfa5e9e888101b9c940f20bd0f4115"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jan 25 22:52:22 2011 +0100"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sat Mar 05 10:56:00 2011 +0100"
      },
      "message": "BKL: That\u0027s all, folks\n\nThis removes the implementation of the big kernel lock,\nat last. A lot of people have worked on this in the\npast, I so the credit for this patch should be with\neveryone who participated in the hunt.\n\nThe names on the Cc list are the people that were the\nmost active in this, according to the recorded git\nhistory, in alphabetical order.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andrew Hendry \u003candrew.hendry@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jan Blunck \u003cjblunck@infradead.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6d1cafd8b56ea726c10a5a104de57cc3ed8fa953",
      "tree": "638ba81859114b2bda8b4899cf73cc20a8a31553",
      "parents": [
        "c02aa73b1d18e43cfd79c2f193b225e84ca497c8"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Tue Mar 01 16:28:21 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 11:14:31 2011 +0100"
      },
      "message": "sched: Resched proper CPU on yield_to()\n\nyield_to_task_fair() has code to resched the CPU of yielding task when the\nintention is to resched the CPU of the task that is being yielded to.\n\nChange here fixes the problem and also makes the resched conditional on\nrq !\u003d p_rq.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1299025701-22168-1-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c02aa73b1d18e43cfd79c2f193b225e84ca497c8",
      "tree": "bd36bf363e667a915e3ceda99221531362139d51",
      "parents": [
        "a2f5c9ab79f78e8b91ac993e0543d65b661dd19b"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhart@linux.intel.com",
        "time": "Thu Feb 17 15:37:07 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 11:14:30 2011 +0100"
      },
      "message": "sched: Allow users with sufficient RLIMIT_NICE to change from SCHED_IDLE policy\n\nThe current scheduler implementation returns -EPERM when trying to\nchange from SCHED_IDLE to SCHED_OTHER or SCHED_BATCH. Since SCHED_IDLE\nis considered to be a nice 20 on steroids, changing to another policy\nshould be allowed provided the RLIMIT_NICE is accounted for.\n\nThis patch allows the following test-case to pass with RLIMIT_NICE\u003d40,\nbut still fail with RLIMIT_NICE\u003d10 when the calling process is run\nfrom a typical shell (nice 0, or 20 in rlimit terms).\n\nint main()\n{\n\tint ret;\n\tstruct sched_param sp;\n\tsp.sched_priority \u003d 0;\n\n\t/* switch to SCHED_IDLE */\n\tret \u003d sched_setscheduler(0, SCHED_IDLE, \u0026sp);\n\tprintf(\"setscheduler IDLE: %d\\n\", ret);\n\tif (ret) return ret;\n\n\t/* switch back to SCHED_OTHER */\n\tret \u003d sched_setscheduler(0, SCHED_OTHER, \u0026sp);\n\tprintf(\"setscheduler OTHER: %d\\n\", ret);\n\n\treturn ret;\n}\n\n $ ulimit -e\n 40\n $ ./test\n setscheduler IDLE: 0\n setscheduler OTHER: 0\n\n $ ulimit -e 10\n $ ulimit -e\n 10\n $ ./test\n setscheduler IDLE: 0\n setscheduler OTHER: -1\n\nSigned-off-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Richard Purdie \u003crichard.purdie@linuxfoundation.org\u003e\nLKML-Reference: \u003c4D657BEE.4040608@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "544b4a1f309d18f40969dbab7e08bafd136b2f55",
      "tree": "7628de98a77e92ef27d5c596f99a62fbc18d06d8",
      "parents": [
        "7e9498705e810404ecf29bb2d6fa632b9484c609"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Fri Feb 25 15:13:16 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 26 07:59:58 2011 +0100"
      },
      "message": "sched: Clean up the IRQ_TIME_ACCOUNTING code\n\nFix this warning:\n\n  lkml.org/lkml/2011/1/30/124\n\n kernel/sched.c:3719: warning: \u0027irqtime_account_idle_ticks\u0027 defined but not used\n kernel/sched.c:3720: warning: \u0027irqtime_account_process_tick\u0027 defined but not used\n\nIn a cleaner way than:\n\n 7e9498705e81: sched: Add #ifdef around irq time accounting functions\n\nThis patch will not have any functional impact.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: heiko.carstens@de.ibm.com\nCc: a.p.zijlstra@chello.nl\nLKML-Reference: \u003c1298675596-10992-1-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8eb90c30e0e815a1308828352eabd03ca04229dd",
      "tree": "cc41c26975f8ab4e9f3ed734f1bdad9b3774685a",
      "parents": [
        "0c4602ff88d6d6ef0ee6d228ee9acaa6448ff6f5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 23 23:52:21 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 25 20:24:22 2011 +0100"
      },
      "message": "sched: Switch wait_task_inactive to schedule_hrtimeout()\n\nWhen we force thread hard and soft interrupts the startup of ksoftirqd\nwould hang in kthread_bind() when wait_task_inactive() calls\nschedule_timeout_uninterruptible() because there is no softirq yet\nwhich will wake us up.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110223234956.677109139@linutronix.de\u003e\n"
    },
    {
      "commit": "7e9498705e810404ecf29bb2d6fa632b9484c609",
      "tree": "4eacabd8f6b1851d3745a39e0674f23b2c1a2ec3",
      "parents": [
        "511f67a5997c4967c69a3961e2fc9f04d8d244ac"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Feb 25 14:32:28 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 25 14:39:48 2011 +0100"
      },
      "message": "sched: Add #ifdef around irq time accounting functions\n\nGet rid of this:\n\n kernel/sched.c:3731:13: warning: \u0027irqtime_account_idle_ticks\u0027 defined but not used\n kernel/sched.c:3732:13: warning: \u0027irqtime_account_process_tick\u0027 defined but not used\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110225133228.GD7469@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d41d5a01631af821d3a3447e6613a316f5ee6c25",
      "tree": "405ab6bc24e06a64dc17ccafb6daead1400cb29e",
      "parents": [
        "b00560f2d4de69bb12f66f9605985b516df98d77"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 07 17:02:20 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:30:47 2011 +0100"
      },
      "message": "cgroup: Fix cgroup_subsys::exit callback\n\nMake the ::exit method act like ::attach, it is after all very nearly\nthe same thing.\n\nThe bug had no effect on correctness - fixing it is an optimization for\nthe scheduler. Also, later perf-cgroups patches rely on it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nLKML-Reference: \u003c1297160655.13327.92.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf1af3a809506645b9130755b713b008da14737f",
      "tree": "6a13f9c622fa8322a6ca2795bd7bb4e9f8fd6160",
      "parents": [
        "0de4b34d466bae571b50f41c7296b85248205e35",
        "868baf07b1a259f5f3803c1dc2777b6c358f83cf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 14 15:15:16 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 14 15:15:16 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "868baf07b1a259f5f3803c1dc2777b6c358f83cf",
      "tree": "a97caf3db1095ceb806ba53ba7d88d47a153e1b8",
      "parents": [
        "862b6f62bf0cd768910b087f6d051f420206c4d6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Feb 10 21:26:13 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 11 16:23:33 2011 -0500"
      },
      "message": "ftrace: Fix memory leak with function graph and cpu hotplug\n\nWhen the fuction graph tracer starts, it needs to make a special\nstack for each task to save the real return values of the tasks.\nAll running tasks have this stack created, as well as any new\ntasks.\n\nOn CPU hot plug, the new idle task will allocate a stack as well\nwhen init_idle() is called. The problem is that cpu hotplug does\nnot create a new idle_task. Instead it uses the idle task that\nexisted when the cpu went down.\n\nftrace_graph_init_task() will add a new ret_stack to the task\nthat is given to it. Because a clone will make the task\nhave a stack of its parent it does not check if the task\u0027s\nret_stack is already NULL or not. When the CPU hotplug code\nstarts a CPU up again, it will allocate a new stack even\nthough one already existed for it.\n\nThe solution is to treat the idle_task specially. In fact, the\nfunction_graph code already does, just not at init_idle().\nInstead of using the ftrace_graph_init_task() for the idle task,\nwhich that function expects the task to be a clone, have a\nseparate ftrace_graph_init_idle_task(). Also, we will create a\nper_cpu ret_stack that is used by the idle task. When we call\nftrace_graph_init_idle_task() it will check if the idle task\u0027s\nret_stack is NULL, if it is, then it will assign it the per_cpu\nret_stack.\n\nReported-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSuggested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d95f412200652694e63e64bfd49f0ae274a54479",
      "tree": "d2abb7b2c635bbc9f344b45051b6186b1317718c",
      "parents": [
        "ac53db596cc08ecb8040cfb6f71ae40c6f2041c4"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Feb 01 09:50:51 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 03 14:20:33 2011 +0100"
      },
      "message": "sched: Add yield_to(task, preempt) functionality\n\nCurrently only implemented for fair class tasks.\n\nAdd a yield_to_task method() to the fair scheduling class. allowing the\ncaller of yield_to() to accelerate another thread in it\u0027s thread group,\ntask group.\n\nImplemented via a scheduler hint, using cfs_rq-\u003enext to encourage the\ntarget being selected.  We can rely on pick_next_entity to keep things\nfair, so noone can accelerate a thread that has already used its fair\nshare of CPU time.\n\nThis also means callers should only call yield_to when they really\nmean it.  Calling it too often can result in the scheduler just\nignoring the hint.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110201095051.4ddb7738@annuminas.surriel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac53db596cc08ecb8040cfb6f71ae40c6f2041c4",
      "tree": "c263b558772213530532026af6fa9e34a8f88375",
      "parents": [
        "2c13c919d9e9a3db9896143a501f83dcbbe1ced4"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue Feb 01 09:51:03 2011 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 03 14:20:33 2011 +0100"
      },
      "message": "sched: Use a buddy to implement yield_task_fair()\n\nUse the buddy mechanism to implement yield_task_fair.  This\nallows us to skip onto the next highest priority se at every\nlevel in the CFS tree, unless doing so would introduce gross\nunfairness in CPU time distribution.\n\nWe order the buddy selection in pick_next_entity to check\nyield first, then last, then next.  We need next to be able\nto override yield, because it is possible for the \"next\" and\n\"yield\" task to be different processen in the same sub-tree\nof the CFS tree.  When they are, we need to go into that\nsub-tree regardless of the \"yield\" hint, and pick the correct\nentity once we get to the right level.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110201095103.3a79e92a@annuminas.surriel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fe4b04fa31a6dcf4358aa84cf81e5a7fd079469b",
      "tree": "20a6db874d0db2a2f2e38e3ff77df4bdaa5f1cfe",
      "parents": [
        "b84defe6036e6dea782d41b80a4590e54f249671"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 02 13:19:09 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 03 12:14:43 2011 +0100"
      },
      "message": "perf: Cure task_oncpu_function_call() races\n\nOleg reported that on architectures with\n__ARCH_WANT_INTERRUPTS_ON_CTXSW the IPI from\ntask_oncpu_function_call() can land before perf_event_task_sched_in()\nand cause interesting situations for eg. perf_install_in_context().\n\nThis patch reworks the task_oncpu_function_call() interface to give a\nmore usable primitive as well as rework all its users to hopefully be\nmore obvious as well as remove the races.\n\nWhile looking at the code I also found a number of races against\nperf_event_task_sched_out() which can flip contexts between tasks so\nplug those too.\n\nReported-and-reviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6ea72f12069306b235151c5b05ac0cca7e1dedfa",
      "tree": "e4fc438bd781bfdd38bfd6f4ac552f3fb5cf250b",
      "parents": [
        "da7a735e51f9622eb3e1672594d4a41da01d7e4f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 26 13:36:03 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 27 12:48:14 2011 +0100"
      },
      "message": "sched: Avoid expensive initial update_cfs_load(), on UP too\n\nFix the build on UP.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nLKML-Reference: \u003c20110122044852.102126037@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "da7a735e51f9622eb3e1672594d4a41da01d7e4f",
      "tree": "27623dcd39c52a80b79e0ee86ab426fc9c7e2b46",
      "parents": [
        "a8941d7ec81678fb69aea7183338175f112f3e0d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 17 17:03:27 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 12:33:22 2011 +0100"
      },
      "message": "sched: Fix switch_from_fair()\n\nWhen a task is taken out of the fair class we must ensure the vruntime\nis properly normalized because when we put it back in it will assume\nto be normalized.\n\nThe case that goes wrong is when changing away from the fair class\nwhile sleeping. Sleeping tasks have non-normalized vruntime in order\nto make sleeper-fairness work. So treat the switch away from fair as a\nwakeup and preserve the relative vruntime.\n\nAlso update sysrq-n to call the -\u003eswitch_{to,from} methods.\n\nReported-by: Onkalo Samu \u003csamu.p.onkalo@nokia.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "414bee9ba613adb3804965e2d84db32d0599f9c6",
      "tree": "296a0f95ab5dd9c7ca8965639ab39f67c4187586",
      "parents": [
        "abb74cefa9c682fb38ba86c17ca3c86fed6cc464"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Tue Dec 21 17:09:04 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 12:33:22 2011 +0100"
      },
      "message": "softirqs: Account ksoftirqd time as cpustat softirq\n\nsoftirq time in ksoftirqd context is not accounted in ns granularity\nper cpu softirq stats, as we want that to be a part of ksoftirqd\nexec_runtime.\n\nAccounting them as softirq on /proc/stat separately.\n\nTested-by: Shaun Ruffell \u003csruffell@digium.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292980144-28796-6-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "abb74cefa9c682fb38ba86c17ca3c86fed6cc464",
      "tree": "6a2cbcbb8d509c607cd61051d18ebd6019855aaf",
      "parents": [
        "70a89a6620f658d47a1488515bada4b8ee6291d8"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Tue Dec 21 17:09:03 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 12:33:21 2011 +0100"
      },
      "message": "sched: Export ns irqtimes through /proc/stat\n\nCONFIG_IRQ_TIME_ACCOUNTING adds ns granularity irq time on each CPU.\nThis info is already used in scheduler to do proper task chargeback\n(earlier patches). This patch retro-fits this ns granularity\nhardirq and softirq information to /proc/stat irq and softirq fields.\n\nThe update is still done on timer tick, where we look at accumulated\nns hardirq/softirq time and account the tick to user/system/irq/hardirq/guest\naccordingly.\n\nNo new interface added.\n\nEarlier versions looked at adding this as new fields in some /proc\nfiles. This one seems to be the best in terms of impact to existing\napps, even though it has somewhat more kernel code than earlier versions.\n\nTested-by: Shaun Ruffell \u003csruffell@digium.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292980144-28796-5-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70a89a6620f658d47a1488515bada4b8ee6291d8",
      "tree": "8419e284dde540acf0dc858f0f9083d401e3c37d",
      "parents": [
        "a1dabb6bfffccb897eff3e1d102dacf2a4bedf3b"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Tue Dec 21 17:09:02 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 12:33:21 2011 +0100"
      },
      "message": "sched: Refactor account_system_time separating id-update\n\nRefactor account_system_time, to separate out the logic of\nidentifying the update needed and code that does actual update.\n\nThis is used by following patch for IRQ_TIME_ACCOUNTING,\nwhich has different identification logic and same update logic.\n\nTested-by: Shaun Ruffell \u003csruffell@digium.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292980144-28796-4-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4dd53d891ca46dcc1fde0376a33540d3fd83cb9a",
      "tree": "9a6c242176f196c062ae76c50b0f321251900b5a",
      "parents": [
        "f07333bf6ee66d9b49286cec4371cf375e745b7a"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Tue Dec 21 17:09:00 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 12:33:20 2011 +0100"
      },
      "message": "softirqs: Free up pf flag PF_KSOFTIRQD\n\nCleanup patch, freeing up PF_KSOFTIRQD and use per_cpu ksoftirqd pointer\ninstead, as suggested by Eric Dumazet.\n\nTested-by: Shaun Ruffell \u003csruffell@digium.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292980144-28796-2-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f07333bf6ee66d9b49286cec4371cf375e745b7a",
      "tree": "03a1e9968eadf2465b6fc04fb8c1ab67327ea0f2",
      "parents": [
        "6d5ab2932a21ea54406ab95c43ecff90a3eddfda"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Fri Jan 21 20:45:03 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 12:33:19 2011 +0100"
      },
      "message": "sched: Avoid expensive initial update_cfs_load()\n\nSince cfs-\u003e{load_stamp,load_last} are zero-initalized the initial load update\nwill consider the delta to be \u0027since the beginning of time\u0027.\n\nThis results in a lot of pointless divisions to bring this large period to be\nwithin the sysctl_sched_shares_window.\n\nFix this by initializing load_stamp to be 1 at cfs_rq initialization, this\nallows for an initial load_stamp \u003e load_last which then lets standard idle\ntruncation proceed.\n\nWe avoid spinning (and slightly improve consistency) by fixing delta to be\n[period - 1] in this path resulting in a slightly more predictable shares ramp.\n(Previously the amount of idle time preserved by the overflow would range between\n[period/2,period-1].)\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110122044852.102126037@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d5ab2932a21ea54406ab95c43ecff90a3eddfda",
      "tree": "0d2ad00378aec0888426997f8f8dc5d7a3b8a602",
      "parents": [
        "05ca62c6ca17f39b88fa956d5ebc1fa6e93ad5e3"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Fri Jan 21 20:45:01 2011 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 26 12:33:19 2011 +0100"
      },
      "message": "sched: Simplify update_cfs_shares parameters\n\nRe-visiting this: Since update_cfs_shares will now only ever re-weight an\nentity that is a relative parent of the current entity in enqueue_entity; we\ncan safely issue the account_entity_enqueue relative to that cfs_rq and avoid\nthe requirement for special handling of the enqueue case in update_cfs_shares.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110122044851.915214637@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "466c19063b4b426d5c362572787cb249fbf4296b",
      "tree": "214c9d9e914c80eb6b46c9ccd0cd261167393b44",
      "parents": [
        "67290f41b2715de0e0ae93c9285fcbe37ffc5b22",
        "068c5cc5ac7414a8e9eb7856b4bf3cc4d4744267"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:37:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 20 16:37:55 2011 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched, cgroup: Use exit hook to avoid use-after-free crash\n  sched: Fix signed unsigned comparison in check_preempt_tick()\n  sched: Replace rq-\u003ebkl_count with rq-\u003erq_sched_info.bkl_count\n  sched, autogroup: Fix CONFIG_RT_GROUP_SCHED sched_setscheduler() failure\n  sched: Display autogroup names in /proc/sched_debug\n  sched: Reinstate group names in /proc/sched_debug\n  sched: Update effective_load() to use global share weights\n"
    },
    {
      "commit": "068c5cc5ac7414a8e9eb7856b4bf3cc4d4744267",
      "tree": "28a017e342dddd3ffe8e3dd3499a395aee39b796",
      "parents": [
        "d7d8294415f0ce4254827d4a2a5ee88b00be52a8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jan 19 12:26:11 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 12:51:32 2011 +0100"
      },
      "message": "sched, cgroup: Use exit hook to avoid use-after-free crash\n\nBy not notifying the controller of the on-exit move back to\ninit_css_set, we fail to move the task out of the previous\ncgroup\u0027s cfs_rq. This leads to an opportunity for a\ncgroup-destroy to come in and free the cgroup (there are no\nactive tasks left in it after all) to which the not-quite dead\ntask is still enqueued.\n\nReported-by: Miklos Vajna \u003cvmiklos@frugalware.org\u003e\nFixed-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1293206353.29444.205.camel@laptop\u003e\n"
    },
    {
      "commit": "fce2097983d914ea8c2338efc6f6e9bb737f6ae4",
      "tree": "4d1bbf8f330914f471e631662309255ab5f11bb6",
      "parents": [
        "f44937718ce3b8360f72f6c68c9481712517a867"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 14 15:57:39 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:43 2011 +0100"
      },
      "message": "sched: Replace rq-\u003ebkl_count with rq-\u003erq_sched_info.bkl_count\n\nNow rq-\u003erq_sched_info.bkl_count is not used for rq, scroll\nrq-\u003ebkl_count into it. Thus we can save some space for rq.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294991859-13246-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f44937718ce3b8360f72f6c68c9481712517a867",
      "tree": "72b07f4daa686e10f90b666f5b61b66b30bbed2d",
      "parents": [
        "8ecedd7a06d27a31dbb36fab88e2ba6e6edd43ca"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Jan 13 04:54:50 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:09:42 2011 +0100"
      },
      "message": "sched, autogroup: Fix CONFIG_RT_GROUP_SCHED sched_setscheduler() failure\n\nIf CONFIG_RT_GROUP_SCHED is set, __sched_setscheduler() fails due to autogroup\nnot allocating rt_runtime.  Free unused/unusable rt_se and rt_rq, redirect RT\ntasks to the root task group, and tell __sched_setscheduler() that it\u0027s ok.\n\nReported-and-tested-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294890890.8089.39.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "524429c31b486c05449666b94613f59f729c0a84",
      "tree": "00d0a06e864c0054cc6764f1afa6887e1281bcb6",
      "parents": [
        "1c5354de90c900b369e2ebd36c3a065ede29eb93"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Thu Jan 06 20:58:12 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:55:10 2011 +0100"
      },
      "message": "sched: Fix strncmp operation\n\nOne of the operands, buf, is incorrect, since it is stripped and the\ncorrect address for subsequent string comparing could change if\nleading white spaces, if any, are removed from buf.\n\nIt is fixed by replacing buf with cmp.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cAANLkTinOPuYsVovrZpbuCCmG5deEyc8WgA_A1RJx_YK7@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9aa1dd19fe49b5aed3ca94aab87576e534d2a39",
      "tree": "04652389e0bd04e37a327002c21b8215c972eda8",
      "parents": [
        "0ca0873555c0abe17b28c25b19f82857c0ddd2bc"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 05 11:11:25 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:37 2011 +0100"
      },
      "message": "sched: Fix struct autogroup memory leak\n\nSeems I lost a change somewhere, leaking memory.\n\nsched: fix struct autogroup memory leak\n\nAdd missing change to actually use autogroup_free().\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294222285.8369.2.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07e06b011db2b3300f6c975ebf293fc4c8c59942",
      "tree": "f6f0fdd7c1707aa9badf16d1ceb4de1e16adb9e9",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 07 15:17:36 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:34 2011 +0100"
      },
      "message": "sched: Consolidate the name of root_task_group and init_task_group\n\nroot_task_group is the leftover of USER_SCHED, now it\u0027s always\nsame to init_task_group.\nBut as Mike suggested, root_task_group is maybe the suitable name\nto keep for a tree.\nSo in this patch:\n  init_task_group      --\u003e root_task_group\n  init_task_group_load --\u003e root_task_group_load\n  INIT_TASK_GROUP_LOAD --\u003e ROOT_TASK_GROUP_LOAD\n\nSuggested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110107071736.GA32635@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "65b2074f84be2287e020839e93b4cdaaf60eb37c",
      "tree": "d020c3c37fa5b112ee531b324214236bef9feec6",
      "parents": [
        "28d9bfc37c861aa9c8386dff1ac7e9a10e5c5162",
        "6bf4123760a5aece6e4829ce90b70b6ffd751d65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:23:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:23:33 2011 -0800"
      },
      "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: (30 commits)\n  sched: Change wait_for_completion_*_timeout() to return a signed long\n  sched, autogroup: Fix reference leak\n  sched, autogroup: Fix potential access to freed memory\n  sched: Remove redundant CONFIG_CGROUP_SCHED ifdef\n  sched: Fix interactivity bug by charging unaccounted run-time on entity re-weight\n  sched: Move periodic share updates to entity_tick()\n  printk: Use this_cpu_{read|write} api on printk_pending\n  sched: Make pushable_tasks CONFIG_SMP dependant\n  sched: Add \u0027autogroup\u0027 scheduling feature: automated per session task groups\n  sched: Fix unregister_fair_sched_group()\n  sched: Remove unused argument dest_cpu to migrate_task()\n  mutexes, sched: Introduce arch_mutex_cpu_relax()\n  sched: Add some clock info to sched_debug\n  cpu: Remove incorrect BUG_ON\n  cpu: Remove unused variable\n  sched: Fix UP build breakage\n  sched: Make task dump print all 15 chars of proc comm\n  sched: Update tg-\u003eshares after cpu.shares write\n  sched: Allow update_cfs_load() to update global load\n  sched: Implement demand based update_cfs_load()\n  ...\n"
    },
    {
      "commit": "28d9bfc37c861aa9c8386dff1ac7e9a10e5c5162",
      "tree": "85bcc2db18ff20e380a40aba375e70d14c2671b4",
      "parents": [
        "f3b0cfa9b017a9d4686c9b14b908a1685f97a077",
        "4b95f135f606c87e4056b6d7fd3c5781c818858b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:17:26 2011 -0800"
      },
      "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: (146 commits)\n  tools, perf: Documentation for the power events API\n  perf: Add calls to suspend trace point\n  perf script: Make some lists static\n  perf script: Use the default lost event handler\n  perf session: Warn about errors when processing pipe events too\n  perf tools: Fix perf_event.h header usage\n  perf test: Clarify some error reports in the open syscall test\n  x86, NMI: Add touch_nmi_watchdog to io_check_error delay\n  x86: Avoid calling arch_trigger_all_cpu_backtrace() at the same time\n  x86: Only call smp_processor_id in non-preempt cases\n  perf timechart: Adjust perf timechart to the new power events\n  perf: Clean up power events by introducing new, more generic ones\n  perf: Do not export power_frequency, but power_start event\n  perf test: Add test for counting open syscalls\n  perf evsel: Auto allocate resources needed for some methods\n  perf evsel: Use {cpu,thread}_map to shorten list of parameters\n  perf tools: Refactor all_tids to hold nr and the map\n  perf tools: Refactor cpumap to hold nr and the map\n  perf evsel: Introduce per cpu and per thread open helpers\n  perf evsel: Steal the counter reading routines from stat\n  ...\n"
    },
    {
      "commit": "6bf4123760a5aece6e4829ce90b70b6ffd751d65",
      "tree": "f7c34fba897b0a1270817c415b8c095958f59add",
      "parents": [
        "27066fd484a32c80630136aa2b91c980f3198f9d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Jan 05 12:50:16 2011 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:15:50 2011 +0100"
      },
      "message": "sched: Change wait_for_completion_*_timeout() to return a signed long\n\nwait_for_completion_*_timeout() can return:\n\n   0: if the wait timed out\n -ve: if the wait was interrupted\n +ve: if the completion was completed.\n\nAs they currently return an \u0027unsigned long\u0027, the last two cases\nare not easily distinguished which can easily result in buggy\ncode, as is the case for the recently added\nwait_for_completion_interruptible_timeout() call in\nnet/sunrpc/cache.c\n\nSo change them both to return \u0027long\u0027.  As MAX_SCHEDULE_TIMEOUT\nis LONG_MAX, a large +ve return value should never overflow.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: J.  Bruce Fields \u003cbfields@fieldses.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110105125016.64ccab0e@notabene.brown\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27066fd484a32c80630136aa2b91c980f3198f9d",
      "tree": "78ddabdedbfd7525d13ecd62a745525843f1d0e8",
      "parents": [
        "101e5f77bf35679809586e250b6c62193d2ed179",
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:14:42 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:14:46 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.37\u0027 into sched/core\n\nMerge reason: Merge the final .37 tree.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6706125e291bd3dddd269e043323a6ab93ccd5fb",
      "tree": "89dfe09c093cdac25b8c51f828fd32f801f17a34",
      "parents": [
        "19e5eebb8eaa5ca3ff8aa18cb57ccb7a9f67277d"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Dec 31 21:58:58 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 09:42:03 2011 +0100"
      },
      "message": "sched: Remove redundant CONFIG_CGROUP_SCHED ifdef\n\nCONFIG_[FAIR|RT]_GROUP_SCHED always means CONFIG_CGROUP_SCHED\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1293803938-8157-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "394f4528c523d88daabd50f883a8d6b164075555",
      "tree": "b45a5b87a1ba9be8afe71f1db1537ff19e2b05d8",
      "parents": [
        "90a8a73c06cc32b609a880d48449d7083327e11a",
        "3c2dcf2aed5ea22ecf65a9a871c4963faec421b3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 23 12:57:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 23 12:57:04 2010 +0100"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu\n"
    },
    {
      "commit": "4b7bd364700d9ac8372eff48832062b936d0793b",
      "tree": "0dbf78c95456a0b02d07fcd473281f04a87e266d",
      "parents": [
        "c0d8768af260e2cbb4bf659ae6094a262c86b085",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nConflicts:\n\tMAINTAINERS\n\tarch/arm/mach-omap2/pm24xx.c\n\tdrivers/scsi/bfa/bfa_fcpim.c\n\nNeeded to update to apply fixes for which the old branch was too\noutdated.\n"
    },
    {
      "commit": "6c529a266bdc590a870ee2d2092ff6527eff427b",
      "tree": "7be65fa2578820a1258b5a1e8e063a509a5d6176",
      "parents": [
        "7639dae0ca11038286bbbcda05f2bef601c1eb8d",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 22 11:53:20 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 22 11:53:23 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc7\u0027 into perf/core\n\nMerge reason: Pick up the latest -rc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "050c6c9b896625d9fa498265be17b82c5fc65257",
      "tree": "998a73afe0c3eddd35754cd4de54a65fc4313cec",
      "parents": [
        "8e92c20183ed0579d94501311b81c42b65cb2129"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 23:24:27 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 23:24:27 2010 +0100"
      },
      "message": "sched: Remove debugging check\n\nLinus reported that the new warning introduced by commit f26f9aff6aaf\n\"Sched: fix skip_clock_update optimization\" triggers. The need_resched\nflag can be set by other CPUs asynchronously so this debug check is\nbogus - remove it.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cAANLkTinJ8hAG1TpyC+CSYPR47p48+1\u003dE7fiC45hMXT_1@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "24a24bb6ff3dc3a09bb131241be920ecc3f0e519",
      "tree": "181eca7d23ba93af11304683a309e18b697a15b0",
      "parents": [
        "4407204c5c9037763aadce39b025529dfbfcac9e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 17 23:17:33 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:36:42 2010 +0100"
      },
      "message": "perf: Move perf_event_init() into main.c\n\nCurrently we call perf_event_init() from sched_init(). In order to\nmake it more obvious move it to the cannnonical location.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101117222056.093629821@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e92c20183ed0579d94501311b81c42b65cb2129",
      "tree": "3a00ccaf8222c994fd7071129dc357321c10c9df",
      "parents": [
        "fe44d62122829959e960bc699318d58966922a69"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 09 14:15:34 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:17:47 2010 +0100"
      },
      "message": "sched: Fix the irqtime code for 32bit\n\nSince the irqtime accounting is using non-atomic u64 and can be read\nfrom remote cpus (writes are strictly cpu local, reads are not) we\nhave to deal with observing partial updates.\n\nWhen we do observe partial updates the clock movement (in particular,\n-\u003eclock_task movement) will go funny (in either direction), a\nsubsequent clock update (observing the full update) will make it go\nfunny in the oposite direction.\n\nSince we rely on these clocks to be strictly monotonic we cannot\nsuffer backwards motion. One possible solution would be to simply\nignore all backwards deltas, but that will lead to accounting\nartefacts, most notable: clock_task + irq_time !\u003d clock, this\ninaccuracy would end up in user visible stats.\n\nTherefore serialize the reads using a seqcount.\n\nReviewed-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nReported-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nTested-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292242434.6803.200.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fe44d62122829959e960bc699318d58966922a69",
      "tree": "bacb96098cffa7b7b8d80506a2026b5125557f2a",
      "parents": [
        "dbd87b5af055a0cc9bba17795c9a2b0d17795389"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 09 14:15:34 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:17:46 2010 +0100"
      },
      "message": "sched: Fix the irqtime code to deal with u64 wraps\n\nSome ARM systems have a short sched_clock() [ which needs to be fixed\ntoo ], but this exposed a bug in the irq_time code as well, it doesn\u0027t\ndeal with wraps at all.\n\nFix the irq_time code to deal with u64 wraps by re-writing the code to\nonly use delta increments, which avoids the whole issue.\n\nReviewed-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nReported-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nTested-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292242433.6803.199.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "806c09a7db457be3758e14b1f152761135d89af5",
      "tree": "b0fafff45634be80f3caf7227c5d47317f26e0e9",
      "parents": [
        "8e9255e6a2141e050d51bc4d96dbef494a87d653"
      ],
      "author": {
        "name": "Dario Faggioli",
        "email": "raistlin@linux.it",
        "time": "Tue Nov 30 19:51:33 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:16:00 2010 +0100"
      },
      "message": "sched: Make pushable_tasks CONFIG_SMP dependant\n\nAs noted by Peter Zijlstra at https://lkml.org/lkml/2010/11/10/391\n(while reviewing other stuff, though), tracking pushable tasks\nonly makes sense on SMP systems.\n\nSigned-off-by: Dario Faggioli \u003craistlin@linux.it\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1291143093.2697.298.camel@Palantir\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f26f9aff6aaf67e9a430d16c266f91b13a5bff64",
      "tree": "84e39b539b42655dbae6b80acbe14e10772711fe",
      "parents": [
        "0f004f5a696a9434b7214d0d3cbd0525ee77d428"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Dec 08 11:05:42 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:15:06 2010 +0100"
      },
      "message": "Sched: fix skip_clock_update optimization\n\nidle_balance() drops/retakes rq-\u003elock, leaving the previous task\nvulnerable to set_tsk_need_resched().  Clear it after we return\nfrom balancing instead, and in setup_thread_stack() as well, so\nno successfully descheduled or never scheduled task has it set.\n\nNeed resched confused the skip_clock_update logic, which assumes\nthat the next call to update_rq_clock() will come nearly immediately\nafter being set.  Make the optimization robust against the waking\na sleeper before it sucessfully deschedules case by checking that\nthe current task has not been dequeued before setting the flag,\nsince it is that useless clock update we\u0027re trying to save, and\nclear unconditionally in schedule() proper instead of conditionally\nin put_prev_task().\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReported-by: Bjoern B. Brandenburg \u003cbbb.lst@gmail.com\u003e\nTested-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c1291802742.1417.9.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f004f5a696a9434b7214d0d3cbd0525ee77d428",
      "tree": "274b3bb92469789284d864314d46e902c70e8384",
      "parents": [
        "6313e3c21743cc88bb5bd8aa72948ee1e83937b6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 30 19:48:45 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:15:04 2010 +0100"
      },
      "message": "sched: Cure more NO_HZ load average woes\n\nThere\u0027s a long-running regression that proved difficult to fix and\nwhich is hitting certain people and is rather annoying in its effects.\n\nDamien reported that after 74f5187ac8 (sched: Cure load average vs\nNO_HZ woes) his load average is unnaturally high, he also noted that\neven with that patch reverted the load avgerage numbers are not\ncorrect.\n\nThe problem is that the previous patch only solved half the NO_HZ\nproblem, it addressed the part of going into NO_HZ mode, not of\ncomming out of NO_HZ mode. This patch implements that missing half.\n\nWhen comming out of NO_HZ mode there are two important things to take\ncare of:\n\n - Folding the pending idle delta into the global active count.\n - Correctly aging the averages for the idle-duration.\n\nSo with this patch the NO_HZ interaction should be complete and\nbehaviour between CONFIG_NO_HZ\u003d[yn] should be equivalent.\n\nFurthermore, this patch slightly changes the load average computation\nby adding a rounding term to the fixed point multiplication.\n\nReported-by: Damien Wyart \u003cdamien.wyart@free.fr\u003e\nReported-by: Tim McGrath \u003ctmhikaru@gmail.com\u003e\nTested-by: Damien Wyart \u003cdamien.wyart@free.fr\u003e\nTested-by: Orion Poplawski \u003corion@cora.nwra.com\u003e\nTested-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nCc: Chase Douglas \u003cchase.douglas@canonical.com\u003e\nLKML-Reference: \u003c1291129145.32004.874.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5091faa449ee0b7d73bc296a93bca9540fc51d0a",
      "tree": "55f5e96e189af65c85c769fce48627b8a5abb86b",
      "parents": [
        "822bc180a7f7a7bc5fcaaea195f41b487cc8cae8"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Nov 30 14:18:03 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 30 16:03:35 2010 +0100"
      },
      "message": "sched: Add \u0027autogroup\u0027 scheduling feature: automated per session task groups\n\nA recurring complaint from CFS users is that parallel kbuild has\na negative impact on desktop interactivity.  This patch\nimplements an idea from Linus, to automatically create task\ngroups.  Currently, only per session autogroups are implemented,\nbut the patch leaves the way open for enhancement.\n\nImplementation: each task\u0027s signal struct contains an inherited\npointer to a refcounted autogroup struct containing a task group\npointer, the default for all tasks pointing to the\ninit_task_group.  When a task calls setsid(), a new task group\nis created, the process is moved into the new task group, and a\nreference to the preveious task group is dropped.  Child\nprocesses inherit this task group thereafter, and increase it\u0027s\nrefcount.  When the last thread of a process exits, the\nprocess\u0027s reference is dropped, such that when the last process\nreferencing an autogroup exits, the autogroup is destroyed.\n\nAt runqueue selection time, IFF a task has no cgroup assignment,\nits current autogroup is used.\n\nAutogroup bandwidth is controllable via setting it\u0027s nice level\nthrough the proc filesystem:\n\n  cat /proc/\u003cpid\u003e/autogroup\n\nDisplays the task\u0027s group and the group\u0027s nice level.\n\n  echo \u003cnice level\u003e \u003e /proc/\u003cpid\u003e/autogroup\n\nSets the task group\u0027s shares to the weight of nice \u003clevel\u003e task.\nSetting nice level is rate limited for !admin users due to the\nabuse risk of task group locking.\n\nThe feature is enabled from boot by default if\nCONFIG_SCHED_AUTOGROUP\u003dy is selected, but can be disabled via\nthe boot option noautogroup, and can also be turned on/off on\nthe fly via:\n\n  echo [01] \u003e /proc/sys/kernel/sched_autogroup_enabled\n\n... which will automatically move tasks to/from the root task group.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n[ Removed the task_group_path() debug code, and fixed !EVENTFD build failure. ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1290281700.28711.9.camel@maggy.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "822bc180a7f7a7bc5fcaaea195f41b487cc8cae8",
      "tree": "875bc605db4996e5e008f73fde1daf27fd49a53c",
      "parents": [
        "b7a2b39d9b7703ccf068f549c8dc3465fc41d015"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 29 16:55:40 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 30 10:07:10 2010 +0100"
      },
      "message": "sched: Fix unregister_fair_sched_group()\n\nIn the flipping and flopping between calling\nunregister_fair_sched_group() on a per-cpu versus per-group basis\nwe ended up in a bad state.\n\nRemove from the list for the passed cpu as opposed to some\narbitrary index.\n\n( This fixes explosions w/ autogroup as well as a group\n  creation/destruction stress test. )\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20101130005740.080828123@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7b27d5475f86186914e54e4a6bb994e9a985337b",
      "tree": "36349c88d75497db89956d6721d82c4f889cbc2b",
      "parents": [
        "deb7a41815a8a32d4f9ea2af7a48ed1175222cec"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Oct 21 11:29:05 2010 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Nov 29 22:01:58 2010 -0800"
      },
      "message": "rcu,cleanup: move synchronize_sched_expedited() out of sched.c\n\nThe first version of synchronize_sched_expedited() used the migration\ncode in the scheduler, and was therefore implemented in kernel/sched.c.\nHowever, the more recent version of this code no longer uses the\nmigration code, so this commit moves it to the main RCU source files.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b7a2b39d9b7703ccf068f549c8dc3465fc41d015",
      "tree": "6890598daf8e4148a2a9ff085a6cac1f71b24c74",
      "parents": [
        "335d7afbfb71faac833734a94240c1e07cf0ead8"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Fri Nov 26 12:37:09 2010 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:05:36 2010 +0100"
      },
      "message": "sched: Remove unused argument dest_cpu to migrate_task()\n\nRemove unused argument, \u0027dest_cpu\u0027 of migrate_task(), and pass runqueue,\nas it is always known at the call site.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c201011261237.09187.knikanth@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "335d7afbfb71faac833734a94240c1e07cf0ead8",
      "tree": "483a24c6005af6eb25a256d92a697411d94a7458",
      "parents": [
        "22a867d81707b0a2720bb5f65255265b95d30526"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Mon Nov 22 15:47:36 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:05:34 2010 +0100"
      },
      "message": "mutexes, sched: Introduce arch_mutex_cpu_relax()\n\nThe spinning mutex implementation uses cpu_relax() in busy loops as a\ncompiler barrier. Depending on the architecture, cpu_relax() may do more\nthan needed in this specific mutex spin loops. On System z we also give\nup the time slice of the virtual cpu in cpu_relax(), which prevents\neffective spinning on the mutex.\n\nThis patch replaces cpu_relax() in the spinning mutex code with\narch_mutex_cpu_relax(), which can be defined by each architecture that\nselects HAVE_ARCH_MUTEX_CPU_RELAX. The default is still cpu_relax(), so\nthis patch should not affect other architectures than System z for now.\n\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290437256.7455.4.camel@thinkpad\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22a867d81707b0a2720bb5f65255265b95d30526",
      "tree": "7ec19b155b50b13ae95244c2bfa16aea4920c4f6",
      "parents": [
        "5bb6b1ea67a73f0665a41726dd7138977b992c6c",
        "3561d43fd289f590fdae672e5eb831b8d5cf0bf6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:03:27 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:05:21 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc3\u0027 into sched/core\n\nMerge reason: Pick up latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28d0686cf7b14e30243096bd874d3f80591ed392",
      "tree": "a5e9c1ed7dfb51049de3a725fdcb8d782d2f3ed8",
      "parents": [
        "9437178f623a19af5951808d880a8599f66ac150"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Fri Nov 19 18:08:51 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 23 10:29:07 2010 +0100"
      },
      "message": "sched: Make task dump print all 15 chars of proc comm\n\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290218934-8544-3-git-send-email-john.stultz@linaro.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9437178f623a19af5951808d880a8599f66ac150",
      "tree": "a2f315092f0b7b31cf023a82175c6cf68fd5e04c",
      "parents": [
        "d6b5591829bd348a5fbe1c428d28dea00621cdba"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:10 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:50 2010 +0100"
      },
      "message": "sched: Update tg-\u003eshares after cpu.shares write\n\nFormerly sched_group_set_shares would force a rebalance by overflowing domain\nshare sums.  Now that per-cpu averages are maintained we can set the true value\nby issuing an update_cfs_shares() following a tg-\u003eshares update.\n\nAlso initialize tg se-\u003eload to 0 for consistency since we\u0027ll now set correct\nweights on enqueue.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com?\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234938.465521344@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3b3d190ec3683d568fd2ebaead5e1ec7f97b6e37",
      "tree": "6839bc473200dcb69c5de998921684ac569ce18b",
      "parents": [
        "c66eaf619c0c7937e9ded160ae83b5a7a6b19b56"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:08 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:49 2010 +0100"
      },
      "message": "sched: Implement demand based update_cfs_load()\n\nWhen the system is busy, dilation of rq-\u003enext_balance makes lb-\u003eupdate_shares()\ninsufficiently frequent for threads which don\u0027t sleep (no dequeue/enqueue\nupdates).  Adjust for this by making demand based updates based on the\naccumulation of execution time sufficient to wrap our averaging window.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234938.291159744@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e33078baa4d30ad1d0e46d1f62b9e5a63a3e6ee3",
      "tree": "13d1a075c9cd41ce666cf21b0b209bd3d121f566",
      "parents": [
        "f0d7442a5924a802b66eef79b3708f77297bfb35"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:04 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:48 2010 +0100"
      },
      "message": "sched: Fix update_cfs_load() synchronization\n\nUsing cfs_rq-\u003enr_running is not sufficient to synchronize update_cfs_load with\nthe put path since nr_running accounting occurs at deactivation.\n\nIt\u0027s also not safe to make the removal decision based on load_avg as this fails\nwith both high periods and low shares.  Resolve this by clipping history after\n4 periods without activity.\n\nNote: the above will always occur from update_shares() since in the\nlast-task-sleep-case that task will still be cfs_rq-\u003ecurr when update_cfs_load\nis called.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.933428187@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e3081ca61147b29f52fddb4f7c6b6b82ea5eb7a",
      "tree": "74ec7a4f3e544ed64afb6cb7abe6322ca700d19a",
      "parents": [
        "3d4b47b4b040c9d77dd68104cfc1055d89a55afd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 15 15:47:02 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:47 2010 +0100"
      },
      "message": "sched: Make tg_shares_up() walk on-demand\n\nMake tg_shares_up() use the active cgroup list, this means we cannot\ndo a strict bottom-up walk of the hierarchy, but assuming its a very\nwide tree with a small number of active groups it should be a win.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.754159484@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3d4b47b4b040c9d77dd68104cfc1055d89a55afd",
      "tree": "a4b39b5d7c89a319b81543c1b26778d6220e772b",
      "parents": [
        "2069dd75c7d0f49355939e5586daf5a9ab216db7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 15 15:47:01 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:47 2010 +0100"
      },
      "message": "sched: Implement on-demand (active) cfs_rq list\n\nMake certain load-balance actions scale per number of active cgroups\ninstead of the number of existing cgroups.\n\nThis makes wakeup/sleep paths more expensive, but is a win for systems\nwhere the vast majority of existing cgroups are idle.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.666535048@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2069dd75c7d0f49355939e5586daf5a9ab216db7",
      "tree": "c221747420e47b194a2a634024438a55420224d5",
      "parents": [
        "48c5ccae88dcd989d9de507e8510313c6cbd352b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 15 15:47:00 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:46 2010 +0100"
      },
      "message": "sched: Rewrite tg_shares_up)\n\nBy tracking a per-cpu load-avg for each cfs_rq and folding it into a\nglobal task_group load on each tick we can rework tg_shares_up to be\nstrictly per-cpu.\n\nThis should improve cpu-cgroup performance for smp systems\nsignificantly.\n\n[ Paul: changed to use queueing cfs_rq + bug fixes ]\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.580480400@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48c5ccae88dcd989d9de507e8510313c6cbd352b",
      "tree": "06fe8ce2ac28e9f5844de8bc32ecbef97e40d68b",
      "parents": [
        "92fd4d4d67b945c0766416284d4ab236b31542c4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 13 19:32:29 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:46 2010 +0100"
      },
      "message": "sched: Simplify cpu-hot-unplug task migration\n\nWhile discussing the need for sched_idle_next(), Oleg remarked that\nsince try_to_wake_up() ensures sleeping tasks will end up running on a\nsane cpu, we can do away with migrate_live_tasks().\n\nIf we then extend the existing hack of migrating current from\nCPU_DYING to migrating the full rq worth of tasks from CPU_DYING, the\nneed for the sched_idle_next() abomination disappears as well, since\nidle will be the only possible thread left after the migration thread\nstops.\n\nThis greatly simplifies the hot-unplug task migration path, as can be\nseen from the resulting code reduction (and about half the new lines\nare comments).\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1289851597.2109.547.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92fd4d4d67b945c0766416284d4ab236b31542c4",
      "tree": "00b8b5f90748f752ccaba3dddbe271091d93543a",
      "parents": [
        "fe7de49f9d4e53f24ec9ef762a503f70b562341c",
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:22:14 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:22:26 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc2\u0027 into sched/core\n\nMerge reason: Move to a .37-rc base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1e5a74059f9059d330744eac84873b1b99657008",
      "tree": "f32f8ac76d5a6c49c1b4cd8f83155af00007fac0",
      "parents": [
        "2d46709082c062cae7cce1a15f8cd4cd81b92d88"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Oct 31 12:37:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 11 14:37:23 2010 +0100"
      },
      "message": "sched: Fix cross-sched-class wakeup preemption\n\nInstead of dealing with sched classes inside each check_preempt_curr()\nimplementation, pull out this logic into the generic wakeup preemption\npath.\n\nThis fixes a hang in KVM (and others) where we are waiting for the\nstop machine thread to run ...\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nTested-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nTested-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1288891946.2039.31.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aae6d3ddd8b90f5b2c8d79a2b914d1706d124193",
      "tree": "b993f929f4b1cc38ef01094ff4504eaf358adb31",
      "parents": [
        "f6614b7bb405a9b35dd28baea989a749492c46b2"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Fri Sep 17 15:02:32 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 10 23:13:56 2010 +0100"
      },
      "message": "sched: Use group weight, idle cpu metrics to fix imbalances during idle\n\nCurrently we consider a sched domain to be well balanced when the imbalance\nis less than the domain\u0027s imablance_pct. As the number of cores and threads\nare increasing, current values of imbalance_pct (for example 25% for a\nNUMA domain) are not enough to detect imbalances like:\n\na) On a WSM-EP system (two sockets, each having 6 cores and 12 logical threads),\n24 cpu-hogging tasks get scheduled as 13 on one socket and 11 on another\nsocket. Leading to an idle HT cpu.\n\nb) On a hypothetial 2 socket NHM-EX system (each socket having 8 cores and\n16 logical threads), 16 cpu-hogging tasks can get scheduled as 9 on one\nsocket and 7 on another socket. Leaving one core in a socket idle\nwhereas in another socket we have a core having both its HT siblings busy.\n\nWhile this issue can be fixed by decreasing the domain\u0027s imbalance_pct\n(by making it a function of number of logical cpus in the domain), it\ncan potentially cause more task migrations across sched groups in an\noverloaded case.\n\nFix this by using imbalance_pct only during newly_idle and busy\nload balancing. And during idle load balancing, check if there\nis an imbalance in number of idle cpu\u0027s across the busiest and this\nsched_group or if the busiest group has more tasks than its weight that\nthe idle cpu in this_group can pull.\n\nReported-by: Nikhil Rao \u003cncrao@google.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1284760952.2676.11.camel@sbsiddha-MOBL3.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b595076a180a56d1bb170e6eceda6eb9d76f4cd3",
      "tree": "bc01ec7283808013e0b8ce7713fd6fc40f810429",
      "parents": [
        "6aaccece1c483f189f76f1282b3984ff4c7ecb0a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "message": "tree-wide: fix comment/printk typos\n\n\"gadget\", \"through\", \"command\", \"maintain\", \"maintain\", \"controller\", \"address\",\n\"between\", \"initiali[zs]e\", \"instead\", \"function\", \"select\", \"already\",\n\"equal\", \"access\", \"management\", \"hierarchy\", \"registration\", \"interest\",\n\"relative\", \"memory\", \"offset\", \"already\",\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "37542b6a7e73e81f8c066a48e6911e476ee3b22f",
      "tree": "39da99d28803b18c223eebe45c3170992ee08b7e",
      "parents": [
        "c07724e5b868c603f2a65f3855c77b23454db3ed",
        "d4a6f3c32c39132318454e77d59ab14b06f6eb02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 08:05:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 08:05:33 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched_stat: Update sched_info_queue/dequeue() code comments\n  sched, cgroup: Fixup broken cgroup movement\n"
    },
    {
      "commit": "fe7de49f9d4e53f24ec9ef762a503f70b562341c",
      "tree": "766b012c7199f12625bc909748175d9e37b0b87d",
      "parents": [
        "d4429f608abde89e8bc1e24b43cd503feb95c496"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Oct 20 16:01:12 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 23 17:56:48 2010 +0200"
      },
      "message": "sched: Make sched_param argument static in sched_setscheduler() callers\n\nAndrew Morton pointed out almost all sched_setscheduler() callers are\nusing fixed parameters and can be converted to static.  It reduces runtime\nmemory use a little.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b2b5ce022acf5e9f52f7b78c5579994fdde191d4",
      "tree": "15e7d1742b530cdbe7b0734378e7f043b9a5faac",
      "parents": [
        "b7dadc38797584f6203386da1947ed5edf516646"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 15 15:24:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 22 14:16:45 2010 +0200"
      },
      "message": "sched, cgroup: Fixup broken cgroup movement\n\nDima noticed that we fail to correct the -\u003evruntime of sleeping tasks\nwhen we move them between cgroups.\n\nReported-by: Dima Zavin \u003cdima@android.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c1287150604.29097.1513.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bc4016f48161454a9a8e5eb209b0693c6cde9f62",
      "tree": "f470f5d711e975b152eec90282f5dd30a1d5dba5",
      "parents": [
        "5d70f79b5ef6ea2de4f72a37b2d96e2601e40a22",
        "b7dadc38797584f6203386da1947ed5edf516646"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:55:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:55:43 2010 -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: (29 commits)\n  sched: Export account_system_vtime()\n  sched: Call tick_check_idle before __irq_enter\n  sched: Remove irq time from available CPU power\n  sched: Do not account irq time to current task\n  x86: Add IRQ_TIME_ACCOUNTING\n  sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time\n  sched: Add a PF flag for ksoftirqd identification\n  sched: Consolidate account_system_vtime extern declaration\n  sched: Fix softirq time accounting\n  sched: Drop group_capacity to 1 only if local group has extra capacity\n  sched: Force balancing on newidle balance if local group has capacity\n  sched: Set group_imb only a task can be pulled from the busiest cpu\n  sched: Do not consider SCHED_IDLE tasks to be cache hot\n  sched: Drop all load weight manipulation for RT tasks\n  sched: Create special class for stop/migrate work\n  sched: Unindent labels\n  sched: Comment updates: fix default latency and granularity numbers\n  tracing/sched: Add sched_pi_setprio tracepoint\n  sched: Give CPU bound RT tasks preference\n  sched: Try not to migrate higher priority RT tasks\n  ...\n"
    },
    {
      "commit": "5d70f79b5ef6ea2de4f72a37b2d96e2601e40a22",
      "tree": "a0d6de0930ba83ecf4629c2e2e261f5eaa2d8f33",
      "parents": [
        "888a6f77e0418b049f83d37547c209b904d30af4",
        "750ed158bf6c782d2813da1bca2c824365a0b777"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:49 2010 -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: (163 commits)\n  tracing: Fix compile issue for trace_sched_wakeup.c\n  [S390] hardirq: remove pointless header file includes\n  [IA64] Move local_softirq_pending() definition\n  perf, powerpc: Fix power_pmu_event_init to not use event-\u003ectx\n  ftrace: Remove recursion between recordmcount and scripts/mod/empty\n  jump_label: Add COND_STMT(), reducer wrappery\n  perf: Optimize sw events\n  perf: Use jump_labels to optimize the scheduler hooks\n  jump_label: Add atomic_t interface\n  jump_label: Use more consistent naming\n  perf, hw_breakpoint: Fix crash in hw_breakpoint creation\n  perf: Find task before event alloc\n  perf: Fix task refcount bugs\n  perf: Fix group moving\n  irq_work: Add generic hardirq context callbacks\n  perf_events: Fix transaction recovery in group_sched_in()\n  perf_events: Fix bogus AMD64 generic TLB events\n  perf_events: Fix bogus context time tracking\n  tracing: Remove parent recording in latency tracer graph options\n  tracing: Use one prologue for the preempt irqs off tracer function tracers\n  ...\n"
    },
    {
      "commit": "888a6f77e0418b049f83d37547c209b904d30af4",
      "tree": "42cdb9f781d2177e6b380e69a66a27ec7705f51f",
      "parents": [
        "31b7eab27a314b153d8fa07ba9e9ec00a98141e1",
        "6506cf6ce68d78a5470a8360c965dafe8e4b78e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:12 2010 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (52 commits)\n  sched: fix RCU lockdep splat from task_group()\n  rcu: using ACCESS_ONCE() to observe the jiffies_stall/rnp-\u003eqsmask value\n  sched: suppress RCU lockdep splat in task_fork_fair\n  net: suppress RCU lockdep false positive in sock_update_classid\n  rcu: move check from rcu_dereference_bh to rcu_read_lock_bh_held\n  rcu: Add advice to PROVE_RCU_REPEATEDLY kernel config parameter\n  rcu: Add tracing data to support queueing models\n  rcu: fix sparse errors in rcutorture.c\n  rcu: only one evaluation of arg in rcu_dereference_check() unless sparse\n  kernel: Remove undead ifdef CONFIG_DEBUG_LOCK_ALLOC\n  rcu: fix _oddness handling of verbose stall warnings\n  rcu: performance fixes to TINY_PREEMPT_RCU callback checking\n  rcu: upgrade stallwarn.txt documentation for CPU-bound RT processes\n  vhost: add __rcu annotations\n  rcu: add comment stating that list_empty() applies to RCU-protected lists\n  rcu: apply TINY_PREEMPT_RCU read-side speedup to TREE_PREEMPT_RCU\n  rcu: combine duplicate code, courtesy of CONFIG_PREEMPT_RCU\n  rcu: Upgrade srcu_read_lock() docbook about SRCU grace periods\n  rcu: document ways of stalling updates in low-memory situations\n  rcu: repair code-duplication FIXMEs\n  ...\n"
    },
    {
      "commit": "b0ae19811375031ae3b3fecc65b702a9c6e5cc28",
      "tree": "a765b71155fbed1ed3a3cff35c1044ad49a002ae",
      "parents": [
        "9b3056cca09529d34af2d81305b2a9c6b622ca1b"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Oct 15 04:21:18 2010 +0900"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Oct 21 10:12:44 2010 +1100"
      },
      "message": "security: remove unused parameter from security_task_setscheduler()\n\nAll security modules shouldn\u0027t change sched_param parameter of\nsecurity_task_setscheduler().  This is not only meaningless, but also\nmake a harmful result if caller pass a static variable.\n\nThis patch remove policy and sched_param parameter from\nsecurity_task_setscheduler() becuase none of security module is\nusing it.\n\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b7dadc38797584f6203386da1947ed5edf516646",
      "tree": "7598dbfaa7b2515da697c740c87d0a98e950b8c7",
      "parents": [
        "d267f87fb8179c6dba03d08b91952e81bc3723c7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:00:37 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:30 2010 +0200"
      },
      "message": "sched: Export account_system_vtime()\n\nKVM uses it for example:\n\n ERROR: \"account_system_vtime\" [arch/x86/kvm/kvm.ko] undefined!\n\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-3-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d267f87fb8179c6dba03d08b91952e81bc3723c7",
      "tree": "ddcd2f7429964367fcb4ab1dd230a970452d72da",
      "parents": [
        "aa483808516ca5cacfa0e5849691f64fec25828e"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon Oct 04 17:03:23 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:29 2010 +0200"
      },
      "message": "sched: Call tick_check_idle before __irq_enter\n\nWhen CPU is idle and on first interrupt, irq_enter calls tick_check_idle()\nto notify interruption from idle. But, there is a problem if this call\nis done after __irq_enter, as all routines in __irq_enter may find\nstale time due to yet to be done tick_check_idle.\n\nSpecifically, trace calls in __irq_enter when they use global clock and also\naccount_system_vtime change in this patch as it wants to use sched_clock_cpu()\nto do proper irq timing.\n\nBut, tick_check_idle was moved after __irq_enter intentionally to\nprevent problem of unneeded ksoftirqd wakeups by the commit ee5f80a:\n\n    irq: call __irq_enter() before calling the tick_idle_check\n    Impact: avoid spurious ksoftirqd wakeups\n\nMoving tick_check_idle() before __irq_enter and wrapping it with\nlocal_bh_enable/disable would solve both the problems.\n\nFixed-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-9-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa483808516ca5cacfa0e5849691f64fec25828e",
      "tree": "38a1d9f1cb1157bd68dc2475447bacbb4b63c64a",
      "parents": [
        "305e6835e05513406fa12820e40e4a8ecb63743c"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon Oct 04 17:03:22 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:27 2010 +0200"
      },
      "message": "sched: Remove irq time from available CPU power\n\nThe idea was suggested by Peter Zijlstra here:\n\n  http://marc.info/?l\u003dlinux-kernel\u0026m\u003d127476934517534\u0026w\u003d2\n\nirq time is technically not available to the tasks running on the CPU.\nThis patch removes irq time from CPU power piggybacking on\nsched_rt_avg_update().\n\nTested this by keeping CPU X busy with a network intensive task having 75%\noa a single CPU irq processing (hard+soft) on a 4-way system. And start seven\ncycle soakers on the system. Without this change, there will be two tasks on\neach CPU. With this change, there is a single task on irq busy CPU X and\nremaining 7 tasks are spread around among other 3 CPUs.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-8-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "305e6835e05513406fa12820e40e4a8ecb63743c",
      "tree": "8b43703e27d26f4a7e743a99459e0b465cd1e5e1",
      "parents": [
        "e82b8e4ea4f3dffe6e7939f90e78da675fcc450e"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon Oct 04 17:03:21 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:26 2010 +0200"
      },
      "message": "sched: Do not account irq time to current task\n\nScheduler accounts both softirq and interrupt processing times to the\ncurrently running task. This means, if the interrupt processing was\nfor some other task in the system, then the current task ends up being\npenalized as it gets shorter runtime than otherwise.\n\nChange sched task accounting to acoount only actual task time from\ncurrently running task. Now update_curr(), modifies the delta_exec to\ndepend on rq-\u003eclock_task.\n\nNote that this change only handles CONFIG_IRQ_TIME_ACCOUNTING case. We can\nextend this to CONFIG_VIRT_CPU_ACCOUNTING with minimal effort. But, thats\nfor later.\n\nThis change will impact scheduling behavior in interrupt heavy conditions.\n\nTested on a 4-way system with eth0 handled by CPU 2 and a network heavy\ntask (nc) running on CPU 3 (and no RSS/RFS). With that I have CPU 2\nspending 75%+ of its time in irq processing. CPU 3 spending around 35%\ntime running nc task.\n\nNow, if I run another CPU intensive task on CPU 2, without this change\n/proc/\u003cpid\u003e/schedstat shows 100% of time accounted to this task. With this\nchange, it rightly shows less than 25% accounted to this task as remaining\ntime is actually spent on irq processing.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-7-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b52bfee445d315549d41eacf2fa7c156e7d153d5",
      "tree": "740f3aa24e2afad42772a662ceb460c555003c0f",
      "parents": [
        "6cdd5199daf0cb7b0fcc8dca941af08492612887"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon Oct 04 17:03:19 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:24 2010 +0200"
      },
      "message": "sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time\n\ns390/powerpc/ia64 have support for CONFIG_VIRT_CPU_ACCOUNTING which does\nthe fine granularity accounting of user, system, hardirq, softirq times.\nAdding that option on archs like x86 will be challenging however, given the\nstate of TSC reliability on various platforms and also the overhead it will\nadd in syscall entry exit.\n\nInstead, add a lighter variant that only does finer accounting of\nhardirq and softirq times, providing precise irq times (instead of timer tick\nbased samples). This accounting is added with a new config option\nCONFIG_IRQ_TIME_ACCOUNTING so that there won\u0027t be any overhead for users not\ninterested in paying the perf penalty.\n\nThis accounting is based on sched_clock, with the code being generic.\nSo, other archs may find it useful as well.\n\nThis patch just adds the core logic and does not enable this logic yet.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-5-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "75e1056f5c57050415b64cb761a3acc35d91f013",
      "tree": "e7cd483e38f9bf9131a3b212301a009890b8de49",
      "parents": [
        "75dd321d79d495a0ee579e6249ebc38ddbb2667f"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon Oct 04 17:03:16 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:20 2010 +0200"
      },
      "message": "sched: Fix softirq time accounting\n\nPeter Zijlstra found a bug in the way softirq time is accounted in\nVIRT_CPU_ACCOUNTING on this thread:\n\n   http://lkml.indiana.edu/hypermail//linux/kernel/1009.2/01366.html\n\nThe problem is, softirq processing uses local_bh_disable internally. There\nis no way, later in the flow, to differentiate between whether softirq is\nbeing processed or is it just that bh has been disabled. So, a hardirq when bh\nis disabled results in time being wrongly accounted as softirq.\n\nLooking at the code a bit more, the problem exists in !VIRT_CPU_ACCOUNTING\nas well. As account_system_time() in normal tick based accouting also uses\nsoftirq_count, which will be set even when not in softirq with bh disabled.\n\nPeter also suggested solution of using 2*SOFTIRQ_OFFSET as irq count\nfor local_bh_{disable,enable} and using just SOFTIRQ_OFFSET while softirq\nprocessing. The patch below does that and adds API in_serving_softirq() which\nreturns whether we are currently processing softirq or not.\n\nAlso changes one of the usages of softirq_count in net/sched/cls_cgroup.c\nto in_serving_softirq.\n\nLooks like many usages of in_softirq really want in_serving_softirq. Those\nchanges can be made individually on a case by case basis.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-2-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef8002f6848236de5adc613063ebeabddea8a6fb",
      "tree": "3fd3411b2727e2ed784f6ab3fd3485c4527714c1",
      "parents": [
        "17bdcf949d03306b308c5fb694849cd35f119807"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Wed Oct 13 12:09:35 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:15 2010 +0200"
      },
      "message": "sched: Do not consider SCHED_IDLE tasks to be cache hot\n\nThis patch adds a check in task_hot to return if the task has SCHED_IDLE\npolicy. SCHED_IDLE tasks have very low weight, and when run with regular\nworkloads, are typically scheduled many milliseconds apart. There is no\nneed to consider these tasks hot for load balancing.\n\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1287173550-30365-2-git-send-email-ncrao@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "17bdcf949d03306b308c5fb694849cd35f119807",
      "tree": "5a84fcb6e691fb17b4c723fd8429e3ff2ce767e2",
      "parents": [
        "34f971f6f7988be4d014eec3e3526bee6d007ffa"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Mon Oct 11 16:36:51 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 18:41:59 2010 +0200"
      },
      "message": "sched: Drop all load weight manipulation for RT tasks\n\nLoad weights are for the CFS, they do not belong in the RT task. This makes all\nRT scheduling classes leave the CFS weights alone.\n\nThis fixes a real bug as well: I noticed the following phonomena: a process\nelevated to SCHED_RR forks with SCHED_RESET_ON_FORK set, and the child is\nindeed SCHED_OTHER, and the niceval is indeed reset to 0. However the weight\ninserted by set_load_weight() remains at 0, giving the task insignificat\npriority.\n\nWith this fix, the weight is reset to what the task had before being elevated\nto SCHED_RR/SCHED_FIFO.\n\nCc: Lennart Poettering \u003clennart@poettering.net\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286807811-10568-1-git-send-email-linus.walleij@stericsson.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34f971f6f7988be4d014eec3e3526bee6d007ffa",
      "tree": "a662e0701f81f019418b55aa1354f833277b9c40",
      "parents": [
        "4924627423d5e286136ad2520f5be536345ae590"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Sep 22 13:53:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 18:41:58 2010 +0200"
      },
      "message": "sched: Create special class for stop/migrate work\n\nIn order to separate the stop/migrate work thread from the SCHED_FIFO\nimplementation, create a special class for it that is of higher priority than\nSCHED_FIFO itself.\n\nThis currently solves a problem where cpu-hotplug consumes so much cpu-time\nthat the SCHED_FIFO class gets throttled, but has the bandwidth replenishment\ntimer pending on the now dead cpu.\n\nIt is also required for when we add the planned deadline scheduling class above\nSCHED_FIFO, as the stop/migrate thread still needs to transcent those tasks.\n\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1285165776.2275.1022.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4924627423d5e286136ad2520f5be536345ae590",
      "tree": "0ad0151d0a359edb89d99fb5c5c1dfebd64e5a14",
      "parents": [
        "864616ee6785d9fac7a2cd80c01a2da89579f2e4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Oct 17 21:46:10 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 18:41:56 2010 +0200"
      },
      "message": "sched: Unindent labels\n\nLabels should be on column 0.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed859ed3b0f9893c6bce3708e8928341c15699b9",
      "tree": "59c507f00bc13becb4accdd64fdc01ece08b4645",
      "parents": [
        "a8027073eb127cd207070891374b5c54c2ce3d23",
        "53eeb64e808971207350386121f4bab12fa2f45f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 14 09:11:43 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 14 09:11:46 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: update from -rc5 to -almost-final\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6506cf6ce68d78a5470a8360c965dafe8e4b78e3",
      "tree": "0eefe27d016572f1def9cbc2ad042d42b8a5e74f",
      "parents": [
        "4ee0a603926cad973e4d384f48c5e279a0fd4118"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Sep 16 17:50:31 2010 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Oct 07 10:41:07 2010 -0700"
      },
      "message": "sched: fix RCU lockdep splat from task_group()\n\nThis addresses the following RCU lockdep splat:\n\n[0.051203] CPU0: AMD QEMU Virtual CPU version 0.12.4 stepping 03\n[0.052999] lockdep: fixing up alternatives.\n[0.054105]\n[0.054106] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[0.054999] [ INFO: suspicious rcu_dereference_check() usage. ]\n[0.054999] ---------------------------------------------------\n[0.054999] kernel/sched.c:616 invoked rcu_dereference_check() without protection!\n[0.054999]\n[0.054999] other info that might help us debug this:\n[0.054999]\n[0.054999]\n[0.054999] rcu_scheduler_active \u003d 1, debug_locks \u003d 1\n[0.054999] 3 locks held by swapper/1:\n[0.054999]  #0:  (cpu_add_remove_lock){+.+.+.}, at: [\u003cffffffff814be933\u003e] cpu_up+0x42/0x6a\n[0.054999]  #1:  (cpu_hotplug.lock){+.+.+.}, at: [\u003cffffffff810400d8\u003e] cpu_hotplug_begin+0x2a/0x51\n[0.054999]  #2:  (\u0026rq-\u003elock){-.-...}, at: [\u003cffffffff814be2f7\u003e] init_idle+0x2f/0x113\n[0.054999]\n[0.054999] stack backtrace:\n[0.054999] Pid: 1, comm: swapper Not tainted 2.6.35 #1\n[0.054999] Call Trace:\n[0.054999]  [\u003cffffffff81068054\u003e] lockdep_rcu_dereference+0x9b/0xa3\n[0.054999]  [\u003cffffffff810325c3\u003e] task_group+0x7b/0x8a\n[0.054999]  [\u003cffffffff810325e5\u003e] set_task_rq+0x13/0x40\n[0.054999]  [\u003cffffffff814be39a\u003e] init_idle+0xd2/0x113\n[0.054999]  [\u003cffffffff814be78a\u003e] fork_idle+0xb8/0xc7\n[0.054999]  [\u003cffffffff81068717\u003e] ? mark_held_locks+0x4d/0x6b\n[0.054999]  [\u003cffffffff814bcebd\u003e] do_fork_idle+0x17/0x2b\n[0.054999]  [\u003cffffffff814bc89b\u003e] native_cpu_up+0x1c1/0x724\n[0.054999]  [\u003cffffffff814bcea6\u003e] ? do_fork_idle+0x0/0x2b\n[0.054999]  [\u003cffffffff814be876\u003e] _cpu_up+0xac/0x127\n[0.054999]  [\u003cffffffff814be946\u003e] cpu_up+0x55/0x6a\n[0.054999]  [\u003cffffffff81ab562a\u003e] kernel_init+0xe1/0x1ff\n[0.054999]  [\u003cffffffff81003854\u003e] kernel_thread_helper+0x4/0x10\n[0.054999]  [\u003cffffffff814c353c\u003e] ? restore_args+0x0/0x30\n[0.054999]  [\u003cffffffff81ab5549\u003e] ? kernel_init+0x0/0x1ff\n[0.054999]  [\u003cffffffff81003850\u003e] ? kernel_thread_helper+0x0/0x10\n[0.056074] Booting Node   0, Processors  #1lockdep: fixing up alternatives.\n[0.130045]  #2lockdep: fixing up alternatives.\n[0.203089]  #3 Ok.\n[0.275286] Brought up 4 CPUs\n[0.276005] Total of 4 processors activated (16017.17 BogoMIPS).\n\nThe cgroup_subsys_state structures referenced by idle tasks are never\nfreed, because the idle tasks should be part of the root cgroup,\nwhich is not removable.\n\nThe problem is that while we do in-fact hold rq-\u003elock, the newly spawned\nidle thread\u0027s cpu is not yet set to the correct cpu so the lockdep check\nin task_group():\n\n  lockdep_is_held(\u0026task_rq(p)-\u003elock)\n\nwill fail.\n\nBut this is a chicken and egg problem.  Setting the CPU\u0027s runqueue requires\nthat the CPU\u0027s runqueue already be set.  ;-)\n\nSo insert an RCU read-side critical section to avoid the complaint.\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": "90edf27fb89241917e91155bfdcc7c8e5a587222",
      "tree": "a2d1841cfe382f426a3b6ccb306b0665ad455885",
      "parents": [
        "41945f6ccf1e86f87fddf6b32db9cf431c05fb54",
        "8b15575cae7a93a784c3005c42b069edd9ba64dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 22 18:45:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 22 18:45:01 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nConflicts:\n\tkernel/hw_breakpoint.c\n\nMerge reason: resolve the conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8027073eb127cd207070891374b5c54c2ce3d23",
      "tree": "27f5dc8effe3b5636d4bab9c890a40aa20fa44e6",
      "parents": [
        "b3bc211cfe7d5fe94b310480d78e00bea96fbf2a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Sep 20 15:13:34 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Sep 21 10:56:41 2010 -0400"
      },
      "message": "tracing/sched: Add sched_pi_setprio tracepoint\n\nAdd a tracepoint that shows the priority of a task being boosted\nvia priority inheritance.\n\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cf84fd96323633be7d437e1de4505fc82ff2c11a",
      "tree": "094b7a7421945c9ea244f3605378065935f1c100",
      "parents": [
        "31915ab4cbf507aadab40847cf9989da5e88b090",
        "b30a3f6257ed2105259b404d419b4964e363928c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 21 13:56:43 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 21 13:56:49 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.36-rc5\u0027 into sched/core\n\nMerge reason: Pick up the latest fixes in -rc5.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9d2b064149ff7ef4acbc65a1b9374ac8b218d3e",
      "tree": "6ce885c6052a6e05046b9937376107e4bcf378fe",
      "parents": [
        "917bdd1c9b7b0f4c22f2504c2f0c1074c8ab9df7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 17 11:28:50 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 17 12:48:48 2010 +0200"
      },
      "message": "perf: Undo the per cpu-context timer stuff\n\nRevert the timer per cpu-context timers because of unfortunate\nnohz interaction. Fixing that would have been somewhat ugly, so\ngo back to driving things from the regular tick. Provide a\njiffies interval feature for people who want slower rotations.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c20100917093009.519845633@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31915ab4cbf507aadab40847cf9989da5e88b090",
      "tree": "48f7f64cbfd82ee88cece1384e6eb949ef2cbed0",
      "parents": [
        "7740191cd909b75d75685fb08a5d1f54b8a9d28b"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Sep 16 14:42:25 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 16 16:38:34 2010 +0200"
      },
      "message": "sched: Remove branch hints within context_switch()\n\nWith 710390d9 \"sched: Optimize branch hint in context_switch()\"\nthe branch hint logic within context_switch() got inversed.\n\nIn fact the hints \"if (likely(!mm))\" and \"if (likely(!prev-\u003emm))\"\nmean that it is likely that the previous and next task are kernel\nthreads.\n\nThat assumption is certainly counter intuitive, but Tim has shown\nthat at least with his workload this is true. Nevertheless the\ntruth is: it depends on the current workload. So just remove the\nannotations which also improves readability.\n\nReported-by: Tim Blechmann \u003ctim@klingt.org\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20100916124225.GA2209@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e75e863dd5c7d96b91ebbd241da5328fc38a78cc",
      "tree": "b7b67512b6b610c8ee90149c9b48dbaeeb1e4910",
      "parents": [
        "9c03f1622af051004416dd3e24d8a0fa31e34178"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Tue Sep 14 16:35:14 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:41:36 2010 +0200"
      },
      "message": "sched: Fix user time incorrectly accounted as system time on 32-bit\n\nWe have 32-bit variable overflow possibility when multiply in\ntask_times() and thread_group_times() functions. When the\noverflow happens then the scaled utime value becomes erroneously\nsmall and the scaled stime becomes i erroneously big.\n\nReported here:\n\n https://bugzilla.redhat.com/show_bug.cgi?id\u003d633037\n https://bugzilla.kernel.org/show_bug.cgi?id\u003d16559\n\nReported-by: Michael Chapman \u003credhat-bugzilla@very.puzzling.org\u003e\nReported-by: Ciriaco Garcia de Celis \u003csysman@etherpilot.com\u003e\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e  # 2.6.32.19+ (partially) and 2.6.33+\nLKML-Reference: \u003c20100914143513.GB8415@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3aabae7d9dfaed60effe93662f02c19bafc18537",
      "tree": "af94cdd69add07601d9f3f5988dfc1dc255e3886",
      "parents": [
        "79e406d7b00ab2b261ae32a59f266fd3b7af6f29",
        "57c072c7113f54f9512624d6c665db6184448782"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:27:31 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:27:31 2010 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "7740191cd909b75d75685fb08a5d1f54b8a9d28b",
      "tree": "6a45de73bc9958d46b638d9e031a2be85568f0a4",
      "parents": [
        "637bbdc5b83615ef9f45f50399d1c7f27473c713"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@efficios.com",
        "time": "Mon Sep 13 17:47:00 2010 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 14 13:23:45 2010 +0200"
      },
      "message": "sched: Fix string comparison in /proc/sched_features\n\nFix incorrect handling of the following case:\n\n INTERACTIVE\n INTERACTIVE_SOMETHING_ELSE\n\nThe comparison only checks up to each element\u0027s length.\n\nChangelog since v1:\n - Embellish using some Rostedtisms.\n  [ mingo:                 ^^ \u003d\u003d smaller and cleaner ]\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nReviewed-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Tony Lindgren \u003ctony@atomide.com\u003e\nLKML-Reference: \u003c20100913214700.GB16118@Krystal\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5ab4cd563e7ab49b27957704112a8ecade54e1f",
      "tree": "a5d1194e001a1203c679e1f0014d3b40118a725d",
      "parents": [
        "b28ab83c595e767f2028276b7398d17f2253cec0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 06 16:32:21 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:32 2010 +0200"
      },
      "message": "perf: Per cpu-context rotation timer\n\nGive each cpu-context its own timer so that it is a self contained\nentity, this eases the way for per-pmu-per-cpu contexts as well as\nprovides the basic infrastructure to allow different rotation\ntimes per pmu.\n\nThings to look at:\n - folding the tick and these TICK_NSEC timers\n - separate task context rotation\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "01a08546af311c065f34727787dd0cc8dc0c216f",
      "tree": "759d8898d8714b587985433a189070497081828f",
      "parents": [
        "f269893c575167447cc9f6d1867e639fb5b6f0c5"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Aug 31 10:28:16 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:41:20 2010 +0200"
      },
      "message": "sched: Add book scheduling domain\n\nOn top of the SMT and MC scheduling domains this adds the BOOK scheduling\ndomain. This is useful for NUMA like machines which do not have an interface\nwhich tells which piece of memory is attached to which node or where the\nhardware performs striping.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100831082844.253053798@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f269893c575167447cc9f6d1867e639fb5b6f0c5",
      "tree": "948004a5365c688573fd5513160a1500f22f5131",
      "parents": [
        "ed2d372c0738386b8a184a6a6bea9c16df6ffb68"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Aug 31 10:28:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:41:18 2010 +0200"
      },
      "message": "sched: Merge cpu_to_core_group functions\n\nMerge and simplify the two cpu_to_core_group variants so that the\nresulting function follows the same pattern like cpu_to_phys_group.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100831082843.953617555@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "da2b71edd8a7db44fe1746261410a981f3e03632",
      "tree": "4c84c8761590138cffb244eb54fb29263175a6cd",
      "parents": [
        "d56557af19867edb8c0e96f8e26399698a08857f"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Aug 23 13:42:51 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:39:33 2010 +0200"
      },
      "message": "sched: Move sched_avg_update() to update_cpu_load()\n\nCurrently sched_avg_update() (which updates rt_avg stats in the rq)\nis getting called from scale_rt_power() (in the load balance context)\nwhich doesn\u0027t take rq-\u003elock.\n\nFix it by moving the sched_avg_update() to more appropriate\nupdate_cpu_load() where the CFS load gets updated as well.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1282596171.2694.3.camel@sbsiddha-MOBL3\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed2d372c0738386b8a184a6a6bea9c16df6ffb68",
      "tree": "3b32a39f8bfe4bebcb5f05a6c03e433a1638b39d",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Christian Dietrich",
        "email": "qy03fugy@stud.informatik.uni-erlangen.de",
        "time": "Mon Sep 06 16:37:05 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 08 08:14:20 2010 +0200"
      },
      "message": "sched: Remove unnecessary #ifdef CONFIG_SMP\n\nThe CONFIG_SMP ifdef isn\u0027t necessary at this point, because it\nis checked in an outer ifdef level already and has no effect\nhere.\n\nCleanup only, no functional effect.\n\nSigned-off-by: Christian Dietrich \u003cqy03fugy@stud.informatik.uni-erlangen.de\u003e\nCc: vamos-dev@i4.informatik.uni-erlangen.de\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nLKML-Reference: \u003c7a3a39ef3f765a4473cb026b1f204059568a7098.1283782701.git.qy03fugy@stud.informatik.uni-erlangen.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9d0f4dcc5c4d1c5dd01172172684a45b5f49d740",
      "tree": "e24eb28059f983284c29851e0598667cd428e2a1",
      "parents": [
        "763008c4357b73c8d18396dfd8d79dc58fa3f99d"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Wed Aug 18 15:00:27 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 23 10:56:27 2010 +0200"
      },
      "message": "mutex: Improve the scalability of optimistic spinning\n\nThere is a scalability issue for current implementation of optimistic\nmutex spin in the kernel.  It is found on a 8 node 64 core Nehalem-EX\nsystem (HT mode).\n\nThe intention of the optimistic mutex spin is to busy wait and spin on a\nmutex if the owner of the mutex is running, in the hope that the mutex\nwill be released soon and be acquired, without the thread trying to\nacquire mutex going to sleep. However, when we have a large number of\nthreads, contending for the mutex, we could have the mutex grabbed by\nother thread, and then another ……, and we will keep spinning, wasting cpu\ncycles and adding to the contention.  One possible fix is to quit\nspinning and put the current thread on wait-list if mutex lock switch to\na new owner while we spin, indicating heavy contention (see the patch\nincluded).\n\nI did some testing on a 8 socket Nehalem-EX system with a total of 64\ncores. Using Ingo\u0027s test-mutex program that creates/delete files with 256\nthreads (http://lkml.org/lkml/2006/1/8/50) , I see the following speed up\nafter putting in the mutex spin fix:\n\n ./mutex-test V 256 10\n                 Ops/sec\n 2.6.34          62864\n With fix        197200\n\nRepeating the test with Aim7 fserver workload, again there is a speed up\nwith the fix:\n\n                 Jobs/min\n 2.6.34          91657\n With fix        149325\n\nTo look at the impact on the distribution of mutex acquisition time, I\ncollected the mutex acquisition time on Aim7 fserver workload with some\ninstrumentation.  The average acquisition time is reduced by 48% and\nnumber of contentions reduced by 32%.\n\n                 #contentions    Time to acquire mutex (cycles)\n 2.6.34          72973           44765791\n With fix        49210           23067129\n\nThe histogram of mutex acquisition time is listed below.  The acquisition\ntime is in 2^bin cycles.  We see that without the fix, the acquisition\ntime is mostly around 2^26 cycles.  With the fix, we the distribution get\nspread out a lot more towards the lower cycles, starting from 2^13.\nHowever, there is an increase of the tail distribution with the fix at\n2^28 and 2^29 cycles.  It seems a small price to pay for the reduced\naverage acquisition time and also getting the cpu to do useful work.\n\n Mutex acquisition time distribution (acq time \u003d 2^bin cycles):\n         2.6.34                  With Fix\n bin     #occurrence     %       #occurrence     %\n 11      2               0.00%   120             0.24%\n 12      10              0.01%   790             1.61%\n 13      14              0.02%   2058            4.18%\n 14      86              0.12%   3378            6.86%\n 15      393             0.54%   4831            9.82%\n 16      710             0.97%   4893            9.94%\n 17      815             1.12%   4667            9.48%\n 18      790             1.08%   5147            10.46%\n 19      580             0.80%   6250            12.70%\n 20      429             0.59%   6870            13.96%\n 21      311             0.43%   1809            3.68%\n 22      255             0.35%   2305            4.68%\n 23      317             0.44%   916             1.86%\n 24      610             0.84%   233             0.47%\n 25      3128            4.29%   95              0.19%\n 26      63902           87.69%  122             0.25%\n 27      619             0.85%   286             0.58%\n 28      0               0.00%   3536            7.19%\n 29      0               0.00%   903             1.83%\n 30      0               0.00%   0               0.00%\n\nI\u0027ve done similar experiments with 2.6.35 kernel on smaller boxes as\nwell.  One is on a dual-socket Westmere box (12 cores total, with HT).\nAnother experiment is on an old dual-socket Core 2 box (4 cores total, no\nHT)\n\nOn the 12-core Westmere box, I see a 250% increase for Ingo\u0027s mutex-test\nprogram with my mutex patch but no significant difference in aim7\u0027s\nfserver workload.\n\nOn the 4-core Core 2 box, I see the difference with the patch for both\nmutex-test and aim7 fserver are negligible.\n\nSo far, it seems like the patch has not caused regression on smaller\nsystems.\n\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e # .35.x\nLKML-Reference: \u003c1282168827.9542.72.camel@schen9-DESK\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "c4efd6b569b2646e1346a08a4c40286f8bcb5f11"
}
