)]}'
{
  "log": [
    {
      "commit": "50b926e439620c469565e8be0f28be78f5fca1ce",
      "tree": "3eb4b4aa89ed7c6d61457cdf745c5d52f577671a",
      "parents": [
        "24bc7347da73a9ed3383056c3d0f28c0e361621e"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Jan 04 14:44:56 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 21 13:39:03 2010 +0100"
      },
      "message": "sched: Fix vmark regression on big machines\n\nSD_PREFER_SIBLING is set at the CPU domain level if power saving isn\u0027t\nenabled, leading to many cache misses on large machines as we traverse\nlooking for an idle shared cache to wake to.  Change the enabler of\nselect_idle_sibling() to SD_SHARE_PKG_RESOURCES, and enable same at the\nsibling domain level.\n\nReported-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1262612696.15495.15.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "88ec22d3edb72b261f8628226cd543589a6d5e1b",
      "tree": "ca547c82ab6adce0b9e29afb6ceddf50cd417d44",
      "parents": [
        "efbbd05a595343a413964ad85a2ad359b7b7efbd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:41 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:58 2009 +0100"
      },
      "message": "sched: Remove the cfs_rq dependency from set_task_cpu()\n\nIn order to remove the cfs_rq dependency from set_task_cpu() we\nneed to ensure the task is cfs_rq invariant for all callsites.\n\nThe simple approach is to substract cfs_rq-\u003emin_vruntime from\nse-\u003evruntime on dequeue, and add cfs_rq-\u003emin_vruntime on\nenqueue.\n\nHowever, this has the downside of breaking FAIR_SLEEPERS since\nwe loose the old vruntime as we only maintain the relative\nposition.\n\nTo solve this, we observe that we only migrate runnable tasks,\nwe do this using deactivate_task(.sleep\u003d0) and\nactivate_task(.wakeup\u003d0), therefore we can restrain the\nmin_vruntime invariance to that state.\n\nThe only other case is wakeup balancing, since we want to\nmaintain the old vruntime we cannot make it relative on dequeue,\nbut since we don\u0027t migrate inactive tasks, we can do so right\nbefore we activate it again.\n\nThis is where we need the new pre-wakeup hook, we need to call\nthis while still holding the old rq-\u003elock. We could fold it into\n-\u003eselect_task_rq(), but since that has multiple callsites and\nwould obfuscate the locking requirements, that seems like a\nfudge.\n\nThis leaves the fork() case, simply make sure that -\u003etask_fork()\nleaves the -\u003evruntime in a relative state.\n\nThis covers all cases where set_task_cpu() gets called, and\nensures it sees a relative vruntime.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170518.191697025@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4f4288842ee12747e10c354d72be7d424c0b627",
      "tree": "e9b066cc886e4b28db60b2626b682986f34a3bda",
      "parents": [
        "e6c8fba7771563b2f3dfb96a78f36ec17e15bdf0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 18:04:34 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 19:01:55 2009 +0100"
      },
      "message": "sched: Select_task_rq_fair() must honour SD_LOAD_BALANCE\n\nWe should skip !SD_LOAD_BALANCE domains.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091216170517.653578430@chello.nl\u003e\nCC: stable@kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "05fa785cf80c9b7c0254c3056037147aed3ea16b",
      "tree": "3d5c69d449b9240dc6d1005dddf344e467de4f34",
      "parents": [
        "a26724591edba5acc528d41f3906a972590e8f54"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 14:28:38 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "sched: Convert rq-\u003elock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n"
    },
    {
      "commit": "acb4a848da821a095ae9e4d8b22ae2d9633ba5cd",
      "tree": "152efff68841e554eb71c82a97d3ed9571352581",
      "parents": [
        "1983a922a1bc843806b9a36cf3a370b242783140"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon Nov 30 12:16:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:04:02 2009 +0100"
      },
      "message": "sched: Update normalized values on user updates via proc\n\nThe normalized values are also recalculated in case the scaling factor\nchanges.\n\nThis patch updates the internally used scheduler tuning values that are\nnormalized to one cpu in case a user sets new values via sysfs.\n\nTogether with patch 2 of this series this allows to let user configured\nvalues scale (or not) to cpu add/remove events taking place later.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1259579808-11357-4-git-send-email-ehrhardt@linux.vnet.ibm.com\u003e\n[ v2: fix warning ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1983a922a1bc843806b9a36cf3a370b242783140",
      "tree": "3071f23d39e05587823a40033c4c11a0867dd46e",
      "parents": [
        "0bcdcf28c979869f44e05121b96ff2cfb05bd8e6"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon Nov 30 12:16:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:04:01 2009 +0100"
      },
      "message": "sched: Make tunable scaling style configurable\n\nAs scaling now takes place on all kind of cpu add/remove events a user\nthat configures values via proc should be able to configure if his set\nvalues are still rescaled or kept whatever happens.\n\nAs the comments state that log2 was just a second guess that worked the\ninterface is not just designed for on/off, but to choose a scaling type.\nCurrently this allows none, log and linear, but more important it allwos\nus to keep the interface even if someone has an even better idea how to\nscale the values.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1259579808-11357-3-git-send-email-ehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0bcdcf28c979869f44e05121b96ff2cfb05bd8e6",
      "tree": "c70b8fb37fec9badf95ac2ea679407334f580ae5",
      "parents": [
        "57785df5ac53c70da9fb53696130f3c551bfe1f9"
      ],
      "author": {
        "name": "Christian Ehrhardt",
        "email": "ehrhardt@linux.vnet.ibm.com",
        "time": "Mon Nov 30 12:16:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:58 2009 +0100"
      },
      "message": "sched: Fix missing sched tunable recalculation on cpu add/remove\n\nBased on Peter Zijlstras patch suggestion this enables recalculation of\nthe scheduler tunables in response of a change in the number of cpus. It\nalso adds a max of eight cpus that are considered in that scaling.\n\nSigned-off-by: Christian Ehrhardt \u003cehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1259579808-11357-2-git-send-email-ehrhardt@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb58bac5c75bfff8bbf7d02071a10a62f32fe28b",
      "tree": "b2ff68b388efa043c152d75254da27171ea5e586",
      "parents": [
        "6cecd084d0fd27bb1e498e2829fd45846d806856"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Dec 01 12:21:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:08 2009 +0100"
      },
      "message": "sched: Remove unnecessary RCU exclusion\n\nAs Nick pointed out, and realized by myself when doing:\n   sched: Fix balance vs hotplug race\nthe patch:\n   sched: for_each_domain() vs RCU\n\nis wrong, sched_domains are freed after synchronize_sched(), which\nmeans disabling preemption is enough.\n\nReported-by: Nick Piggin \u003cnpiggin@suse.de\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": "6cecd084d0fd27bb1e498e2829fd45846d806856",
      "tree": "90cc079c942ad35669d1a33957a121c1cb3a88a6",
      "parents": [
        "3a7e73a2e26fffdbc46ba95fc0425418984f5140"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 30 13:00:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:07 2009 +0100"
      },
      "message": "sched: Discard some old bits\n\nWAKEUP_RUNNING was an experiment, not sure why that ever ended up being\nmerged...\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": "3a7e73a2e26fffdbc46ba95fc0425418984f5140",
      "tree": "02fdd1c081acfde7522a971bc2969bca76ca90c7",
      "parents": [
        "a65ac745e47e91f9d98dbf07f22ed0492e34d998"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 28 18:51:02 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:07 2009 +0100"
      },
      "message": "sched: Clean up check_preempt_wakeup()\n\nStreamline the wakeup preemption code a bit, unifying the preempt path\nso that they all do the same.\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": "a65ac745e47e91f9d98dbf07f22ed0492e34d998",
      "tree": "246b0953cbf4e2d890d71d01cbfb070f8e4b1811",
      "parents": [
        "cd29fe6f2637cc2ccbda5ac65f5332d6bf5fa3c6"
      ],
      "author": {
        "name": "Jupyung Lee",
        "email": "jupyung@gmail.com",
        "time": "Tue Nov 17 18:51:40 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:06 2009 +0100"
      },
      "message": "sched: Move update_curr() in check_preempt_wakeup() to avoid redundant call\n\nIf a RT task is woken up while a non-RT task is running,\ncheck_preempt_wakeup() is called to check whether the new task can\npreempt the old task. The function returns quickly without going deeper\nbecause it is apparent that a RT task can always preempt a non-RT task.\n\nIn this situation, check_preempt_wakeup() always calls update_curr() to\nupdate vruntime value of the currently running task. However, the\nfunction call is unnecessary and redundant at that moment because (1) a\nnon-RT task can always be preempted by a RT task regardless of its\nvruntime value, and (2) update_curr() will be called shortly when the\ncontext switch between two occurs.\n\nBy moving update_curr() in check_preempt_wakeup(), we can avoid\nredundant call to update_curr(), slightly reducing the time taken to\nwake up RT tasks.\n\nSigned-off-by: Jupyung Lee \u003cjupyung@gmail.com\u003e\n[ Place update_curr() right before the wake_preempt_entity() call, which\n  is the only thing that relies on the updated vruntime ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1258451500-6714-1-git-send-email-jupyung@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd29fe6f2637cc2ccbda5ac65f5332d6bf5fa3c6",
      "tree": "b4206012d424a8c0bce1f260d042c678db0602a2",
      "parents": [
        "ab19cb23313733c55e0517607844b86720b35f5f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 27 17:32:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:03:05 2009 +0100"
      },
      "message": "sched: Sanitize fork() handling\n\nCurrently we try to do task placement in wake_up_new_task() after we do\nthe load-balance pass in sched_fork(). This yields complicated semantics\nin that we have to deal with tasks on different RQs and the\nset_task_cpu() calls in copy_process() and sched_fork()\n\nRename -\u003etask_new() to -\u003etask_fork() and call it from sched_fork()\nbefore the balancing, this gives the policy a clear point to place the\ntask.\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": "dba091b9e3522b9d32fc9975e48d3b69633b45f0",
      "tree": "91549e3921971b6d0074fd34c29223b593381c8a",
      "parents": [
        "3160568371da441b7f2fb57f2f1225404207e8f2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 09:32:03 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 10:01:07 2009 +0100"
      },
      "message": "sched: Protect sched_rr_get_param() access to task-\u003esched_class\n\nsched_rr_get_param calls\ntask-\u003esched_class-\u003eget_rr_interval(task) without protection\nagainst a concurrent sched_setscheduler() call which modifies\ntask-\u003esched_class.\n\nSerialize the access with task_rq_lock(task) and hand the rq\npointer into get_rr_interval() as it\u0027s needed at least in the\nsched_fair implementation.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003calpine.LFD.2.00.0912090930120.3089@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "16bc67edeb49b531940b2ba6c183780a1b5c472d",
      "tree": "71b4bc48e47e54f2c0b3126d8f81d2f31b707ea8",
      "parents": [
        "f6630114d9198aa959ac95c131334c020038f253",
        "047106adcc85e3023da210143a6ab8a55df9e0fc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 10:50:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 10:50:42 2009 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nMerge reason: Pick up fixes that did not make it into .32.0\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "36ace27e3e60d44ea69ce394b2e45386ae98d9d9",
      "tree": "059cf2b286d14b90e6a2515e7014eff82b5c73c6",
      "parents": [
        "429947248f814e90f416ab4f68a871ab628000c3"
      ],
      "author": {
        "name": "Tim Blechmann",
        "email": "tim@klingt.org",
        "time": "Tue Nov 24 11:55:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 24 12:18:12 2009 +0100"
      },
      "message": "sched: Optimize branch hint in pick_next_task_fair()\n\nBranch hint profiling on my nehalem machine showed 90%\nincorrect branch hints:\n\n  15728471 158903754  90 pick_next_task_fair\n  sched_fair.c    1555\n\nSigned-off-by: Tim Blechmann \u003ctim@klingt.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c4B0BBBB1.2050100@klingt.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fe3bcfe1f6c1fc4ea7706ac2d05e579fd9092682",
      "tree": "2de57bbb385face039f7e6c0da38f86e545076a0",
      "parents": [
        "a50bde5130f65733142b32975616427d0ea50856"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Nov 12 15:55:29 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 13 10:09:59 2009 +0100"
      },
      "message": "sched: More generic WAKE_AFFINE vs select_idle_sibling()\n\nInstead of only considering SD_WAKE_AFFINE | SD_PREFER_SIBLING\ndomains also allow all SD_PREFER_SIBLING domains below a\nSD_WAKE_AFFINE domain to change the affinity target.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091112145610.909723612@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a50bde5130f65733142b32975616427d0ea50856",
      "tree": "c2bf0c04fbebfa0f3d6ae8b709f754d5fce4b831",
      "parents": [
        "761b1d26df542fd5eb348837351e4d2f3bc7bffe"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Nov 12 15:55:28 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 13 10:09:58 2009 +0100"
      },
      "message": "sched: Cleanup select_task_rq_fair()\n\nClean up the new affine to idle sibling bits while trying to\ngrok them. Should not have any function differences.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20091112145610.832503781@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fd210738f6601d0fb462df9a2fe5a41896ff6a8f",
      "tree": "0f4488bd171590ed33930edf7684449b9437f11c",
      "parents": [
        "1b9508f6831e10d53256825de8904caa22d1ca2c"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu Nov 05 10:57:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 05 11:01:39 2009 +0100"
      },
      "message": "sched: Fix affinity logic in select_task_rq_fair()\n\nIngo Molnar reported:\n\n[   26.804000] BUG: using smp_processor_id() in preemptible [00000000] code: events/1/10\n[   26.808000] caller is vmstat_update+0x26/0x70\n[   26.812000] Pid: 10, comm: events/1 Not tainted 2.6.32-rc5 #6887\n[   26.816000] Call Trace:\n[   26.820000]  [\u003cc1924a24\u003e] ? printk+0x28/0x3c\n[   26.824000]  [\u003cc13258a0\u003e] debug_smp_processor_id+0xf0/0x110\n[   26.824000] mount used greatest stack depth: 1464 bytes left\n[   26.828000]  [\u003cc111d086\u003e] vmstat_update+0x26/0x70\n[   26.832000]  [\u003cc1086418\u003e] worker_thread+0x188/0x310\n[   26.836000]  [\u003cc10863b7\u003e] ? worker_thread+0x127/0x310\n[   26.840000]  [\u003cc108d310\u003e] ? autoremove_wake_function+0x0/0x60\n[   26.844000]  [\u003cc1086290\u003e] ? worker_thread+0x0/0x310\n[   26.848000]  [\u003cc108cf0c\u003e] kthread+0x7c/0x90\n[   26.852000]  [\u003cc108ce90\u003e] ? kthread+0x0/0x90\n[   26.856000]  [\u003cc100c0a7\u003e] kernel_thread_helper+0x7/0x10\n[   26.860000] BUG: using smp_processor_id() in preemptible [00000000] code: events/1/10\n[   26.864000] caller is vmstat_update+0x3c/0x70\n\nBecause this commit:\n\n  a1f84a3: sched: Check for an idle shared cache in select_task_rq_fair()\n\nbroke -\u003ecpus_allowed.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: arjan@infradead.org\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1257415066.12867.1.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a1f84a3ab8e002159498814eaa7e48c33752b04b",
      "tree": "070b6c105c510460b314c20e17de4b5b89eb6a48",
      "parents": [
        "acc3f5d7cabbfd6cec71f0c1f9900621fa2d6ae7"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Oct 27 15:35:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 04 18:46:22 2009 +0100"
      },
      "message": "sched: Check for an idle shared cache in select_task_rq_fair()\n\nWhen waking affine, check for an idle shared cache, and if\nfound, wake to that CPU/sibling instead of the waker\u0027s CPU.\n\nThis improves pgsql+oltp ramp up by roughly 8%. Possibly more\nfor other loads, depending on overlap. The trade-off is a\nroughly 1% peak downturn if tasks are truly synchronous.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1256654138.17752.7.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f685ceacab07d3f6c236f04803e2f2f0dbcc5afb",
      "tree": "f5fbbb177ccb784ffa6d6224b7b8f0cb8a096bb9",
      "parents": [
        "92f6a5e37a2e2d3342dafb2b39c2f8bc340bbf84"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Oct 23 23:09:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 23:48:28 2009 +0200"
      },
      "message": "sched: Strengthen buddies and mitigate buddy induced latencies\n\nThis patch restores the effectiveness of LAST_BUDDY in preventing\npgsql+oltp from collapsing due to wakeup preemption. It also\nswitches LAST_BUDDY to exclusively do what it does best, namely\nmitigate the effects of aggressive wakeup preemption, which\nimproves vmark throughput markedly, and restores mysql+oltp\nscalability.\n\nSince buddies are about scalability, enable them beginning at the\npoint where we begin expanding sched_latency, namely\nsched_nr_latency. Previously, buddies were cleared aggressively,\nwhich seriously reduced their effectiveness. Not clearing\naggressively however, produces a small drop in mysql+oltp\nthroughput immediately after peak, indicating that LAST_BUDDY is\nactually doing some harm. This is right at the point where X on the\ndesktop in competition with another load wants low latency service.\nErgo, do not enable until we need to scale.\n\nTo mitigate latency induced by buddies, or by a task just missing\nwakeup preemption, check latency at tick time.\n\nLast hunk prevents buddies from stymieing BALANCE_NEWIDLE via\nCACHE_HOT_BUDDY.\n\nSupporting performance tests:\n\n tip   \u003d v2.6.32-rc5-1497-ga525b32\n tipx  \u003d NO_GENTLE_FAIR_SLEEPERS NEXT_BUDDY granularity knobs \u003d 31 knobs + 31 buddies\n tip+x \u003d NO_GENTLE_FAIR_SLEEPERS granularity knobs \u003d 31 knobs\n\n(Three run averages except where noted.)\n\n vmark:\n ------\n tip           108466 messages per second\n tip+          125307 messages per second\n tip+x         125335 messages per second\n tipx          117781 messages per second\n 2.6.31.3      122729 messages per second\n\n mysql+oltp:\n -----------\n clients          1        2        4        8       16       32       64        128    256\n ..........................................................................................\n tip        9949.89 18690.20 34801.24 34460.04 32682.88 30765.97 28305.27 25059.64 19548.08\n tip+      10013.90 18526.84 34900.38 34420.14 33069.83 32083.40 30578.30 28010.71 25605.47\n tipx       9698.71 18002.70 34477.56 33420.01 32634.30 31657.27 29932.67 26827.52 21487.18\n 2.6.31.3   8243.11 18784.20 34404.83 33148.38 31900.32 31161.90 29663.81 25995.94 18058.86\n\n pgsql+oltp:\n -----------\n clients          1        2        4        8       16       32       64      128      256\n ..........................................................................................\n tip       13686.37 26609.25 51934.28 51347.81 49479.51 45312.65 36691.91 26851.57 24145.35\n tip+ (1x) 13907.85 27135.87 52951.98 52514.04 51742.52 50705.43 49947.97 48374.19 46227.94\n tip+x     13906.78 27065.81 52951.19 52542.59 52176.11 51815.94 50838.90 49439.46 46891.00\n tipx      13742.46 26769.81 52351.99 51891.73 51320.79 50938.98 50248.65 48908.70 46553.84\n 2.6.31.3  13815.35 26906.46 52683.34 52061.31 51937.10 51376.80 50474.28 49394.47 47003.25\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92f6a5e37a2e2d3342dafb2b39c2f8bc340bbf84",
      "tree": "1e71e909fbf74b09863815549dbbe67d1661ab2b",
      "parents": [
        "799e2205ec65e174f752b558c62a92c4752df313"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 09 12:43:07 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 14 15:02:34 2009 +0200"
      },
      "message": "sched: Do less agressive buddy clearing\n\nYanmin reported a hackbench regression due to:\n\n \u003e commit de69a80be32445b0a71e8e3b757e584d7beb90f7\n \u003e Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n \u003e Date:   Thu Sep 17 09:01:20 2009 +0200\n \u003e\n \u003e     sched: Stop buddies from hogging the system\n\nI really liked de69a80b, and it affecting hackbench shows I wasn\u0027t\ncrazy ;-)\n\nSo hackbench is a multi-cast, with one sender spraying multiple\nreceivers, who in their turn don\u0027t spray back.\n\nThis would be exactly the scenario that patch \u0027cures\u0027. Previously\nwe would not clear the last buddy after running the next task,\nallowing the sender to get back to work sooner than it otherwise\nought to have been, increasing latencies for other tasks.\n\nNow, since those receivers don\u0027t poke back, they don\u0027t enforce the\nbuddy relation, which means there\u0027s nothing to re-elect the sender.\n\nCure this by less agressively clearing the buddy stats. Only clear\nbuddies when they were not chosen. It should still avoid a buddy\nsticking around long after its served its time.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c1255084986.8802.46.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8d65af789f3e2cf4cfbdbf71a0f7a61ebcd41d38",
      "tree": "121df3bfffc7853ac6d2c514ad514d4a748a0933",
      "parents": [
        "c0d0787b6d47d9f4d5e8bd321921104e854a9135"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 23 15:57:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:21:04 2009 -0700"
      },
      "message": "sysctl: remove \"struct file *\" argument of -\u003eproc_handler\n\nIt\u0027s unused.\n\nIt isn\u0027t needed -- read or write flag is already passed and sysctl\nshouldn\u0027t care about the rest.\n\nIt _was_ used in two places at arch/frv for some reason.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e4bc3dd2ca07d77882eba73cea240aba95a1854",
      "tree": "da105cd2c4f51c78c401c00d8b399572914694ed",
      "parents": [
        "bd4c3a3441144cd46d1f544046523724c5bc6e94",
        "0d721ceadbeaa24d7f9dd41b3e5e29912327a7e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:06:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 21 09:06:17 2009 -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: Simplify sys_sched_rr_get_interval() system call\n  sched: Fix potential NULL derference of doms_cur\n  sched: Fix raciness in runqueue_is_locked()\n  sched: Re-add lost cpu_allowed check to sched_fair.c::select_task_rq_fair()\n  sched: Remove unneeded indentation in sched_fair.c::place_entity()\n"
    },
    {
      "commit": "0d721ceadbeaa24d7f9dd41b3e5e29912327a7e1",
      "tree": "54c0c8dc201122483bdd7e8975103b07f6afd34b",
      "parents": [
        "cb5fd13f1178dee4302646b2890d884c380160e1"
      ],
      "author": {
        "name": "Peter Williams",
        "email": "pwil3058@bigpond.net.au",
        "time": "Mon Sep 21 01:31:53 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 09:53:55 2009 +0200"
      },
      "message": "sched: Simplify sys_sched_rr_get_interval() system call\n\nBy removing the need for it to know details of scheduling classes.\n\nThis allows PlugSched to define orthogonal scheduling classes.\n\nSigned-off-by: Peter Williams \u003cpwil3058@bigpond.net.au\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c06d1b89ee15a0eef82d7.1253496713@mudlark.pw.nest\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f04e8cd5b24727a2500f8ab8f3de730ba47b02c",
      "tree": "d4f11319d7508055dffb13c4aafc623fd3a0180f",
      "parents": [
        "a2e7a7eb2fea109891ffff90f947e8306080a2a3"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Sat Sep 19 16:52:35 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 19 17:11:31 2009 +0200"
      },
      "message": "sched: Re-add lost cpu_allowed check to sched_fair.c::select_task_rq_fair()\n\nWhile doing some testing, I pinned mplayer, only to find it\nfollowing X around like a puppy. Looking at commit c88d591, I found\na cpu_allowed check that went AWOL.  I plugged it back in where it\nlooks like it needs to go, and now when I say \"sit, stay!\", mplayer\nobeys again.\n\n\u0027c88d591 sched: Merge select_task_rq_fair() and\nsched_balance_self()\u0027 accidentally dropped the check, causing\nwake_affine() to pull pinned tasks - put it back.\n\n[ v2: use a cheaper version from Peter ]\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-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": "929bf0d0156562ce631728b6fa53d68004d456d2",
      "tree": "739063990a8077b29ef97e69d73bce94573daae4",
      "parents": [
        "def0a9b2573e00ab0b486cb5382625203ab4c4a6",
        "202c4675c55ddf6b443c7e057d2dff6b42ef71aa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 19 11:27:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 19 11:28:41 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perfcounters/core\n\nMerge reason: Bring in tracing changes we depend on.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a2e7a7eb2fea109891ffff90f947e8306080a2a3",
      "tree": "a6b63d5041c1f506300fbf4852b410cf47d8098f",
      "parents": [
        "df58bee21ed218cb7dfb561a590b1bd2a99531cf"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Sep 18 09:19:25 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 18 09:22:39 2009 +0200"
      },
      "message": "sched: Remove unneeded indentation in sched_fair.c::place_entity()\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1253258365.22787.33.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "29cd8bae396583a2ee9a3340db8c5102acf9f6fd",
      "tree": "d16fba0c7c7da9047db532fcf5cbb847bd6fea51",
      "parents": [
        "de69a80be32445b0a71e8e3b757e584d7beb90f7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 17 09:01:14 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 17 10:40:31 2009 +0200"
      },
      "message": "sched: Fix SD_POWERSAVING_BALANCE|SD_PREFER_LOCAL vs SD_WAKE_AFFINE\n\nThe SD_POWERSAVING_BALANCE|SD_PREFER_LOCAL code can break out of\nthe domain iteration early, making us miss the SD_WAKE_AFFINE bits.\n\nFix this by continuing iteration until there is no need for a\nlarger domain.\n\nThis also cleans up the cgroup stuff a bit, but not having two\nupdate_shares() invocations.\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": "de69a80be32445b0a71e8e3b757e584d7beb90f7",
      "tree": "3a8d6bf8e5aded3c371e5dc090b8874305952d1f",
      "parents": [
        "ad4b78bbcbab66998b05d422ac6106b645796e54"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 17 09:01:20 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 17 10:40:30 2009 +0200"
      },
      "message": "sched: Stop buddies from hogging the system\n\nClear buddies more agressively.\n\nThe (theoretical, haven\u0027t actually observed any of this) problem is\nthat when we do not select either buddy in pick_next_entity()\nbecause they are too far ahead of the left-most task, we do not\nclear the buddies.\n\nThis means that as soon as we service the left-most task, these\nsame buddies will be tried again on the next schedule. Now if the\nleft-most task was a pure hog, it wouldn\u0027t have done any wakeups\nand it wouldn\u0027t have set buddies of its own. That leads to the old\nbuddies dominating, which would lead to bad latencies.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad4b78bbcbab66998b05d422ac6106b645796e54",
      "tree": "45f3561f4bd6b886948a3b0eea64edab9bab9eda",
      "parents": [
        "eb24073bc1fe3e569a855cf38d529fb650c35524"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Sep 16 12:31:31 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 17 10:17:25 2009 +0200"
      },
      "message": "sched: Add new wakeup preemption mode: WAKEUP_RUNNING\n\nCreate a new wakeup preemption mode, preempt towards tasks that run\nshorter on avg. It sets next buddy to be sure we actually run the task\nwe preempted for.\n\nTest results:\n\n root@twins:~# while :; do :; done \u0026\n [1] 6537\n root@twins:~# while :; do :; done \u0026\n [2] 6538\n root@twins:~# while :; do :; done \u0026\n [3] 6539\n root@twins:~# while :; do :; done \u0026\n [4] 6540\n\n root@twins:/home/peter# ./latt -c4 sleep 4\n Entries: 48 (clients\u003d4)\n\n Averages:\n ------------------------------\n        Max          4750 usec\n        Avg           497 usec\n        Stdev         737 usec\n\n root@twins:/home/peter# echo WAKEUP_RUNNING \u003e /debug/sched_features\n\n root@twins:/home/peter# ./latt -c4 sleep 4\n Entries: 48 (clients\u003d4)\n\n Averages:\n ------------------------------\n        Max            14 usec\n        Avg             5 usec\n        Stdev           3 usec\n\nDisabled by default - needs more testing.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003cnew-submission\u003e\n"
    },
    {
      "commit": "5a9b86f647a56862cdc0a1362bfb015ae921af7f",
      "tree": "656652186f9f5198e73139f6362afd7b6584eca1",
      "parents": [
        "5158f4e4428c6b8d52796b3b460e95796123a114"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Sep 16 13:47:58 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 16:44:33 2009 +0200"
      },
      "message": "sched: Rename flags to wake_flags\n\nFor consistencies sake, rename the argument (again).\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": "5158f4e4428c6b8d52796b3b460e95796123a114",
      "tree": "25f62ffd3e427fc8f5b6b6be434bc3918dc59960",
      "parents": [
        "3b6408942206f940dd538e980e9904e48f4b64f8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Sep 16 13:46:59 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 16:44:32 2009 +0200"
      },
      "message": "sched: Clean up the load_idx selection in select_task_rq_fair\n\nClean up the code a little.\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": "3b6408942206f940dd538e980e9904e48f4b64f8",
      "tree": "7e0a0dc37d07e0308ef2294a5de1cd1ea42a388c",
      "parents": [
        "7c423e98856df9b941223a7e7845b2502ad84b00"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Sep 16 13:44:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 16:44:32 2009 +0200"
      },
      "message": "sched: Optimize cgroup vs wakeup a bit\n\nWe don\u0027t need to call update_shares() for each domain we iterate,\njust got the largets one.\n\nHowever, we should call it before wake_affine() as well, so that\nthat can use up-to-date values too.\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": "51e0304ce6e55a6e59658558916b4f74da085ff0",
      "tree": "da17f8f9f1b3b0431cd0cd1e90ea95f970654f9f",
      "parents": [
        "59abf02644c45f1591e1374ee7bb45dc757fcb88"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 08:54:45 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 09:05:20 2009 +0200"
      },
      "message": "sched: Implement a gentler fair-sleepers feature\n\nAdd back FAIR_SLEEPERS and GENTLE_FAIR_SLEEPERS.\n\nFAIR_SLEEPERS is the old logic: credit sleepers with their sleep time.\n\nGENTLE_FAIR_SLEEPERS dampens this a bit: 50% of their sleep time gets\ncredited.\n\nThe hope here is to still give the benefits of fair-sleepers logic\n(quick wakeups, etc.) while not allow them to have 100% of their\nsleep time as if they were running.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "59abf02644c45f1591e1374ee7bb45dc757fcb88",
      "tree": "ce9cb0a4a57873b9d7d75cce4d28308019367192",
      "parents": [
        "e69b0f1b41c0e57bb1e29100b5810a5914efcb45"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Sep 16 08:28:30 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 16 08:42:40 2009 +0200"
      },
      "message": "sched: Add SD_PREFER_LOCAL\n\nAnd turn it on for NUMA and MC domains. This improves\nlocality in balancing decisions by keeping up to\ncapacity amount of tasks local before looking for idle\nCPUs. (and twice the capacity if SD_POWERSAVINGS_BALANCE\nis set.)\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": "e69b0f1b41c0e57bb1e29100b5810a5914efcb45",
      "tree": "ded9f35988e907c1b9cf45cd2f536b920f5f65b7",
      "parents": [
        "63859d4fe4c97b737e7adbfe60acb1c2b2e668cb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 15 19:38:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 19:47:23 2009 +0200"
      },
      "message": "sched: Add a few SYNC hint knobs to play with\n\nCurrently we use overlap to weaken the SYNC hint, but allow it to\nset the hint as well.\n\n echo NO_SYNC_WAKEUP \u003e /debug/sched_features\n echo SYNC_MORE \u003e /debug/sched_features\n\npreserves pipe-test behaviour without using the WF_SYNC hint.\n\nWorth playing with on more workloads...\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": "a7558e01056f5191ff2ecff53b075dcb9e484188",
      "tree": "1364bbf9273ce353f4f3146aebe567f79b7c8cad",
      "parents": [
        "7d47872146398dbede13223299fe1cb368ebc781"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 14 20:02:34 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:51:31 2009 +0200"
      },
      "message": "sched: Add WF_FORK\n\nAvoid the cache buddies from biasing the time distribution away\nfrom fork()ers. Normally the next buddy will be the preferred\nscheduling target, but this makes fork()s prefer to run the new\nchild, whereas we prefer to run the parent, since that will\ngenerate more work.\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": "7d47872146398dbede13223299fe1cb368ebc781",
      "tree": "c472424ecbabdb8136e2b93f49f75af9414f03f3",
      "parents": [
        "0763a660a84220cc3900fd32abdd7ad109e2278d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 14 19:55:44 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:51:30 2009 +0200"
      },
      "message": "sched: Rename sync arguments\n\nIn order to extend the functions to have more than 1 flag (sync),\nrename the argument to flags, and explicitly define a WF_ space for\nindividual flags.\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": "0763a660a84220cc3900fd32abdd7ad109e2278d",
      "tree": "1b745884fb79627e05c026ee5bfb115b1f722db8",
      "parents": [
        "8e6598af3f35629c37249a610cf13e73f70db279"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 14 19:37:39 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:51:29 2009 +0200"
      },
      "message": "sched: Rename select_task_rq() argument\n\nIn order to be able to rename the sync argument, we need to rename\nthe current flag argument.\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": "78e7ed53c9f42f04f9401ada6f7047db60781676",
      "tree": "24f45333ce4479b27c96b425c7d09c080a26609f",
      "parents": [
        "d7c33c4930f569caf6b2ece597432853c4151a45"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 03 13:16:51 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:01:07 2009 +0200"
      },
      "message": "sched: Tweak wake_idx\n\nWhen merging select_task_rq_fair() and sched_balance_self() we lost\nthe use of wake_idx, restore that and set them to 0 to make wake\nbalancing more aggressive.\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": "d7c33c4930f569caf6b2ece597432853c4151a45",
      "tree": "96a0eca96b0109a0dbc2c7a92065cafcf5660718",
      "parents": [
        "83f54960c11a14942ab00b54c51e91906b9d8235"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 11 12:45:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:01:07 2009 +0200"
      },
      "message": "sched: Fix task affinity for select_task_rq_fair\n\nWhile merging select_task_rq_fair() and sched_balance_self() I made\na mistake that leads to testing the wrong task affinty.\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": "83f54960c11a14942ab00b54c51e91906b9d8235",
      "tree": "6c7df778777568bb0c7375b4e7ec84ed532809df",
      "parents": [
        "ae154be1f34a674e6cbb43ccf6e442f56acd7a70"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 10 18:18:47 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:01:06 2009 +0200"
      },
      "message": "sched: for_each_domain() vs RCU\n\nfor_each_domain() uses RCU to serialize the sched_domains, except\nit doesn\u0027t actually use rcu_read_lock() and instead relies on\ndisabling preemption -\u003e FAIL.\n\nXXX: audit other sched_domain code.\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": "ae154be1f34a674e6cbb43ccf6e442f56acd7a70",
      "tree": "e1feba2c818216c97e11801ee7a6e3c2592b10af",
      "parents": [
        "c88d5910890ad35af283344417891344604f0438"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 10 14:40:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:01:06 2009 +0200"
      },
      "message": "sched: Weaken SD_POWERSAVINGS_BALANCE\n\nOne of the problems of power-saving balancing is that under certain\nscenarios it is too slow and allows tons of real work to pile up.\n\nAvoid this by ignoring the powersave stuff when there\u0027s real work\nto be done.\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": "c88d5910890ad35af283344417891344604f0438",
      "tree": "4e2025d569c3e03a7ec5163f0a9bc159114ee14e",
      "parents": [
        "e9c8431185d6c406887190519f6dbdd112641686"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 10 13:50:02 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:01:05 2009 +0200"
      },
      "message": "sched: Merge select_task_rq_fair() and sched_balance_self()\n\nThe problem with wake_idle() is that is doesn\u0027t respect things like\ncpu_power, which means it doesn\u0027t deal well with SMT nor the recent\nRT interaction.\n\nTo cure this, it needs to do what sched_balance_self() does, which\nleads to the possibility of merging select_task_rq_fair() and\nsched_balance_self().\n\nModify sched_balance_self() to:\n\n  - update_shares() when walking up the domain tree,\n    (it only called it for the top domain, but it should\n     have done this anyway), which allows us to remove\n    this ugly bit from try_to_wake_up().\n\n  - do wake_affine() on the smallest domain that contains\n    both this (the waking) and the prev (the wakee) cpu for\n    WAKE invocations.\n\nThen use the top-down balance steps it had to replace wake_idle().\n\nThis leads to the dissapearance of SD_WAKE_BALANCE and\nSD_WAKE_IDLE_FAR, with SD_WAKE_IDLE replaced with SD_BALANCE_WAKE.\n\nSD_WAKE_AFFINE needs SD_BALANCE_WAKE to be effective.\n\nTouch all topology bits to replace the old with new SD flags --\nplatforms might need re-tuning, enabling SD_BALANCE_WAKE\nconditionally on a NUMA distance seems like a good additional\nfeature, magny-core and small nehalem systems would want this\nenabled, systems with slow interconnects would not.\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": "5f3edc1b1ead6d9bd45a85c551f44eff8fe76b9f",
      "tree": "46f987010ca017be945831b76d8ea846f1ba8fc9",
      "parents": [
        "aaee1203ca52b9db799433c33c9bffc33cdf8909"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 10 13:42:00 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:01:04 2009 +0200"
      },
      "message": "sched: Hook sched_balance_self() into sched_class::select_task_rq()\n\nRather ugly patch to fully place the sched_balance_self() code\ninside the fair class.\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": "aaee1203ca52b9db799433c33c9bffc33cdf8909",
      "tree": "27da699a8034090f8be9e24d1b7cedb8f6cdf804",
      "parents": [
        "f5f08f39ee4c5fd0a757d25d9e04d696676b3df7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 10 13:36:25 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:01:04 2009 +0200"
      },
      "message": "sched: Move sched_balance_self() into sched_fair.c\n\nMove the sched_balance_self() code into sched_fair.c\n\nThis facilitates the merger of sched_balance_self() and\nsched_fair::select_task_rq().\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": "3cb63d527f76e25dbccce4f577f21aecfa2abac7",
      "tree": "2a4e940aa108b8c1f9a524dbf3294db88c5f9098",
      "parents": [
        "e6b1b2c9c0461c4e0971ed905ce3cda6512ee82a"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Sep 11 12:01:17 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:01:02 2009 +0200"
      },
      "message": "sched: Complete buddy switches\n\nAdd a NEXT_BUDDY feature flag to aid in debugging.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\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": "e6b1b2c9c0461c4e0971ed905ce3cda6512ee82a",
      "tree": "6462056dec7dcf59139f38d399f2cb27b07bd609",
      "parents": [
        "b78bb868c54bebbf8d8786a3f8320700d6d2b864"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 11 11:59:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 15 16:01:02 2009 +0200"
      },
      "message": "sched: Split WAKEUP_OVERLAP\n\nIt consists of two conditions, split them out in separate toggles\nso we can test them independently.\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": "f977bb4937857994312fff4f9c2cad336a36a932",
      "tree": "ce4736f585cfb9ecb3f959f6fe77997852dd00e3",
      "parents": [
        "c13f0d3c8165e9592102687fa999da0a0d9c3724"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 18:15:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 13 18:17:28 2009 +0200"
      },
      "message": "perf_counter, sched: Add sched_stat_runtime tracepoint\n\nThis allows more precise tracking of how the scheduler accounts\n(and acts upon) a task having spent N nanoseconds of CPU time.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e1f8450854d69f0291882804406ea1bab3ca44b4",
      "tree": "606e2176f7654269de904b15aad9491912db4093",
      "parents": [
        "3f2aa307c4d26b4ed6509d0a79e8254c9e07e921"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 10 20:52:09 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 10 20:52:54 2009 +0200"
      },
      "message": "sched: Fix sched::sched_stat_wait tracepoint field\n\nThis weird perf trace output:\n\n  cc1-9943  [001]  2802.059479616: sched_stat_wait: task: as:9944 wait: 2801938766276 [ns]\n\nIs caused by setting one component field of the delta to zero\na bit too early. Move it to later.\n\n( Note, this does not affect the NEW_FAIR_SLEEPERS interactivity bug,\n  it\u0027s just a reporting bug in essence. )\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nikos Chantziaras \u003crealnc@arcor.de\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c4AA93D34.8040500@arcor.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "172e082a9111ea504ee34cbba26284a5ebdc53a7",
      "tree": "da8e95b16003960d3c132f51e01f83aae6b25d4b",
      "parents": [
        "2bba22c50b06abe9fd0d23933b1e64d35b419262"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Sep 09 15:41:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 09 17:30:06 2009 +0200"
      },
      "message": "sched: Re-tune the scheduler latency defaults to decrease worst-case latencies\n\nReduce the latency target from 20 msecs to 5 msecs.\n\nWhy? Larger latencies increase spread, which is good for scaling,\nbut bad for worst case latency.\n\nWe still have the ilog(nr_cpus) rule to scale up on bigger\nserver boxes.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1252486344.28645.18.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2bba22c50b06abe9fd0d23933b1e64d35b419262",
      "tree": "5ac0373fa1d18f043cb27183f9f185ceda598915",
      "parents": [
        "b5d9d734a53e0204aab0089079cbde2a1285a38f"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Sep 09 15:41:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 09 17:30:05 2009 +0200"
      },
      "message": "sched: Turn off child_runs_first\n\nSet child_runs_first default to off.\n\nIt hurts \u0027optimal\u0027 make -j\u003cNR_CPUS\u003e workloads as make jobs\nget preempted by child tasks, reducing parallelism.\n\nNote, this patch might make existing races in user\napplications more prominent than before - so breakages\nmight be bisected to this commit.\n\nChild-runs-first is broken on SMP to begin with, and we\nalready had it off briefly in v2.6.23 so most of the\noffenders ought to be fixed. Would be nice not to revert\nthis commit but fix those apps finally ...\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1252486344.28645.18.camel@marge.simson.net\u003e\n[ made the sysctl independent of CONFIG_SCHED_DEBUG, in case\n  people want to work around broken apps. ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5d9d734a53e0204aab0089079cbde2a1285a38f",
      "tree": "f8c657d213514de7affaab50ed4cfd8b3a17d0f3",
      "parents": [
        "a8fae3ec5f118dc92517dcbed3ecf69ddb641d0f"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Sep 08 11:12:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 08 13:15:34 2009 +0200"
      },
      "message": "sched: Ensure that a child can\u0027t gain time over it\u0027s parent after fork()\n\nA fork/exec load is usually \"pass the baton\", so the child\nshould never be placed behind the parent.  With START_DEBIT we\nmake room for the new task, but with child_runs_first, that\nroom comes out of the _parent\u0027s_ hide. There\u0027s nothing to say\nthat the parent wasn\u0027t ahead of min_vruntime at fork() time,\nwhich means that the \"baton carrier\", who is essentially the\nparent in drag, can gain time and increase scheduling latencies\nfor waiters.\n\nWith NEW_FAIR_SLEEPERS + START_DEBIT + child_runs_first\nenabled, we essentially pass the sleeper fairness off to the\nchild, which is fine, but if we don\u0027t base placement on the\nparent\u0027s updated vruntime, we can end up compounding latency\nwoes if the child itself then does fork/exec.  The debit\nincurred at fork doesn\u0027t hurt the parent who is then going to\nsleep and maybe exit, but the child who acquires the error\nharms all comers.\n\nThis improves latencies of make -j\u003cn\u003e kernel build workloads.\n\nReported-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-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": "71a29aa7b600595d0ef373ea605ac656876d1f2f",
      "tree": "1288e5bd2bd4b5c599c2b8c7649c30987101a8ec",
      "parents": [
        "cdd2ab3de4301728b20efd6225681d3ff591a938"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 07 18:28:05 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 07 20:39:06 2009 +0200"
      },
      "message": "sched: Deal with low-load in wake_affine()\n\nwake_affine() would always fail under low-load situations where\nboth prev and this were idle, because adding a single task will\nalways be a significant imbalance, even if there\u0027s nothing\naround that could balance it.\n\nDeal with this by allowing imbalance when there\u0027s nothing you\ncan do about it.\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": "cdd2ab3de4301728b20efd6225681d3ff591a938",
      "tree": "7b812c19b624efb0056a96a1403e5b5e791ff714",
      "parents": [
        "840a0653100dbde599ae8ddf83fa214dfa5fd1aa"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 07 18:12:06 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 07 20:39:05 2009 +0200"
      },
      "message": "sched: Remove short cut from select_task_rq_fair()\n\nselect_task_rq_fair() incorrectly skips the wake_affine()\nlogic, remove this.\n\nWhen prev_cpu \u003d\u003d this_cpu, the code jumps straight to the\nwake_idle() logic, this doesn\u0027t give the wake_affine() logic\nthe chance to pin the task to this cpu.\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": "768d0c27226e6587cad2fcf543f9711da3f3774e",
      "tree": "0e299fb34584ff3c5c59f3ed95da70aab372dbc7",
      "parents": [
        "8f0dfc34e9b323a028c2ec41abb7e9de477b7a94"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 23 20:13:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 02 09:12:18 2009 +0200"
      },
      "message": "sched: Add wait, sleep and iowait accounting tracepoints\n\nAdd 3 schedstat tracepoints to help account for wait-time,\nsleep-time and iowait-time.\n\nThey can also be used as a perf-counter source to profile tasks\non these clocks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\n[ build fix for the !CONFIG_SCHEDSTATS case ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f0dfc34e9b323a028c2ec41abb7e9de477b7a94",
      "tree": "fa7e44d9ad3eb22517f0724e71f9812f71a16ae2",
      "parents": [
        "f14eff1cc2f418a7c5e23aedc6a1bdca3343b871"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 20 11:26:58 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 02 08:44:08 2009 +0200"
      },
      "message": "sched: Provide iowait counters\n\nFor counting how long an application has been waiting for\n(disk) IO, there currently is only the HZ sample driven\ninformation available, while for all other counters in this\nclass, a high resolution version is available via\nCONFIG_SCHEDSTATS.\n\nIn order to make an improved bootchart tool possible, we also\nneed a higher resolution version of the iowait time.\n\nThis patch below adds this scheduler statistic to the kernel.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4A64B813.1080506@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f48894fcc89ddec62e1762f73a0825793e59e91",
      "tree": "63b071af185d7049c854cbf4d000949968236bac",
      "parents": [
        "00aec93d10a051ea64f83eff75d4065a19508ea6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 12:25:30 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 14:26:14 2009 +0200"
      },
      "message": "sched: Add debug check to task_of()\n\nA frequent mistake appears to be to call task_of() on a\nscheduler entity that is not actually a task, which can result\nin a wild pointer.\n\nAdd a check to catch these mistakes.\n\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\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": "00aec93d10a051ea64f83eff75d4065a19508ea6",
      "tree": "010148caeaf4d4b36188ba15828343aa6c74efc9",
      "parents": [
        "3f029d3c6d62068d59301d90c18dbde8ee402107"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Thu Jul 30 10:57:23 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 14:26:12 2009 +0200"
      },
      "message": "sched: Fully integrate cpus_active_map and root-domain code\n\nReflect \"active\" cpus in the rq-\u003erd-\u003eonline field, instead of\nthe online_map.\n\nThe motivation is that things that use the root-domain code\n(such as cpupri) only care about cpus classified as \"active\"\nanyway. By synchronizing the root-domain state with the active\nmap, we allow several optimizations.\n\nFor instance, we can remove an extra cpumask_and from the\nscheduler hotpath by utilizing rq-\u003erd-\u003eonline (since it is now\na cached version of cpu_active_map \u0026 rq-\u003erd-\u003espan).\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090730145723.25226.24493.stgit@dev.haskins.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e414314cce7539788dd5d2c35decad11782dd858",
      "tree": "4ca73e18a6d594e88fba8e284726ffbf20627fbd",
      "parents": [
        "ed680c4ad478d0fee9740f7d029087f181346564"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 23 20:13:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 14:10:12 2009 +0200"
      },
      "message": "sched: Fix latencytop and sleep profiling vs group scheduling\n\nThe latencytop and sleep accounting code assumes that any\nscheduler entity represents a task, this is not so.\n\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54fdc5816631b43ba55fc3206d7add2d85850bc6",
      "tree": "44aebd11ac53ef355b215d37f374fb40a4cb008b",
      "parents": [
        "78af08d90b8f745044b1274430bc4bc6b2b27aca"
      ],
      "author": {
        "name": "Fabio Checconi",
        "email": "fabio@gandalf.sssup.it",
        "time": "Thu Jul 16 12:32:27 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 11:17:08 2009 +0200"
      },
      "message": "sched: Account for vruntime wrapping\n\nI spotted two sites that didn\u0027t take vruntime wrap-around into\naccount. Fix these by creating a comparison helper that does do\nso.\n\nSigned-off-by: Fabio Checconi \u003cfabio@gandalf.sssup.it\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": "d07387b490b1c43bfcb9f3900faf96f2dafb2630",
      "tree": "97893ceda1e7262df981e87374f2553a6a8dba34",
      "parents": [
        "c20b08e3986c2dbfa6df1e880bf4f7159994d199"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Fri Jul 10 17:05:16 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 11 10:00:09 2009 +0200"
      },
      "message": "sched: Fix bug in SCHED_IDLE interaction with group scheduling\n\nOne of the isolation modifications for SCHED_IDLE is the\nunitization of sleeper credit.  However the check for this\nassumes that the sched_entity we\u0027re placing always belongs to a\ntask.\n\nThis is potentially not true with group scheduling and leaves\nus rummaging randomly when we try to pull the policy.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nCc: peterz@infradead.org\nLKML-Reference: \u003calpine.DEB.1.00.0907101649570.29914@kitami.corp.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3104bf03a923c72043a9c5009d9cd56724304916",
      "tree": "c65dbf477871ea843241055cda84b2448aee0c71",
      "parents": [
        "348ec61e6268c3cd7ee75cfa50e408184a941506"
      ],
      "author": {
        "name": "Christian Engelmayer",
        "email": "christian.engelmayer@frequentis.com",
        "time": "Tue Jun 16 10:35:12 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 17 18:37:54 2009 +0200"
      },
      "message": "sched: Fix out of scope variable access in sched_slice()\n\nAccess to local variable lw is aliased by usage of pointer load.\nAccess to pointer load in calc_delta_mine() happens when lw is\nalready out of scope.\n\n[ Reported by static code analysis. ]\n\nSigned-off-by: Christian Engelmayer \u003cchristian.engelmayer@frequentis.com\u003e\nLKML-Reference: \u003c20090616103512.0c846e51@frequentis.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "002f128b473fb82f454654be5081b0919ee01ab2",
      "tree": "5425166733e7439257325e1f3f104fa48e416024",
      "parents": [
        "e3c8ca8336707062f3f7cb1cd7e6b3c753baccdd"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Wed Apr 08 15:29:43 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 09 08:19:08 2009 +0200"
      },
      "message": "sched: remove redundant hierarchy walk in check_preempt_wakeup\n\nImpact: micro-optimization\n\nUnder group scheduling we traverse up until we are at common siblings\nto make the wakeup comparison on.\n\nAt this point however, they should have the same parent so continuing\nto check up the tree is redundant.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003calpine.DEB.1.00.0904081520320.30317@kitami.corp.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5274f8354d6a1ed9d6688e6a89b705b94aa1b6e9",
      "tree": "a40ae6f754648311b27811acbbd7af61cc65eab0",
      "parents": [
        "ad0b0fd554dfc126b5750d14908dccc3bbf602be",
        "a0490fa35dc0022ef95f64802e8edf18c411c790",
        "d2f8d7ee1a9b4650b4e43325b321801264f7c37a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 15 21:15:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 15 21:15:16 2009 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027; commit \u0027v2.6.29-rc5\u0027 into sched/core\n"
    },
    {
      "commit": "fc631c82e1734d718ff0832558f64c8f5d185f26",
      "tree": "7bef1c5f3f2c3f454280026e1a528de526302827",
      "parents": [
        "483b4ee60edbefdfbff0dd538fb81f368d9e7c0d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 11 14:27:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 14:43:35 2009 +0100"
      },
      "message": "sched: revert recent sync wakeup changes\n\nIntel reported a 10% regression (mysql+sysbench) on a 16-way machine\nwith these patches:\n\n  1596e29: sched: symmetric sync vs avg_overlap\n  d942fb6: sched: fix sync wakeups\n\nRevert them.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nBisected-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "140573d33b703194b7e1893711e78b7f546cca7c",
      "tree": "8e215102e7c5222013df84ceed8b961728d2db91",
      "parents": [
        "34cb61359b503d7aff6447acb037a5efd6ce93b2",
        "ceacc2c1c85ac498ca4cf297bdfe5b4aaa9fd0e0",
        "483b4ee60edbefdfbff0dd538fb81f368d9e7c0d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 08 20:12:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 08 20:12:46 2009 +0100"
      },
      "message": "Merge branches \u0027sched/rt\u0027 and \u0027sched/urgent\u0027 into sched/core\n"
    },
    {
      "commit": "a571bbeafbcc501d9989fbce1cddcd810bd51d71",
      "tree": "cbfc71ece2ae3e351424d5f7ca9d8fff2429827b",
      "parents": [
        "a9f3e2b549f83a9cdab873abf4140be27c05a3f2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 28 14:51:40 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:51 2009 +0100"
      },
      "message": "sched: fix buddie group latency\n\nSimilar to the previous patch, by not clearing buddies we can select entities\npast their run quota, which can increase latency. This means we have to clear\ngroup buddies as well.\n\nDo not use the group clear for pick_next_task(), otherwise that\u0027ll get O(n^2).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9f3e2b549f83a9cdab873abf4140be27c05a3f2",
      "tree": "756fb52736f8bd1e1f8fb0a621ac58ec8e1812d3",
      "parents": [
        "1596e29773eadd96b0a5fc6e736afa52394cafda"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 28 14:51:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:50 2009 +0100"
      },
      "message": "sched: clear buddies more aggressively\n\nIt was noticed that a task could get re-elected past its run quota due to buddy\naffinities. This could increase latency a little. Cure it by more aggresively\nclearing buddy state.\n\nWe do so in two situations:\n - when we force preempt\n - when we select a buddy to run\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d942fb6c7d391baba3dddb566eb735fbf3df8528",
      "tree": "0340b810c79f873b7aea34298aa22e2ebf740df3",
      "parents": [
        "f90d4118bacef87894621a3e8aba853fa0c89abc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 26 17:56:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:06 2009 +0100"
      },
      "message": "sched: fix sync wakeups\n\nPawel Dziekonski reported that the openssl benchmark and his\nquantum chemistry application both show slowdowns due to the\nscheduler under-parallelizing execution.\n\nThe reason are pipe wakeups still doing \u0027sync\u0027 wakeups which\noverrides the normal buddy wakeup logic - even if waker and\nwakee are loosely coupled.\n\nFix an inversion of logic in the buddy wakeup code.\n\nReported-by: Pawel Dziekonski \u003cdzieko@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6272d68cc6a5f90c6b1a2228cf0f67b895305d17",
      "tree": "9f7e6635d4ffb9d713d3b2be83a4cd4bd4749080",
      "parents": [
        "e17036dac189dd034c092a91df56aa740db7146d"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Thu Jan 15 17:17:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 21:07:57 2009 +0100"
      },
      "message": "sched: sched_slice() fixlet\n\nMike\u0027s change: 0a582440f \"sched: fix sched_slice())\" broke group\nscheduling by forgetting to reload cfs_rq on each loop.\n\nThis patch fixes aim7 regression and specjbb2005 regression becomes\nless than 1.5% on 8-core stokley.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jayson King \u003cdev@jaysonking.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e17036dac189dd034c092a91df56aa740db7146d",
      "tree": "e4dc53a5ad8cccf71e611db3ee001a2e5a1e38f8",
      "parents": [
        "6bc912b71b6f33b041cfde93ca3f019cbaa852bc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 15 14:53:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:12:19 2009 +0100"
      },
      "message": "sched: fix update_min_vruntime\n\nImpact: fix SCHED_IDLE latency problems\n\nOK, so we have 1 running task A (which is obviously curr and the tree is\nequally obviously empty).\n\n\u0027A\u0027 nicely chugs along, doing its thing, carrying min_vruntime along as it\ngoes.\n\nThen some whacko speed freak SCHED_IDLE task gets inserted due to SMP\nbalancing, which is very likely far right, in that case\n\nupdate_curr\n  update_min_vruntime\n    cfs_rq-\u003erb_leftmost :\u003d true (the crazy task sitting in a tree)\n      vruntime \u003d se-\u003evruntime\n\nand voila, min_vruntime is waaay right of where it ought to be.\n\nOK, so why did I write it like that to begin with...\n\nAah, yes.\n\nSay we\u0027ve just dequeued current\n\nschedule\n  deactivate_task(prev)\n    dequeue_entity\n      update_min_vruntime\n\nThen we\u0027ll set\n\n  vruntime \u003d cfs_rq-\u003emin_vruntime;\n\nwe find !cfs_rq-\u003ecurr, but do find someone in the tree. Then we _must_\ndo vruntime \u003d se-\u003evruntime, because\n\n vruntime \u003d min_vruntime(vruntime :\u003d cfs_rq-\u003emin_vruntime, se-\u003evruntime)\n\nwill not advance vruntime, and cause lags the other way around (which we\nfixed with that initial patch: 1af5f730fc1bf7c62ec9fb2d307206e18bf40a69\n(sched: more accurate min_vruntime accounting).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6bc912b71b6f33b041cfde93ca3f019cbaa852bc",
      "tree": "f6128f946bb275aa68f814f5f6a9c08df43965b7",
      "parents": [
        "cce7ade803699463ecc62a065ca522004f7ccb3d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 15 14:53:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:07:29 2009 +0100"
      },
      "message": "sched: SCHED_OTHER vs SCHED_IDLE isolation\n\nStronger SCHED_IDLE isolation:\n\n - no SCHED_IDLE buddies\n - never let SCHED_IDLE preempt on wakeup\n - always preempt SCHED_IDLE on wakeup\n - limit SLEEPER fairness for SCHED_IDLE.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e52fb7c097238d34f4d8e2a596f8a3f85b0c0565",
      "tree": "f846443fdf7888583b4b0ff0ddd0be1be4b37df6",
      "parents": [
        "831451ac4e44d3a20b581ce726ef1d1144373f7d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 14 12:39:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 12:00:09 2009 +0100"
      },
      "message": "sched: prefer wakers\n\nPrefer tasks that wake other tasks to preempt quickly. This improves\nperformance because more work is available sooner.\n\nThe workload that prompted this patch was a kernel build over NFS4 (for some\ncurious and not understood reason we had to revert commit:\n18de9735300756e3ca9c361ef58409d8561dfe0d to make any progress at all)\n\nWithout this patch a make -j8 bzImage (of x86-64 defconfig) would take\n3m30-ish, with this patch we\u0027re down to 2m50-ish.\n\npsql-sysbench/mysql-sysbench show a slight improvement in peak performance as\nwell, tbench and vmark seemed to not care.\n\nIt is possible to improve upon the build time (to 2m20-ish) but that seriously\ndestroys other benchmarks (just shows that there\u0027s more room for tinkering).\n\nMuch thanks to Mike who put in a lot of effort to benchmark things and proved\na worthy opponent with a competing patch.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "df4927bf6ccf6278a97a44bd107080c71b269cb5",
      "tree": "aa84ac1dcc0c0df6e01f2b725163e4a411814bb6",
      "parents": [
        "97e133b4543c5c677e768a8538d6d704c4218ff2"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Jan 07 18:09:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:15 2009 -0800"
      },
      "message": "generic swap(): sched: remove local swap() macro\n\nUse the new generic implementation.\n\nSigned-off-by: Wu Fengguang \u003cwfg@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5359c32eb7402124abc9964d5d53639fe0739cea",
      "tree": "d77b6967fe8420678bb9d1d936855ac0699c196a",
      "parents": [
        "8916edef5888c5d8fe283714416a9ca95b4c3431",
        "fe0bdec68b77020281dc814805edfe594ae89e0f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 05 13:53:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 05 13:53:39 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/urgent\n"
    },
    {
      "commit": "b840d79631c882786925303c2b0f4fefc31845ed",
      "tree": "cda60a95d4507fe1321fc285af38982d7eb9693b",
      "parents": [
        "597b0d21626da4e6f09f132442caf0cc2b0eb47c",
        "c3d80000e3a812fe5a200d6bde755fbd7fa65481"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 11:44:09 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)\n  x86: export vector_used_by_percpu_irq\n  x86: use logical apicid in x2apic_cluster\u0027s x2apic_cpu_mask_to_apicid_and()\n  sched: nominate preferred wakeup cpu, fix\n  x86: fix lguest used_vectors breakage, -v2\n  x86: fix warning in arch/x86/kernel/io_apic.c\n  sched: fix warning in kernel/sched.c\n  sched: move test_sd_parent() to an SMP section of sched.h\n  sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc\u003e0\n  sched: activate active load balancing in new idle cpus\n  sched: bias task wakeups to preferred semi-idle packages\n  sched: nominate preferred wakeup cpu\n  sched: favour lower logical cpu number for sched_mc balance\n  sched: framework for sched_mc/smt_power_savings\u003dN\n  sched: convert BALANCE_FOR_xx_POWER to inline functions\n  x86: use possible_cpus\u003dNUM to extend the possible cpus allowed\n  x86: fix cpu_mask_to_apicid_and to include cpu_online_mask\n  x86: update io_apic.c to the new cpumask code\n  x86: Introduce topology_core_cpumask()/topology_thread_cpumask()\n  x86: xen: use smp_call_function_many()\n  x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c\n  ...\n\nFixed up trivial conflict in kernel/time/tick-sched.c manually\n"
    },
    {
      "commit": "0a582440ff546e2c6610d1acec325e91b4efd313",
      "tree": "161a0943091c53bb2154121480b3e26ce5df1769",
      "parents": [
        "b58602a4bac012b5f4fc12fe6b46ab237b610d5d"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Jan 02 12:16:42 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 02 17:10:43 2009 +0100"
      },
      "message": "sched: fix sched_slice()\n\nImpact: fix bad-interactivity buglet\n\nFix sched_slice() to emit a sane result whether a task is currently\nenqueued or not.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nTested-by: Jayson King \u003cdev@jaysonking.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n kernel/sched_fair.c |   30 ++++++++++++------------------\n 1 file changed, 12 insertions(+), 18 deletions(-)\n"
    },
    {
      "commit": "7eb52dfa70dbf5232b5b83ec4357e6bebaa8fde8",
      "tree": "dfff4d1dcf62e992717f0934961f4557896d4945",
      "parents": [
        "7a09b1a27b1e5a4957e4af9951420fea02c44fba"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Thu Dec 18 23:26:29 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:21:52 2008 +0100"
      },
      "message": "sched: bias task wakeups to preferred semi-idle packages\n\nImpact: tweak task wakeup to save power more agressively\n\nPreferred wakeup cpu (from a semi idle package) has been\nnominated in find_busiest_group() in the previous patch.  Use\nthis information in sched_mc_preferred_wakeup_cpu in function\nwake_idle() to bias task wakeups if the following conditions\nare satisfied:\n\n        - The present cpu that is trying to wakeup the process is\n          idle and waking the target process on this cpu will\n          potentially wakeup a completely idle package\n        - The previous cpu on which the target process ran is\n          also idle and hence selecting the previous cpu may\n          wakeup a semi idle cpu package\n        - The task being woken up is allowed to run in the\n          nominated cpu (cpu affinity and restrictions)\n\nBasically if both the current cpu and the previous cpu on\nwhich the task ran is idle, select the nominated cpu from semi\nidle cpu package for running the new task that is waking up.\n\nCache hotness is considered since the actual biasing happens\nin wake_idle() only if the application is cache cold.\n\nThis technique will effectively move short running bursty jobs in\na mostly idle system.\n\nWakeup biasing for power savings gets automatically disabled if\nsystem utilisation increases due to the fact that the probability\nof finding both this_cpu and prev_cpu idle decreases.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34f28ecd0f4bdc733c681294d02d9fab5880591b",
      "tree": "7869949614b6a4f2bf52f01dfaa769ebe22c8aab",
      "parents": [
        "03e89e4574a680af15f59329b061f35d9813aff4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Dec 16 08:45:31 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 09:46:33 2008 +0100"
      },
      "message": "sched: optimize update_curr()\n\nImpact: micro-optimization\n\nSkip the hard work when there is none.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "03e89e4574a680af15f59329b061f35d9813aff4",
      "tree": "2cf03e33021fbf8cf2aaf6ce99314eb45ed34dbc",
      "parents": [
        "d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Dec 16 08:45:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 09:45:38 2008 +0100"
      },
      "message": "sched: fix wakeup preemption clock\n\nImpact: sharpen the wakeup-granularity to always be against current scheduler time\n\nIt was possible to do the preemption check against an old time stamp.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96f874e26428ab5d2db681c100210c254775e154",
      "tree": "e18a6f0629ef17f2344f3691c8df4692ccb875fa",
      "parents": [
        "0e3900e6d3b04c44737ebc505604dcd8ed30e354"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:14 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:52:42 2008 +0100"
      },
      "message": "sched: convert remaining old-style cpumask operators\n\nImpact: Trivial API conversion\n\n  NR_CPUS -\u003e nr_cpu_ids\n  cpumask_t -\u003e struct cpumask\n  sizeof(cpumask_t) -\u003e cpumask_size()\n  cpumask_a \u003d cpumask_b -\u003e cpumask_copy(\u0026cpumask_a, \u0026cpumask_b)\n\n  cpu_set() -\u003e cpumask_set_cpu()\n  first_cpu() -\u003e cpumask_first()\n  cpumask_of_cpu() -\u003e cpumask_of()\n  cpus_* -\u003e cpumask_*\n\nThere are some FIXMEs where we all archs to complete infrastructure\n(patches have been sent):\n\n  cpu_coregroup_map -\u003e cpu_coregroup_mask\n  node_to_cpumask* -\u003e cpumask_of_node\n\nThere is also one FIXME where we pass an array of cpumasks to\npartition_sched_domains(): this implies knowing the definition of\n\u0027struct cpumask\u0027 and the size of a cpumask.  This will be fixed in a\nfuture patch.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "758b2cdc6f6a22c702bd8f2344382fb1270b2161",
      "tree": "270aec3d0f6235c1519c16e8dc8148f195e133db",
      "parents": [
        "1e5ce4f4a755ee498bd9217dae26143afa0d8f31"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Nov 25 02:35:04 2008 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:50:45 2008 +0100"
      },
      "message": "sched: wrap sched_group and sched_domain cpumask accesses.\n\nImpact: trivial wrap of member accesses\n\nThis eases the transition in the next patch.\n\nWe also get rid of a temporary cpumask in find_idlest_cpu() thanks to\nfor_each_cpu_and, and sched_balance_self() due to getting weight before\nsetting sd to NULL.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2002c69595a092518107f7e3c1294c9710bc92ae",
      "tree": "5935add4d4cd426b5b824474b7ec2ffea48d2951",
      "parents": [
        "ad474caca3e2a0550b7ce0706527ad5ab389a4d4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Nov 11 11:52:33 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 11:57:22 2008 +0100"
      },
      "message": "sched: release buddies on yield\n\nClear buddies on yield, so that the buddy rules don\u0027t schedule them\ndespite them being placed right-most.\n\nThis fixed a performance regression with yield-happy binary JVMs.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Lin Ming \u003cming.m.lin@intel.com\u003e\n"
    },
    {
      "commit": "02479099c286894644f8e96c6bbb535ab64662fd",
      "tree": "df25bc51ddb31a44c91b672311b532de626fadcb",
      "parents": [
        "4793241be408b3926ee00c704d7da3b3faf3a05f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 04 21:25:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 10:30:15 2008 +0100"
      },
      "message": "sched: fix buddies for group scheduling\n\nImpact: scheduling order fix for group scheduling\n\nFor each level in the hierarchy, set the buddy to point to the right entity.\nTherefore, when we do the hierarchical schedule, we have a fair chance of\nending up where we meant to.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4793241be408b3926ee00c704d7da3b3faf3a05f",
      "tree": "d74144510d5258e5e941a8499538c3a0cdc868a7",
      "parents": [
        "d95f98d0691d3aba5e35850011946a08c9b36428"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 04 21:25:09 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 10:30:14 2008 +0100"
      },
      "message": "sched: backward looking buddy\n\nImpact: improve/change/fix wakeup-buddy scheduling\n\nCurrently we only have a forward looking buddy, that is, we prefer to\nschedule to the task we last woke up, under the presumption that its\ngoing to consume the data we just produced, and therefore will have\ncache hot benefits.\n\nThis allows co-waking producer/consumer task pairs to run ahead of the\npack for a little while, keeping their cache warm. Without this, we\nwould interleave all pairs, utterly trashing the cache.\n\nThis patch introduces a backward looking buddy, that is, suppose that\nin the above scenario, the consumer preempts the producer before it\ncan go to sleep, we will therefore miss the wakeup from consumer to\nproducer (its already running, after all), breaking the cycle and\nreverting to the cache-trashing interleaved schedule pattern.\n\nThe backward buddy will try to schedule back to the task that woke us\nup in case the forward buddy is not available, under the assumption\nthat the last task will be the one with the most cache hot task around\nbarring current.\n\nThis will basically allow a task to continue after it got preempted.\n\nIn order to avoid starvation, we allow either buddy to get wakeup_gran\nahead of the pack.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d95f98d0691d3aba5e35850011946a08c9b36428",
      "tree": "51cef12b6ad712379b63b04bd5e16292e0bbe8f0",
      "parents": [
        "f4b6755fb37595da3630d1d6fc130ea6888cd48f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 04 21:25:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 10:30:13 2008 +0100"
      },
      "message": "sched: fix fair preempt check\n\nImpact: fix cross-class preemption\n\nInter-class wakeup preemptions should go on class order.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f4b6755fb37595da3630d1d6fc130ea6888cd48f",
      "tree": "04501dab4a1573b5b6bc6932db08262806c2c0e2",
      "parents": [
        "75fa67706cce5272bcfc51ed646f2da21f3bdb6e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 04 21:25:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 10:30:13 2008 +0100"
      },
      "message": "sched: cleanup fair task selection\n\nImpact: cleanup\n\nClean up task selection\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f3a490480d8ab96e0fe30a41f80f14e6a0c579d",
      "tree": "addbfb1207d816b1e1f5e4ab75f95a08c7b15202",
      "parents": [
        "464b75273f64be7c81fee975bd6ca9593df3427b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 24 11:06:16 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 24 12:51:03 2008 +0200"
      },
      "message": "sched: virtual time buddy preemption\n\nSince we moved wakeup preemption back to virtual time, it makes sense to move\nthe buddy stuff back as well. The purpose of the buddy scheduling is to allow\na quickly scheduling pair of tasks to run away from the group as far as a\nregular busy task would be allowed under wakeup preemption.\n\nThis has the advantage that the pair can ping-pong for a while, enjoying\ncache-hotness. Without buddy scheduling other tasks would interleave destroying\nthe cache.\n\nAlso, it saves a word in cfs_rq.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "464b75273f64be7c81fee975bd6ca9593df3427b",
      "tree": "c7efd037f65129ba9bff5b8a4a61d506e904715f",
      "parents": [
        "0d13033bc9257fe65c1aa25e84568b1608da0901"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 24 11:06:15 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 24 12:51:02 2008 +0200"
      },
      "message": "sched: re-instate vruntime based wakeup preemption\n\nThe advantage is that vruntime based wakeup preemption has a better\nconceptual model. Here wakeup_gran \u003d 0 means: preempt when \u0027fair\u0027.\nTherefore wakeup_gran is the granularity of unfairness we allow in order\nto make progress.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d13033bc9257fe65c1aa25e84568b1608da0901",
      "tree": "312a3bbad942d2c27ee7e394bd5328dd9fe58fe1",
      "parents": [
        "1af5f730fc1bf7c62ec9fb2d307206e18bf40a69"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Oct 24 11:06:14 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 24 12:51:01 2008 +0200"
      },
      "message": "sched: weaken sync hint\n\nMysql+oltp and pgsql+oltp peaks are still shifted right. The below puts\nthe peaks back to 1 client/server pair per core.\n\nUse the avg_overlap information to weaken the sync hint.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1af5f730fc1bf7c62ec9fb2d307206e18bf40a69",
      "tree": "6b9a1e5aa380abaaca68d3ba427ecec1a3b51a88",
      "parents": [
        "01c8c57d668d94f1036d9ab11a22aa24ca16a35d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 24 11:06:13 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 24 12:51:00 2008 +0200"
      },
      "message": "sched: more accurate min_vruntime accounting\n\nMike noticed the current min_vruntime tracking can go wrong and skip the\ncurrent task. If the only remaining task in the tree is a nice 19 task\nwith huge vruntime, new tasks will be inserted too far to the right too,\ncausing some interactibity issues.\n\nmin_vruntime can only change due to the leftmost entry disappearing\n(dequeue_entity()), or by the leftmost entry being incremented past the\nnext entry, which elects a new leftmost (__update_curr())\n\nDue to the current entry not being part of the actual tree, we have to\ncompare the leftmost tree entry with the current entry, and take the\nleftmost of these two.\n\nSo create a update_min_vruntime() function that takes computes the\nleftmost vruntime in the system (either tree of current) and increases\nthe cfs_rq-\u003emin_vruntime if the computed value is larger than the\npreviously found min_vruntime. And call this from the two sites we\u0027ve\nidentified that can change min_vruntime.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c82a17e9c924c0e9f13e75e4c2f6bca19a4b516",
      "tree": "d535f46a917e14e90deccb29ad00aac016ad18dd",
      "parents": [
        "4ce72a2c063a7fa8e42a9435440ae3364115a58d",
        "57f8f7b60db6f1ed2c6918ab9230c4623a9dbe37"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 24 12:48:46 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 24 12:48:46 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.28-rc1\u0027 into sched/urgent\n"
    },
    {
      "commit": "133e887f90208d339088dd60cb1d08a72ba27288",
      "tree": "4f6bab9d13df7fac50bc7d699d8486f441deb428",
      "parents": [
        "e82cff752f57810a2259415ad2e9087c2d69484c",
        "0c4b83da58ec2e96ce9c44c211d6eac5f9dae478"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 09:37:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 09:37:16 2008 -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: disable the hrtick for now\n  sched: revert back to per-rq vruntime\n  sched: fair scheduler should not resched rt tasks\n  sched: optimize group load balancer\n  sched: minor fast-path overhead reduction\n  sched: fix the wrong mask_len, cleanup\n  sched: kill unused scheduler decl.\n  sched: fix the wrong mask_len\n  sched: only update rq-\u003eclock while holding rq-\u003elock\n"
    },
    {
      "commit": "4ce72a2c063a7fa8e42a9435440ae3364115a58d",
      "tree": "427b25960945524a205c7d8ed20ed5f02325175e",
      "parents": [
        "0c4b83da58ec2e96ce9c44c211d6eac5f9dae478"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Oct 22 15:25:26 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 22 10:01:52 2008 +0200"
      },
      "message": "sched: add CONFIG_SMP consistency\n\na patch from Henrik Austad did this:\n\n\u003e\u003e Do not declare select_task_rq as part of sched_class when CONFIG_SMP is\n\u003e\u003e not set.\n\nPeter observed:\n\n\u003e While a proper cleanup, could you do it by re-arranging the methods so\n\u003e as to not create an additional ifdef?\n\nDo not declare select_task_rq and some other methods as part of sched_class\nwhen CONFIG_SMP is not set.\n\nAlso gather those methods to avoid CONFIG_SMP mess.\n\nIdea-by: Henrik Austad \u003chenrik.austad@gmail.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Henrik Austad \u003chenrik@austad.us\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9c0b0950d5fd8c8c5af39bc061f27ea8fddcac3",
      "tree": "288537eac8d5e03970422ac0c705617e551f544d",
      "parents": [
        "a4c2f00f5cb848af7a8c816426b413c8e41834df"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 17 19:27:04 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 14:05:04 2008 +0200"
      },
      "message": "sched: revert back to per-rq vruntime\n\nVatsa rightly points out that having the runqueue weight in the vruntime\ncalculations can cause unfairness in the face of task joins/leaves.\n\nSuppose: dv \u003d dt * rw / w\n\nThen take 10 tasks t_n, each of similar weight. If the first will run 1\nthen its vruntime will increase by 10. Now, if the next 8 tasks leave after\nhaving run their 1, then the last task will get a vruntime increase of 2\nafter having run 1.\n\nWhich will leave us with 2 tasks of equal weight and equal runtime, of which\none will not be scheduled for 8/2\u003d4 units of time.\n\nErgo, we cannot do that and must use: dv \u003d dt / w.\n\nThis means we cannot have a global vruntime based on effective priority, but\nmust instead go back to the vruntime per rq model we started out with.\n\nThis patch was lightly tested by doing starting while loops on each nice level\nand observing their execution time, and a simple group scenario of 1:2:3 pinned\nto a single cpu.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4c2f00f5cb848af7a8c816426b413c8e41834df",
      "tree": "f99d376ae43fe7e19db0f5f268c6925d8cda2107",
      "parents": [
        "ffda12a17a324103e9900fa1035309811eecbfe5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 17 19:27:03 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 14:05:03 2008 +0200"
      },
      "message": "sched: fair scheduler should not resched rt tasks\n\nWith use of ftrace Steven noticed that some RT tasks got rescheduled due\nto sched_fair interaction.\n\nWhat happens is that we reprogram the hrtick from enqueue/dequeue_fair_task()\nbecause that can change nr_running, and thus a current tasks ideal runtime.\nHowever, its possible the current task isn\u0027t a fair_sched_class task, and thus\ndoesn\u0027t have a hrtick set to change.\n\nFix this by wrapping those hrtick_start_fair() calls in a hrtick_update()\nfunction, which will check for the right conditions.\n\nReported-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c465a76af658b443075d6efee1c3131257643020",
      "tree": "63c28c9fab02dedec7f03cee4a3ef7fe4dc1c072",
      "parents": [
        "2d42244ae71d6c7b0884b5664cf2eda30fb2ae68",
        "1b02469088ac7a13d7e622b618b7410d0f1ce5ec",
        "fb02fbc14d17837b4b7b02dbb36142c16a7bf208",
        "d40e944c25fb4642adb2a4c580a48218a9f3f824",
        "1508487e7f16d992ad23cabd3712563ff912f413",
        "322acf6585f3c4e82ee32a246b0483ca0f6ad3f4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/debug\u0027 into v28-timers-for-linus\n"
    },
    {
      "commit": "b0aa51b999c449e5e3f9faa1ee406e052d407fe7",
      "tree": "c3c21be0aa90658469ef039065b260172ab9b974",
      "parents": [
        "b968905292eaa52b25abb7b3e6c0841dac9f03ae"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Oct 17 15:33:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 17 15:36:58 2008 +0200"
      },
      "message": "sched: minor fast-path overhead reduction\n\nGreetings,\n\n103638d added a bit of avoidable overhead to the fast-path.\n\nUse sysctl_sched_min_granularity instead of sched_slice() to restrict buddy wakeups.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2fb7635c4cea310992a39580133099dd99ad151c",
      "tree": "e898c690d05c3dfeaa733fb3472eff400669be3a",
      "parents": [
        "990d0f2ced23052abc7efa09bd05bff34e00cf73"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Oct 08 09:16:04 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 08 12:20:26 2008 +0200"
      },
      "message": "sched: sync wakeups vs avg_overlap\n\nWhile looking at the code I wondered why we always do:\n\n  sync \u0026\u0026 avg_overlap \u003c migration_cost\n\nWhich is a bit odd, since the overlap test was meant to detect sync wakeups\nso using it to specialize sync wakeups doesn\u0027t make much sense.\n\nHence change the code to do:\n\n  sync || avg_overlap \u003c migration_cost\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "64b9e0294d24a4204232e13e01630b0690e48d61"
}
