)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "64b9e0294d24a4204232e13e01630b0690e48d61",
      "tree": "a8399f65354ffe0777f78e169fd7be763148c121",
      "parents": [
        "b87f17242da6b2ac6db2d179b2f93fb84cff2fbe"
      ],
      "author": {
        "name": "Amit K. Arora",
        "email": "aarora@linux.vnet.ibm.com",
        "time": "Tue Sep 30 17:15:39 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 30 15:25:44 2008 +0200"
      },
      "message": "sched: minor optimizations in wake_affine and select_task_rq_fair\n\nThis patch does following:\no Removes unused variable and argument \"rq\".\no Optimizes one of the \"if\" conditions in wake_affine() - i.e.  if\n  \"balanced\" is true, we need not do rest of the calculations in the\n  condition.\no If this cpu is same as the previous cpu (on which woken up task\n  was running when it went to sleep), no need to call wake_affine at all.\n\nSigned-off-by: Amit K Arora \u003caarora@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": "b87f17242da6b2ac6db2d179b2f93fb84cff2fbe",
      "tree": "7c90ccd5b3a307670f939b944a2bf32d523a3b15",
      "parents": [
        "57fdc26d4a734a3e00c6b2fc0e1e40ff8da4dc31"
      ],
      "author": {
        "name": "Bharata B Rao",
        "email": "bharata@linux.vnet.ibm.com",
        "time": "Thu Sep 25 09:53:54 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 25 11:24:11 2008 +0200"
      },
      "message": "sched: maintain only task entities in cfs_rq-\u003etasks list\n\ncfs_rq-\u003etasks list is used by the load balancer to iterate\nover all the tasks. Currently it holds all the entities\n(both task and group entities) because of which there is\na need to check for group entities explicitly during load\nbalancing. This patch changes the cfs_rq-\u003etasks list to\nhold only task entities.\n\nSigned-off-by: Bharata B Rao \u003cbharata@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": "57fdc26d4a734a3e00c6b2fc0e1e40ff8da4dc31",
      "tree": "912951e86391fc23f33981f88dce7cf374f136e1",
      "parents": [
        "4653f803e6e0d970ffeac0efd2c01743eb6c5228"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 23 15:33:45 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:23:17 2008 +0200"
      },
      "message": "sched: fixup buddy selection\n\nWe should set the buddy even though we might already have the\nTIF_RESCHED flag set.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "940959e93949e839c14f8ddc3b9b0e34a2ab6e29",
      "tree": "3566ce5a8bb8db206193377bca37f5877b70adf6",
      "parents": [
        "63e5c39859a41591662466028c4d1281c033c05a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 23 15:33:42 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:23:15 2008 +0200"
      },
      "message": "sched: fixlet for group load balance\n\nWe should not only correct the increment for the initial group, but should\nbe consistent and do so for all the groups we encounter.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "695698500912c4479ddf4723e492de3970ff8530",
      "tree": "b84c708843998d2124573b809b8618a4e304e253",
      "parents": [
        "1a73ef6ac3f4b44abc9d1875eb9240d7524a7cf7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 23 14:54:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 14:54:23 2008 +0200"
      },
      "message": "sched: rework wakeup preemption\n\nRework the wakeup preemption to work on real runtime instead of\nthe virtual runtime. This greatly simplifies the code.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "caea8a03702c147e8ae90da0801e7ba8297b1d46",
      "tree": "7ff0746c3dbcc73bc241957c2b3149bcf8901fb2",
      "parents": [
        "f681bbd656b01439be904250a1581ca9c27505a1"
      ],
      "author": {
        "name": "Chris Friesen",
        "email": "cfriesen@nortel.com",
        "time": "Mon Sep 22 11:06:09 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 22 19:43:10 2008 +0200"
      },
      "message": "sched: fix list traversal to use _rcu variant\n\nload_balance_fair() calls rcu_read_lock() but then traverses the list\n using the regular list traversal routine.  This patch converts the\nlist traversal to use the _rcu version.\n\nSigned-off-by: Chris Friesen \u003ccfriesen@nortel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15afe09bf496ae10c989e1a375a6b5da7bd3e16e",
      "tree": "4565659d1084e357eea42e6321a4d304ac950faa",
      "parents": [
        "09b22a2f678ae733801b888c44756d0abd686b8a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Sep 20 23:38:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 22 16:28:32 2008 +0200"
      },
      "message": "sched: wakeup preempt when small overlap\n\nLin Ming reported a 10% OLTP regression against 2.6.27-rc4.\n\nThe difference seems to come from different preemption agressiveness,\nwhich affects the cache footprint of the workload and its effective\ncache trashing.\n\nAggresively preempt a task if its avg overlap is very small, this should\navoid the task going to sleep and find it still running when we schedule\nback to it - saving a wakeup.\n\nReported-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": "38736f475071b80b66be28af7b44c854073699cc",
      "tree": "853b00d9fcf27093f75dbfe7d38922792c2c1a04",
      "parents": [
        "7f79d852ed30a06eebf7497afe9334a726db3d40"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Sat Sep 06 14:50:23 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 16:53:34 2008 +0200"
      },
      "message": "sched: fix __load_balance_iterator() for cfq with only one task\n\nThe __load_balance_iterator() returns a NULL when there\u0027s only one\nsched_entity which is a task. It is caused by the following code-path.\n\n\t/* Skip over entities that are not tasks */\n\tdo {\n\t\tse \u003d list_entry(next, struct sched_entity, group_node);\n\t\tnext \u003d next-\u003enext;\n\t} while (next !\u003d \u0026cfs_rq-\u003etasks \u0026\u0026 !entity_is_task(se));\n\n\tif (next \u003d\u003d \u0026cfs_rq-\u003etasks)\n\t\treturn NULL;\n\t^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n      This will return NULL even when se is a task.\n\nAs a side-effect, there was a regression in sched_mc behavior since 2.6.25,\nsince iter_move_one_task() when it calls load_balance_start_fair(),\nwould not get any tasks to move!\n\nFix this by checking if the last entity was a task or not.\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aec0a5142cb52aaa152d962d84a838e25d520742",
      "tree": "8cf21e8fd5c5bc513923fd38acfc562ae0ab39d1",
      "parents": [
        "65eb3dc609dec17deea48dcd4de2e549d29a9824"
      ],
      "author": {
        "name": "Bharata B Rao",
        "email": "bharata@linux.vnet.ibm.com",
        "time": "Thu Aug 28 14:42:49 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 28 11:35:51 2008 +0200"
      },
      "message": "sched: call resched_task() conditionally from new task wake up path\n\n- During wake up of a new task, task_new_fair() can do a resched_task()\n  on the current task. Later in the code path, check_preempt_curr() also ends\n  up doing the same, which can be avoided. Check if TIF_NEED_RESCHED is\n  already set for the current task.\n\n- task_new_fair() does a resched_task() on the current task unconditionally.\n  This can be done only in case when child runs before the parent.\n\nSo this is a small speedup.\n\nSigned-off-by: Bharata B Rao \u003cbharata@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": "77ae651347bdd46830da8b28b1efc5e4a9d7cbd0",
      "tree": "5c43252b5811cc0cba7b92e6b2fd241e0df6e3c8",
      "parents": [
        "251a169c69d1ff07cee7a9bb9fc4faff6b1d2ac3"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Mon Aug 11 13:32:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 11 14:49:29 2008 +0200"
      },
      "message": "sched: fix mysql+oltp regression\n\nDefer commit 6d299f1b53b84e2665f402d9bcc494800aba6386 to the next release.\n\nTesting of the tip/sched/clock tree revealed a mysql+oltp regression\nwhich bisection eventually traced back to this commit in mainline.\n\nPertinent test results:  Three run sysbench averages, throughput units\nin read/write requests/sec.\n\nclients         1     2     4     8    16    32    64\n6e0534f      9646 17876 34774 33868 32230 30767 29441\n2.6.26.1     9112 17936 34652 33383 31929 30665 29232\n6d299f1      9112 14637 28370 33339 32038 30762 29204\n\nNote: subsequent commits hide the majority of this regression until you\napply the clock fixes, at which time it reemerges at full magnitude.\n\nWe cannot see anything bad about the change itself so we defer it to the\nnext release until this problem is fully analysed.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "157124c11f4217733691223ecf5ee47558ae9495",
      "tree": "bb6a8c8374ddef78ae3b07c004e5a794796d5289",
      "parents": [
        "c9272c4f9fbe2087beb3392f526dc5b19efaa56b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Jul 28 11:53:11 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 28 12:01:58 2008 +0200"
      },
      "message": "sched: fix warning in hrtick_start_fair()\n\nBenjamin Herrenschmidt reported:\n\n\u003e I get that on ppc64 ...\n\u003e\n\u003e In file included from kernel/sched.c:1595:\n\u003e kernel/sched_fair.c: In function ‘hrtick_start_fair’:\n\u003e kernel/sched_fair.c:902: warning: comparison of distinct pointer types lacks a cast\n\u003e\n\u003e Probably harmless but annoying.\n\ns64 delta \u003d slice - ran;\n\n--\u003e\tdelta \u003d max(10000LL, delta);\n\nProbably ppc64\u0027s s64 is long vs long long..\n\nI think hpa was looking at sanitizing all these 64bit types across the\narchitectures.\n\nUse max_t with an explicit type meanwhile.\n\nReported-by: Benjamin Herrenschmid \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f9dce38378f0a4a298e885553d6bb7121376376",
      "tree": "5bfd688c9f356f7216bbc3cef3b4c10153de334b",
      "parents": [
        "26dcce0fabbef75ae426461edf21b5030bad60f3",
        "ba42059fbd0aa1ac91b582412b5fedb1258f241f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 19:36:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 23 19:36:53 2008 -0700"
      },
      "message": "Merge branch \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: hrtick_enabled() should use cpu_active()\n  sched, x86: clean up hrtick implementation\n  sched: fix build error, provide partition_sched_domains() unconditionally\n  sched: fix warning in inc_rt_tasks() to not declare variable \u0027rq\u0027 if it\u0027s not needed\n  cpu hotplug: Make cpu_active_map synchronization dependency clear\n  cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)\n  sched: rework of \"prioritize non-migratable tasks over migratable ones\"\n  sched: reduce stack size in isolated_cpu_setup()\n  Revert parts of \"ftrace: do not trace scheduler functions\"\n\nFixed up conflicts in include/asm-x86/thread_info.h (due to the\nTIF_SINGLESTEP unification vs TIF_HRTICK_RESCHED removal) and\nkernel/sched_fair.c (due to cpu_active_map vs for_each_cpu_mask_nr()\nintroduction).\n"
    },
    {
      "commit": "d986434a7d32079cc6cbedcdb04d834aa9b323ff",
      "tree": "cf1feb5139d76cef0446945b5cad741c47ae9d8d",
      "parents": [
        "1b427c153a08fdbc092c2bdbf845b92fda58d857",
        "31656519e132f6612584815f128c83976a9aaaef"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 20 11:01:29 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 20 11:01:29 2008 +0200"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/devel\n"
    },
    {
      "commit": "31656519e132f6612584815f128c83976a9aaaef",
      "tree": "595349fdcd65988d7a43d647594dcea8a8a4e80b",
      "parents": [
        "577b4a58d2e74a4d48050eeea3e3f952ce04eb86"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jul 18 18:01:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 20 10:37:28 2008 +0200"
      },
      "message": "sched, x86: clean up hrtick implementation\n\nrandom uvesafb failures were reported against Gentoo:\n\n  http://bugs.gentoo.org/show_bug.cgi?id\u003d222799\n\nand Mihai Moldovan bisected it back to:\n\n\u003e 8f4d37ec073c17e2d4aa8851df5837d798606d6f is first bad commit\n\u003e commit 8f4d37ec073c17e2d4aa8851df5837d798606d6f\n\u003e Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n\u003e Date:   Fri Jan 25 21:08:29 2008 +0100\n\u003e\n\u003e    sched: high-res preemption tick\n\nLinus suspected it to be hrtick + vm86 interaction and observed:\n\n\u003e Btw, Peter, Ingo: I think that commit is doing bad things. They aren\u0027t\n\u003e _incorrect_ per se, but they are definitely bad.\n\u003e\n\u003e Why?\n\u003e\n\u003e Using random _TIF_WORK_MASK flags is really impolite for doing\n\u003e \"scheduling\" work. There\u0027s a reason that arch/x86/kernel/entry_32.S\n\u003e special-cases the _TIF_NEED_RESCHED flag: we don\u0027t want to exit out of\n\u003e vm86 mode unnecessarily.\n\u003e\n\u003e See the \"work_notifysig_v86\" label, and how it does that\n\u003e \"save_v86_state()\" thing etc etc.\n\nRight, I never liked having to fiddle with those TIF flags. Initially I\nneeded it because the hrtimer base lock could not nest in the rq lock.\nThat however is fixed these days.\n\nCurrently the only reason left to fiddle with the TIF flags is remote\nwakeups. We cannot program a remote cpu\u0027s hrtimer. I\u0027ve been thinking\nabout using the new and improved IPI function call stuff to implement\nhrtimer_start_on().\n\nHowever that does require that smp_call_function_single(.wait\u003d0) works\nfrom interrupt context - /me looks at the latest series from Jens - Yes\nthat does seem to be supported, good.\n\nHere\u0027s a stab at cleaning this stuff up ...\n\nMihai reported test success as well.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Mihai Moldovan \u003cionic@ionic.de\u003e\nCc: Michal Januszewski \u003cspock@gentoo.org\u003e\nCc: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e761b7725234276a802322549cee5255305a0930",
      "tree": "27b351a7d5fc9a93590e0effce1c5adb1bfcebc0",
      "parents": [
        "7ebefa8ceefed44cc321be70afc54a585a68ac0b"
      ],
      "author": {
        "name": "Max Krasnyansky",
        "email": "maxk@qualcomm.com",
        "time": "Tue Jul 15 04:43:49 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 13:22:25 2008 +0200"
      },
      "message": "cpu hotplug, sched: Introduce cpu_active_map and redo sched domain managment (take 2)\n\nThis is based on Linus\u0027 idea of creating cpu_active_map that prevents\nscheduler load balancer from migrating tasks to the cpu that is going\ndown.\n\nIt allows us to simplify domain management code and avoid unecessary\ndomain rebuilds during cpu hotplug event handling.\n\nPlease ignore the cpusets part for now. It needs some more work in order\nto avoid crazy lock nesting. Although I did simplfy and unify domain\nreinitialization logic. We now simply call partition_sched_domains() in\nall the cases. This means that we\u0027re using exact same code paths as in\ncpusets case and hence the test below cover cpusets too.\nCpuset changes to make rebuild_sched_domains() callable from various\ncontexts are in the separate patch (right next after this one).\n\nThis not only boots but also easily handles\n\twhile true; do make clean; make -j 8; done\nand\n\twhile true; do on-off-cpu 1; done\nat the same time.\n(on-off-cpu 1 simple does echo 0/1 \u003e /sys/.../cpu1/online thing).\n\nSuprisingly the box (dual-core Core2) is quite usable. In fact I\u0027m typing\nthis on right now in gnome-terminal and things are moving just fine.\n\nAlso this is running with most of the debug features enabled (lockdep,\nmutex, etc) no BUG_ONs or lockdep complaints so far.\n\nI believe I addressed all of the Dmitry\u0027s comments for original Linus\u0027\nversion. I changed both fair and rt balancer to mask out non-active cpus.\nAnd replaced cpu_is_offline() with !cpu_active() in the main scheduler\ncode where it made sense (to me).\n\nSigned-off-by: Max Krasnyanskiy \u003cmaxk@qualcomm.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: dmitry.adamushko@gmail.com\nCc: pj@sgi.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "82638844d9a8581bbf33201cc209a14876eca167",
      "tree": "961d7f9360194421a71aa644a9d0c176a960ce49",
      "parents": [
        "9982fbface82893e77d211fbabfbd229da6bdde6",
        "63cf13b77ab785e87c867defa8545e6d4a989774"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 00:29:07 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpus4096\n\nConflicts:\n\n\tarch/x86/xen/smp.c\n\tkernel/sched_rt.c\n\tnet/iucv/iucv.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68083e05d72d94f347293d8cc0067050ba904bfa",
      "tree": "842e71365bd90866be7add181661a4039d891564",
      "parents": [
        "7baac8b91f9871ba8cb09af84de4ae1d86d07812",
        "b7279469d66b55119784b8b9529c99c1955fe747"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 06 14:23:39 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 06 14:23:39 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.26-rc9\u0027 into cpus4096\n"
    },
    {
      "commit": "2087a1ad822cd3a68b73338457047fcc54da726b",
      "tree": "1ebc45b2499034ffe37b29bf7a748b8e992cd870",
      "parents": [
        "c4acb2c0669c5c5c9b28e9d02a34b5c67edf7092"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jun 27 14:30:00 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 04 12:50:22 2008 +0200"
      },
      "message": "sched: add avg-overlap support to RT tasks\n\nWe have the notion of tracking process-coupling (a.k.a. buddy-wake) via\nthe p-\u003ese.last_wake / p-\u003ese.avg_overlap facilities, but it is only used\nfor cfs to cfs interactions.  There is no reason why an rt to cfs\ninteraction cannot share in establishing a relationhip in a similar\nmanner.\n\nBecause PREEMPT_RT runs many kernel threads as FIFO priority, we often\ntimes have heavy interaction between RT threads waking CFS applications.\nThis patch offers a substantial boost (50-60%+) in perfomance under those\ncircumstances.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: npiggin@suse.de\nCc: rostedt@goodmis.org\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "55e12e5e7b1d7e7c05a4be10cb5fd092c039aa78",
      "tree": "3a12d84266abfc21b1c41410a9c3f2f6d9e5d22d",
      "parents": [
        "f5bfb7d9ff73d72ee4f2f4830a6f0c9088d00f92"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Tue Jun 24 23:39:43 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:32:05 2008 +0200"
      },
      "message": "sched: make sched_{rt,fair}.c ifdefs more readable\n\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f5bfb7d9ff73d72ee4f2f4830a6f0c9088d00f92",
      "tree": "402e8caaef4d3f0c26a52b171e04dbb67ea08cfa",
      "parents": [
        "f1d239f73200a5803a89e5929fb3abc1596b7589"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:39 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:47 2008 +0200"
      },
      "message": "sched: bias effective_load() error towards failing wake_affine().\n\nMeasurement shows that the difference between cgroup:/ and cgroup:/foo\nwake_affine() results is that the latter succeeds significantly more.\n\nTherefore bias the calculations towards failing the test.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f1d239f73200a5803a89e5929fb3abc1596b7589",
      "tree": "33c59b6f2621284af91825ea7fbab718ffe65ade",
      "parents": [
        "83378269a5fad98f562ebc0f09c349575e6cbfe1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:38 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:47 2008 +0200"
      },
      "message": "sched: incremental effective_load()\n\nIncrease the accuracy of the effective_load values.\n\nNot only consider the current increment (as per the attempted wakeup), but\nalso consider the delta between when we last adjusted the shares and the\ncurrent situation.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "83378269a5fad98f562ebc0f09c349575e6cbfe1",
      "tree": "516128bff6cfe915f93b983e3fe96733707ce09c",
      "parents": [
        "243e0e7b7d3b54749ece2e879ecd7e2a11874443"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:37 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:46 2008 +0200"
      },
      "message": "sched: correct wakeup weight calculations\n\nrw_i \u003d {2, 4, 1, 0}\ns_i \u003d {2/7, 4/7, 1/7, 0}\n\nwakeup on cpu0, weight\u003d1\n\nrw\u0027_i \u003d {3, 4, 1, 0}\ns\u0027_i \u003d {3/8, 4/8, 1/8, 0}\n\ns_0 \u003d S * rw_0 / \\Sum rw_j -\u003e\n  \\Sum rw_j \u003d S*rw_0/s_0 \u003d 1*2*7/2 \u003d 7 (correct)\n\ns\u0027_0 \u003d S * (rw_0 + 1) / (\\Sum rw_j + 1) \u003d\n       1 * (2+1) / (7+1) \u003d 3/8 (correct\n\nso we find that adding 1 to cpu0 gains 5/56 in weight\nif say the other cpu were, cpu1, we\u0027d also have to calculate its 4/56 loss\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "243e0e7b7d3b54749ece2e879ecd7e2a11874443",
      "tree": "0dd6af7eb63d261d15d3720f77a9430387e3db42",
      "parents": [
        "2398f2c6d34b43025f274fc42eaca34d23ec2320"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Fri Jun 27 13:41:36 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:45 2008 +0200"
      },
      "message": "sched: fix mult overflow\n\nIt was observed these mults can overflow.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb5ef42a03a13f95a9ea94e6cda4f7a47497871f",
      "tree": "4c94df72d2889ecce52bf74b141ae06d85d4708a",
      "parents": [
        "051c67640e771fd6ad1b676fc0c16c379b3c6f80"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:32 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:43 2008 +0200"
      },
      "message": "sched: optimize effective_load()\n\ns_i \u003d S * rw_i / \\Sum_j rw_j\n\n -\u003e \\Sum_j rw_j \u003d S * rw_i / s_i\n\n -\u003e s\u0027_i \u003d S * (rw_i + w) / (\\Sum_j rw_j + w)\n\ndelta s \u003d s\u0027 - s \u003d S * (rw + w) / ((S * rw / s) + w)\n        \u003d s * (S * (rw + w) / (S * rw + s * w) - 1)\n\n a \u003d S*(rw+w), b \u003d S*rw + s*w\n\ndelta s \u003d s * (a-b) / b\n\nIOW, trade one divide for two multiplies\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4be9daaa1b33701f011f4117f22dc1e45a3e6e34",
      "tree": "8c823cf397055c4919cc5f2a6275f125b0580a6b",
      "parents": [
        "42a3ac7d5cee89849448b41b86faeb86f98e92f6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:30 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:42 2008 +0200"
      },
      "message": "sched: fix task_h_load()\n\nCurrently task_h_load() computes the load of a task and uses that to either\nsubtract it from the total, or add to it.\n\nHowever, removing or adding a task need not have any effect on the total load\nat all. Imagine adding a task to a group that is local to one cpu - in that\ncase the total load of that cpu is unaffected.\n\nSo properly compute addition/removal:\n\n s_i \u003d S * rw_i / \\Sum_j rw_j\n s\u0027_i \u003d S * (rw_i + wl) / (\\Sum_j rw_j + wg)\n\nthen s\u0027_i - s_i gives the change in load.\n\nWhere s_i is the shares for cpu i, S the group weight, rw_i the runqueue weight\nfor that cpu, wl the weight we add (subtract) and wg the weight contribution to\nthe runqueue.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "42a3ac7d5cee89849448b41b86faeb86f98e92f6",
      "tree": "a601a02fd090b6da93b81ef9857133b8de7b5079",
      "parents": [
        "408ed066b11cf9ee4536573b4269ee3613bd735e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:29 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:41 2008 +0200"
      },
      "message": "sched: fix load scaling in group balancing\n\ndoing the load balance will change cfs_rq-\u003eload.weight (that\u0027s the whole point)\nbut since that\u0027s part of the scale factor, we\u0027ll scale back with a different\namount.\n\nWeight getting smaller would result in an inflated moved_load which causes\nit to stop balancing too soon.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb3469ac9b50f14ad6eba129ca0ad4fd033097a0",
      "tree": "e5c6c6563778593f53fca642675b4c3ba5603ed2",
      "parents": [
        "a8a51d5e59561aa5b4d66e19eca819b537783e8f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:27 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:40 2008 +0200"
      },
      "message": "sched: hierarchical load vs affine wakeups\n\nWith hierarchical grouping we can\u0027t just compare task weight to rq weight - we\nneed to scale the weight appropriately.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c8cba857b4997d5b00451d01474638f6a153f713",
      "tree": "a784dce37d72ae20a0efb81b8e498b504a207650",
      "parents": [
        "a25b5aca8740ea99d5e18dfc71235a52b685dcf7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:36 2008 +0200"
      },
      "message": "sched: simplify the group load balancer\n\nWhile thinking about the previous patch - I realized that using per domain\naggregate load values in load_balance_fair() is wrong. We should use the\nload value for that CPU.\n\nBy not needing per domain hierarchical load values we don\u0027t need to store\nper domain aggregate shares, which greatly simplifies all the math.\n\nIt basically falls apart in two separate computations:\n - per domain update of the shares\n - per CPU update of the hierarchical load\n\nAlso get rid of the move_group_shares() stuff - just re-compute the shares\nagain after a successful load balance.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a25b5aca8740ea99d5e18dfc71235a52b685dcf7",
      "tree": "834bcfd9a51f840cc10693348ecffc99ce69550d",
      "parents": [
        "d3f40dbab954d83383b6a516582d5c09cc216dcc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:22 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:35 2008 +0200"
      },
      "message": "sched: no need to aggregate task_weight\n\nWe only need to know the task_weight of the busiest rq - nothing to do\nif there are no tasks there.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "53fecd8ae1900fb571086f54f664051004665b55",
      "tree": "2dfd5aba9d974f0f114e96cbdc2aef82a32078a9",
      "parents": [
        "4d8d595dfa69e1c807bf928f364668a7f30da5dc"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Fri Jun 27 13:41:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:33 2008 +0200"
      },
      "message": "sched: kill task_group balancing\n\nThe idea was to balance groups until we\u0027ve reached the global goal, however\nVatsa rightly pointed out that we might never reach that goal this way -\nhence take out this logic.\n\n[ the initial rationale for this \u0027feature\u0027 was to promote max concurrency\n  within a group - it does not however affect fairness ]\n\nReported-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6a86c746f5b708012809958462234d19e9c8177",
      "tree": "38654c70da6382f50779ede1e973d2d395f38e54",
      "parents": [
        "32df2ee86a580f70f2dbb90cf81f413aa655f838"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:18 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:32 2008 +0200"
      },
      "message": "sched: fix sched_domain aggregation\n\nKeeping the aggregate on the first cpu of the sched domain has two problems:\n - it could collide between different sched domains on different cpus\n - it could slow things down because of the remote accesses\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "103638d95ba5b0c53c8d9c0cb581156ccc8513ee",
      "tree": "56d78e3e00780e044ef7688f27c93ece813035c1",
      "parents": [
        "76a2a6ee8a0660a29127f05989ac59ae1ce865fa"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:16 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:31 2008 +0200"
      },
      "message": "sched: fix wakeup granularity and buddy granularity\n\nUncouple buddy selection from wakeup granularity.\n\nThe initial idea was that buddies could run ahead as far as a normal task\ncan - do this by measuring a pair \u0027slice\u0027 just as we do for a normal task.\n\nThis means we can drop the wakeup_granularity back to 5ms.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c09595f63bb1909c5dc4dca288f4fe818561b5f3",
      "tree": "42631e6986f3ea4543b125ca62a99df8548e0eb9",
      "parents": [
        "ced8aa16e1db55c33c507174c1b1f9e107445865"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:14 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:29 2008 +0200"
      },
      "message": "sched: revert revert of: fair-group: SMP-nice for group scheduling\n\nTry again..\n\nInitial commit: 18d95a2832c1392a2d63227a7a6d433cb9f2037e\nRevert: 6363ca57c76b7b83639ca8c83fc285fa26a7880e\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ced8aa16e1db55c33c507174c1b1f9e107445865",
      "tree": "87210bb14026a7a3d005b5339dae44d845f27708",
      "parents": [
        "c9c294a630e28eec5f2865f028ecfc58d45c0a5a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:13 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:28 2008 +0200"
      },
      "message": "sched: fix calc_delta_asym, #2\n\nOk, so why are we in this mess, it was:\n\n  1/w\n\nbut now we mixed that rw in the mix like:\n\n rw/w\n\nrw being \\Sum w suggests: fiddling w, we should also fiddle rw, humm?\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c9c294a630e28eec5f2865f028ecfc58d45c0a5a",
      "tree": "62fcfc395e98ff7a4ff6bee3364d0bb86024b171",
      "parents": [
        "a7be37ac8e1565e00880531f4e2aff421a21c803"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:12 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:28 2008 +0200"
      },
      "message": "sched: fix calc_delta_asym()\n\ncalc_delta_asym() is supposed to do the same as calc_delta_fair() except\nlinearly shrink the result for negative nice processes - this causes them\nto have a smaller preemption threshold so that they are more easily preempted.\n\nThe problem is that for task groups se-\u003eload.weight is the per cpu share of\nthe actual task group weight; take that into account.\n\nAlso provide a debug switch to disable the asymmetry (which I still don\u0027t\nlike - but it does greatly benefit some workloads)\n\nThis would explain the interactivity issues reported against group scheduling.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a7be37ac8e1565e00880531f4e2aff421a21c803",
      "tree": "82eb64ba5b221c3abea6d6f56c692841faea813a",
      "parents": [
        "bf647b62fdb948e757a7b4d18d4f16e3c763b1d1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:11 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:27 2008 +0200"
      },
      "message": "sched: revert the revert of: weight calculations\n\nTry again..\n\ninitial commit: 8f1bc385cfbab474db6c27b5af1e439614f3025c\nrevert: f9305d4a0968201b2818dbed0dc8cb0d4ee7aeb3\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d299f1b53b84e2665f402d9bcc494800aba6386",
      "tree": "52d44fb6e2fe84f180c7e47a0faa5da48be6ab26",
      "parents": [
        "6e0534f278199f1e3dd1049b9bc19a7a5b87ada1"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon May 12 21:21:14 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 06 15:19:29 2008 +0200"
      },
      "message": "sched: fix SCHED_OTHER balance iterator to include all tasks\n\nThe currently logic inadvertently skips the last task on the run-queue,\nresulting in missed balance opportunities.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: David Bahi \u003cdbahi@novell.com\u003e\nCC: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b3137bc8e77962a8e3b4dfdc1bcfd38e437bd278",
      "tree": "5131501b5575f933074cc89545ff997d277d1d57",
      "parents": [
        "a381759d6ad5c5dea5a981918e0b4493e9b66ac7"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu May 29 11:11:41 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:29:20 2008 +0200"
      },
      "message": "sched: stop wake_affine from causing serious imbalance\n\nPrevent short-running wakers of short-running threads from overloading a single\ncpu via wakeup affinity, and wire up disconnected debug option.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6363ca57c76b7b83639ca8c83fc285fa26a7880e",
      "tree": "b8630b4af286409efdd648920a546fae24d4db88",
      "parents": [
        "4285f594f84d1f0641fc962d00e6638dec4a19c4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:28:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:28:57 2008 +0200"
      },
      "message": "revert (\"sched: fair-group: SMP-nice for group scheduling\")\n\nYanmin Zhang reported:\n\nComparing with 2.6.25, volanoMark has big regression with kernel 2.6.26-rc1.\nIt\u0027s about 50% on my 8-core stoakley, 16-core tigerton, and Itanium Montecito.\n\nWith bisect, I located the following patch:\n\n| 18d95a2832c1392a2d63227a7a6d433cb9f2037e is first bad commit\n| commit 18d95a2832c1392a2d63227a7a6d433cb9f2037e\n| Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n| Date:   Sat Apr 19 19:45:00 2008 +0200\n|\n|     sched: fair-group: SMP-nice for group scheduling\n\nRevert it so that we get v2.6.25 behavior.\n\nBisected-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9305d4a0968201b2818dbed0dc8cb0d4ee7aeb3",
      "tree": "e171e568f04bd25c7c2ff99b5ef673b917b6eae6",
      "parents": [
        "f26a3988917913b3d11b2bd741601a2c64ab9204"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:23:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 29 11:24:01 2008 +0200"
      },
      "message": "revert (\"sched: fair: weight calculations\")\n\nYanmin Zhang reported:\n\nComparing with kernel 2.6.25, sysbench+mysql(oltp, readonly) has many\nregressions with 2.6.26-rc1:\n\n 1) 8-core stoakley: 28%;\n 2) 16-core tigerton: 20%;\n 3) Itanium Montvale: 50%.\n\nBisect located this patch:\n\n| 8f1bc385cfbab474db6c27b5af1e439614f3025c is first bad commit\n| commit 8f1bc385cfbab474db6c27b5af1e439614f3025c\n| Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n| Date:   Sat Apr 19 19:45:00 2008 +0200\n|\n|     sched: fair: weight calculations\n\nRevert it to the 2.6.25 state.\n\nBisected-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "363ab6f1424cdea63e5d182312d60e19077b892a",
      "tree": "e200197412691015ca8de083155985e7e460ecfc",
      "parents": [
        "068b12772a64c2440ef2f64ac5d780688c06576f"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon May 12 21:21:13 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 23 18:35:12 2008 +0200"
      },
      "message": "core: use performance variant for_each_cpu_mask_nr\n\nChange references from for_each_cpu_mask to for_each_cpu_mask_nr\nwhere appropriate\n\nReviewed-by: Paul Jackson \u003cpj@sgi.com\u003e\nReviewed-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "46151122e0a2e80e5a6b2889f595e371fe2b600d",
      "tree": "61ab1993c1a94765327aeba3b36924b88b81e68f",
      "parents": [
        "bf726eab3711cf192405d21688a4b21e07b6188a"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Thu May 08 17:00:42 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 08 17:00:42 2008 +0200"
      },
      "message": "sched: fix weight calculations\n\nThe conversion between virtual and real time is as follows:\n\n  dvt \u003d rw/w * dt \u003c\u003d\u003e dt \u003d w/rw * dvt\n\nSince we want the fair sleeper granularity to be in real time, we actually\nneed to do:\n\n  dvt \u003d - rw/w * l\n\nThis bug could be related to the regression reported by Yanmin Zhang:\n\n| Comparing with kernel 2.6.25, sysbench+mysql(oltp, readonly) has lots\n| of regressions with 2.6.26-rc1:\n|\n| 1) 8-core stoakley: 28%;\n| 2) 16-core tigerton: 20%;\n| 3) Itanium Montvale: 50%.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\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": "3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd",
      "tree": "3752f9ea8e014ec40e95a1b197b0a3d18e1056a8",
      "parents": [
        "a5574cf65b5f03ce9ade3918764fe22e5e2371e3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat May 03 18:29:28 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: add optional support for CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n\nthis replaces the rq-\u003eclock stuff (and possibly cpu_clock()).\n\n - architectures that have an \u0027imperfect\u0027 hardware clock can set\n   CONFIG_HAVE_UNSTABLE_SCHED_CLOCK\n\n - the \u0027jiffie\u0027 window might be superfulous when we update tick_gtod\n   before the __update_sched_clock() call in sched_clock_tick()\n\n - cpu_clock() might be implemented as:\n\n     sched_clock_cpu(smp_processor_id())\n\n   if the accuracy proves good enough - how far can TSC drift in a\n   single jiffie when considering the filtering and idle hooks?\n\n[ mingo@elte.hu: various fixes and cleanups ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7dcdc11cfa6a8860a29b09f985467b89224699d",
      "tree": "cd7b8c1ba9b23ec84f93e58417e67644dfd7a124",
      "parents": [
        "673a90a1e05c8127886f7659d1a457169378371f"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Apr 29 12:23:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix debugging\n\nRevert debugging commit 7ba2e74ab5a0518bc953042952dd165724bc70c9.\nprint_cfs_rq_tasks() can induce live-lock if a task is dequeued\nduring list traversal.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "104f64549c961a797ff5f7c59946a7caa335c5b0",
      "tree": "d63d707ee5b9d1dbc8e5796e142ca584736f01b9",
      "parents": [
        "8ae121ac8666b0421aa20fd80d4597ec66fa54bc"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Apr 28 12:40:01 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:18 2008 +0200"
      },
      "message": "sched: fix SCHED_FAIR wake-idle logic error\n\nWe currently use an optimization to skip the overhead of wake-idle\nprocessing if more than one task is assigned to a run-queue.  The\nassumption is that the system must already be load-balanced or we\nwouldnt be overloaded to begin with.\n\nThe problem is that we are looking at rq-\u003enr_running, which may include\nRT tasks in addition to CFS tasks.  Since the presence of RT tasks\nreally has no bearing on the balance status of CFS tasks, this throws\nthe calculation off.\n\nThis patch changes the logic to only consider the number of CFS tasks\nwhen making the decision to optimze the wake-idle.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "983ed7a66bcec9dc307d89dc7af47cdf209e56af",
      "tree": "a5fc14c7fe993b795198bbeee2919ad695735e81",
      "parents": [
        "d478c2cfaa2476f8b6876f9eb4d8fddcfa986479"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Apr 24 18:17:55 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: add statics, don\u0027t return void expressions\n\nNoticed by sparse:\nkernel/sched.c:760:20: warning: symbol \u0027sched_feat_names\u0027 was not declared. Should it be static?\nkernel/sched.c:767:5: warning: symbol \u0027sched_feat_open\u0027 was not declared. Should it be static?\nkernel/sched_fair.c:845:3: warning: returning void-valued expression\nkernel/sched.c:4386:3: warning: returning void-valued expression\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a992241de614dd2b7c97a9ba64e28c0e563f19bf",
      "tree": "a76f646188c23aad856b43ffc841a0ec08613398",
      "parents": [
        "5717922a1b8cc477f45a0f4f11fe619392ba7133"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 05 23:56:17 2008 +0200"
      },
      "message": "sched: fix normalized sleeper\n\nNormalized sleeper uses calc_delta*() which requires that the rq load is\nalready updated, so move account_entity_enqueue() before place_entity()\n\nTested-by: Frans Pop \u003celendil@planet.nl\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7ba2e74ab5a0518bc953042952dd165724bc70c9",
      "tree": "c6a1495130ebef022f21cb3b7acde0842588acb4",
      "parents": [
        "8f1bc385cfbab474db6c27b5af1e439614f3025c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: debug: show a weight tree\n\nPrint a tree of weights.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f1bc385cfbab474db6c27b5af1e439614f3025c",
      "tree": "e4cfb8255d62621d17bc08ee5f94f42a0cc22677",
      "parents": [
        "4a55bd5e97b1775913f88f11108a4f144f590e89"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fair: weight calculations\n\nIn order to level the hierarchy, we need to calculate load based on the\nroot view. That is, each task\u0027s load is in the same unit.\n\n             A\n            / \\\n           B   1\n          / \\\n         2   3\n\nTo compute 1\u0027s load we do:\n\n\t   weight(1)\n\t--------------\n\t rq_weight(A)\n\nTo compute 2\u0027s load we do:\n\n\t  weight(2)      weight(B)\n\t------------ * -----------\n\trq_weight(B)   rw_weight(A)\n\nThis yields load fractions in comparable units.\n\nThe consequence is that it changes virtual time. We used to have:\n\n                time_{i}\n  vtime_{i} \u003d ------------\n               weight_{i}\n\n  vtime \u003d \\Sum vtime_{i} \u003d time / rq_weight.\n\nBut with the new way of load calculation we get that vtime equals time.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4a55bd5e97b1775913f88f11108a4f144f590e89",
      "tree": "4514f2370d898b93086779c821023319fe4c8b9d",
      "parents": [
        "ac884dec6d4a7df252150af875cffddf8f1d9c15"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fair-group: de-couple load-balancing from the rb-trees\n\nDe-couple load-balancing from the rb-trees, so that I can change their\norganization.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac884dec6d4a7df252150af875cffddf8f1d9c15",
      "tree": "6ba7140a8b6e7b332fd687d24de45d2f6ded8035",
      "parents": [
        "58d6c2d72f8628f39e8689fbde8aa177fcf00a37"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fair-group scheduling vs latency\n\nCurrently FAIR_GROUP sched grows the scheduler latency outside of\nsysctl_sched_latency, invert this so it stays within.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "18d95a2832c1392a2d63227a7a6d433cb9f2037e",
      "tree": "fa85b700aa3caac5b1309edd8e31d9b957957a83",
      "parents": [
        "1d3504fcf5606579d60b649d19f44b3871c1ddae"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: fair-group: SMP-nice for group scheduling\n\nImplement SMP nice support for the full group hierarchy.\n\nOn each load-balance action, compile a sched_domain wide view of the full\ntask_group tree. We compute the domain wide view when walking down the\nhierarchy, and readjust the weights when walking back up.\n\nAfter collecting and readjusting the domain wide view, we try to balance the\ntasks within the task_groups. The current approach is a naively balance each\ntask group until we\u0027ve moved the targeted amount of load.\n\nInspired by Srivatsa Vaddsgiri\u0027s previous code and Abhishek Chandra\u0027s H-SMP\npaper.\n\nXXX: there will be some numerical issues due to the limited nature of\n     SCHED_LOAD_SCALE wrt to representing a task_groups influence on the\n     total weight. When the tree is deep enough, or the task weight small\n     enough, we\u0027ll run out of bits.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Abhishek Chandra \u003cchandra@cs.umn.edu\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d3504fcf5606579d60b649d19f44b3871c1ddae",
      "tree": "001a1b57bd7f123fd51361d78d9277b2dcac1bf3",
      "parents": [
        "4d5f35533fb9b2cd553cec6611195bcbfb7ffd84"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Tue Apr 15 14:04:23 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched, cpuset: customize sched domains, core\n\n[rebased for sched-devel/latest]\n\n - Add a new cpuset file, having levels:\n     sched_relax_domain_level\n\n - Modify partition_sched_domains() and build_sched_domains()\n   to take attributes parameter passed from cpuset.\n\n - Fill newidle_idx for node domains which currently unused but\n   might be required if sched_relax_domain_level become higher.\n\n - We can change the default level by boot option \u0027relax_domain_level\u003d\u0027.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b758149c02638146a835f42097dd1950a6cae638",
      "tree": "a17be39d414eaa6ba6de612c049765f3bbf30efb",
      "parents": [
        "b40b2e8eb52192a8a22d707ed37925792b7bdfd1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:45:00 2008 +0200"
      },
      "message": "sched: prepatory code movement\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "354d60c2ff72d86627dfe2089d186824abf4bb8e",
      "tree": "10cea61ce7036448ed7246820c5575df2a61bb3b",
      "parents": [
        "ea736ed5d353d7a3aa1cf8ce4cf8d947bc353fb2"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: mix tasks and groups\n\nThis patch allows tasks and groups to exist in the same cfs_rq. With this\nchange the CFS group scheduling follows a 1/(M+N) model from a 1/(1+N)\nfairness model where M tasks and N groups exist at the cfs_rq level.\n\n[a.p.zijlstra@chello.nl: rt bits and assorted fixes]\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "112f53f5d700589de741dca67c77439e96ea94a7",
      "tree": "1faeaa6a25717b80c8ce0a51a9bf7f5f32d5ac08",
      "parents": [
        "cd8ba7cd9be0192348c2836cb6645d9b2cd2bfd2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 19 11:43:36 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:59 2008 +0200"
      },
      "message": "sched: old sleeper bonus\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79b3feffb10417f197d2ab48dd4fa3c0c9e7d788",
      "tree": "78b754d36beddd15f43723faa861e06b239ca47b",
      "parents": [
        "19fb518c2a0c5d88ed22bba7083b7e7bc2a9c231"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 18 13:39:37 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: fix regression with sched yield\n\nBalbir Singh reported:\n\n\u003e 1:mon\u003e t\n\u003e [c0000000e7677da0] c000000000067de0 .sys_sched_yield+0x6c/0xbc\n\u003e [c0000000e7677e30] c000000000008748 syscall_exit+0x0/0x40\n\u003e --- Exception: c01 (System Call) at 00000400001d09e4\n\u003e SP (4000664cb10) is in userspace\n\u003e 1:mon\u003e r\n\u003e cpu 0x1: Vector: 300 (Data Access) at [c0000000e7677aa0]\n\u003e     pc: c000000000068e50: .yield_task_fair+0x94/0xc4\n\u003e     lr: c000000000067de0: .sys_sched_yield+0x6c/0xbc\n\nthe check that should have avoided that is:\n\n        /*\n         * Are we the only task in the tree?\n         */\n        if (unlikely(rq-\u003eload.weight \u003d\u003d curr-\u003ese.load.weight))\n                return;\n\nBut I guess that overlooks rt tasks, they also increase the load.\nSo I guess something like this ought to fix it..\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "50df5d6aea6694ca481b8005900401e8c95c2603",
      "tree": "3b2e2955aceed795f5d54220ee37a859e83c12c6",
      "parents": [
        "02e2b83bd25bb05ac2e69cb31458b7d1b3c70707"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 16:09:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: remove sysctl_sched_batch_wakeup_granularity\n\nit\u0027s unused.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0bbd3336eee1e712a290e0dfd1a64cbbdd63a508",
      "tree": "a44ea1d2a5bf1e9f2975bc55a88167b3fc2104fe",
      "parents": [
        "15934a37324f32e0fda633dc7984a671ea81cd75"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: fix wakeup granularity for buddies\n\nThe wakeup buddy logic didn\u0027t use the same wakeup granularity logic as the\nwakeup preemption did, this might cause the -\u003enext buddy to be selected past\nthe point where we would have preempted had the task been a single running\ninstance.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "018d6db4cb5bbdcd65424a16f2dcca692ed32ae4",
      "tree": "aee5a5ae44ba3f345c26acf91d419dae1ba6d1e1",
      "parents": [
        "3925e6fc1f774048404fdd910b0345b06c699eb4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:53:32 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 19 19:44:57 2008 +0200"
      },
      "message": "sched: re-do \"sched: fix fair sleepers\"\n\nre-apply:\n\n| commit e22ecef1d2658ba54ed7d3fdb5d60829fb434c23\n| Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n| Date:   Fri Mar 14 22:16:08 2008 +0100\n|\n|     sched: fix fair sleepers\n|\n|     Fair sleepers need to scale their latency target down by runqueue\n|     weight. Otherwise busy systems will gain ever larger sleep bonus.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e2df9e0905136eebeca66eb9a994ca48d0fa7990",
      "tree": "a349fbb43871b173703f14bf325545e491de7bff",
      "parents": [
        "120dd64cacd4fb796bca0acba3665553f1d9ecaa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 14:26:23 2008 +0200"
      },
      "message": "revert \"sched: fix fair sleepers\"\n\nrevert \"sched: fix fair sleepers\" (e22ecef1d2658ba54ed7d3fdb5d60829fb434c23),\nbecause it is causing audio skipping, see:\n\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d10428\n\nthe patch is correct and the real cause of the skipping is not\nunderstood (tracing makes it go away), but time has run out so we\u0027ll\nrevert it and re-try in 2.6.26.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2070ee01d314ecec8a570c07647ccf4ced6340bb",
      "tree": "e7a3c95e9c8ae06917e00a40fcb6cae1c4a9c924",
      "parents": [
        "ae51801ba5ca27c2c571eb508daa99b392e79bd4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "message": "sched: cleanup old and rarely used \u0027debug\u0027 features.\n\nTREE_AVG and APPROX_AVG are initial task placement policies that have been\ndisabled for a long while.. time to remove them.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74e3cd7f480ae1888b7cd196bf8125a1d3bfee05",
      "tree": "8fb0ee01df92d145e975ce210e6aac2be5584062",
      "parents": [
        "f540a6080a092e2ab69fd146c308022db7347b0a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 18 18:47:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: retune wake granularity\n\nreduce wake-up granularity for better interactivity.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ae7d5cefd4aa3560e359a3b0f03e12adc8b5c86",
      "tree": "c7517529ec199d3d9936b4049880a820534d2703",
      "parents": [
        "6f3d09291b4982991680b61763b2541e53e2a95f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 01:42:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: improve affine wakeups\n\nimprove affine wakeups. Maintain the \u0027overlap\u0027 metric based on CFS\u0027s\nsum_exec_runtime - which means the amount of time a task executes\nafter it wakes up some other task.\n\nUse the \u0027overlap\u0027 for the wakeup decisions: if the \u0027overlap\u0027 is short,\nit means there\u0027s strong workload coupling between this task and the\nwoken up task. If the \u0027overlap\u0027 is large then the workload is decoupled\nand the scheduler will move them to separate CPUs more easily.\n\n( Also slightly move the preempt_check within try_to_wake_up() - this has\n  no effect on functionality but allows \u0027early wakeups\u0027 (for still-on-rq\n  tasks) to be correctly accounted as well.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f48273860edfca2306236d0f0de609aab3f773d4",
      "tree": "2ee68d85fa99e54488d25780234e3e3fb2c0b982",
      "parents": [
        "ac192d3921a14e2c9080799e16959b4bd56f49d6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 16 21:21:47 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: clean up wakeup balancing, code flow\n\nClean up the code flow. No code changed:\n\nkernel/sched.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.before\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.after\n\nmd5:\n   09b31c44e9aff8666f72773dc433e2df  sched.o.before.asm\n   09b31c44e9aff8666f72773dc433e2df  sched.o.after.asm\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac192d3921a14e2c9080799e16959b4bd56f49d6",
      "tree": "da675c79a0c5076a49bfa75b74a29d8bde85f60e",
      "parents": [
        "098fb9db2c74cfd6ffdbf61eb026a0c21abc5f75"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 16 20:56:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:52 2008 +0100"
      },
      "message": "sched: clean up wakeup balancing, rename variables\n\nrename \u0027cpu\u0027 to \u0027prev_cpu\u0027. No code changed:\n\nkernel/sched.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.before\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.after\n\nmd5:\n   09b31c44e9aff8666f72773dc433e2df  sched.o.before.asm\n   09b31c44e9aff8666f72773dc433e2df  sched.o.after.asm\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "098fb9db2c74cfd6ffdbf61eb026a0c21abc5f75",
      "tree": "1b7d4d35ce9d375f7078937518f92b60f4fda000",
      "parents": [
        "f920bb6f5fe21047e669381fe4dd346f6a9d3562"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 16 20:36:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:52 2008 +0100"
      },
      "message": "sched: clean up wakeup balancing, move wake_affine()\n\nsplit out the affine-wakeup bits.\n\nNo code changed:\n\nkernel/sched.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.before\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.after\n\nmd5:\n   9d76738f1272aa82f0b7affd2f51df6b  sched.o.before.asm\n   09b31c44e9aff8666f72773dc433e2df  sched.o.after.asm\n\n(the md5\u0027s changed because stack slots changed and some registers\nget scheduled by gcc in a different order - but otherwise the before\nand after assembly is instruction for instruction equivalent.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6a6029b8cefe0ca7e82f27f3904dbedba3de4e06",
      "tree": "a58e0590105f89be306daf01fc83473d7a3e0104",
      "parents": [
        "e22ecef1d2658ba54ed7d3fdb5d60829fb434c23"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 22:17:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:50 2008 +0100"
      },
      "message": "sched: simplify sched_slice()\n\nUse the existing calc_delta_mine() calculation for sched_slice(). This\nsaves a divide and simplifies the code because we share it with the\nother /cfs_rq-\u003eload users.\n\nIt also improves code size:\n\n      text    data     bss     dec     hex filename\n     42659    2740     144   45543    b1e7 sched.o.before\n     42093    2740     144   44977    afb1 sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "e22ecef1d2658ba54ed7d3fdb5d60829fb434c23",
      "tree": "49069e160107578ec8212d969b599e03d7a62fae",
      "parents": [
        "aa2ac25229cd4d0280f6174c42712744ad61b140"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 22:16:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:50 2008 +0100"
      },
      "message": "sched: fix fair sleepers\n\nFair sleepers need to scale their latency target down by runqueue\nweight. Otherwise busy systems will gain ever larger sleep bonus.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "aa2ac25229cd4d0280f6174c42712744ad61b140",
      "tree": "e4450de1bb2cd4cd56d6abf64feb862c1d542653",
      "parents": [
        "27d117266097101dcf79c4576903cdcdd0eabffc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 14 21:12:12 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:50 2008 +0100"
      },
      "message": "sched: fix overload performance: buddy wakeups\n\nCurrently we schedule to the leftmost task in the runqueue. When the\nruntimes are very short because of some server/client ping-pong,\nespecially in over-saturated workloads, this will cycle through all\ntasks trashing the cache.\n\nReduce cache trashing by keeping dependent tasks together by running\nnewly woken tasks first. However, by not running the leftmost task first\nwe could starve tasks because the wakee can gain unlimited runtime.\n\nTherefore we only run the wakee if its within a small\n(wakeup_granularity) window of the leftmost task. This preserves\nfairness, but does alternate server/client task groups.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3fe69747dab906cd6a8523230276a9820d6a514f",
      "tree": "bab43c856bd5c23a43fe641be3d1a0e85d3dd604",
      "parents": [
        "0e1f34833bd9170ccc93ab759e48e695917fa48f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 14 20:55:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:49 2008 +0100"
      },
      "message": "sched: min_vruntime fix\n\nCurrent min_vruntime tracking is incorrect and will cause serious\nproblems when we don\u0027t run the leftmost task for some reason.\n\nmin_vruntime does two things; 1) it\u0027s used to determine a forward\ndirection when the u64 vruntime wraps, 2) it\u0027s used to track the\nleftmost vruntime to position newly enqueued tasks from.\n\nThe current logic advances min_vruntime whenever the current task\u0027s\nvruntime advance. Because the current task may pass the leftmost task\nstill waiting we\u0027re failing the second goal. This causes new tasks to be\nplaced too far ahead and thus penalizes their runtime.\n\nFix this by making min_vruntime the min_vruntime of the waiting tasks by\ntracking it in enqueue/dequeue, and compare against current\u0027s vruntime\nto obtain the absolute minimum when placing new tasks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "810b38179e9e4d4f57b4b733767bb08f8291a965",
      "tree": "91692de4fbd46879b29d803839b5bf7e25f30cd8",
      "parents": [
        "ce4796d1e16cf3761dc2a02b8d588667d05b3078"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Feb 29 15:21:01 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:42:59 2008 +0100"
      },
      "message": "sched: retain vruntime\n\nKei Tokunaga reported an interactivity problem when moving tasks\nbetween control groups.\n\nTasks would retain their old vruntime when moved between groups, this\ncan cause funny lags. Re-set the vruntime on group move to fit within\nthe new tree.\n\nReported-by: Kei Tokunaga \u003ctokunaga.keiich@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "62fb185130e4d420f71a30ff59d8b16b74ef5d2b",
      "tree": "474c0824a5bf90950b0a430a11a52b358c9e1f31",
      "parents": [
        "976dde010e513a9c7c3117a32b7b015f84b37430"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 25 17:34:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 04 17:54:06 2008 +0100"
      },
      "message": "sched: revert load_balance_monitor() changes\n\nThe following commits cause a number of regressions:\n\n  commit 58e2d4ca581167c2a079f4ee02be2f0bc52e8729\n  Author: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n  Date:   Fri Jan 25 21:08:00 2008 +0100\n  sched: group scheduling, change how cpu load is calculated\n\n  commit 6b2d7700266b9402e12824e11e0099ae6a4a6a79\n  Author: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n  Date:   Fri Jan 25 21:08:00 2008 +0100\n  sched: group scheduler, fix fairness of cpu bandwidth allocation for task groups\n\nNamely:\n - very frequent wakeups on SMP, reported by PowerTop users.\n - cacheline trashing on (large) SMP\n - some latencies larger than 500ms\n\nWhile there is a mergeable patch to fix the latter, the former issues\nare not fixable in a manner suitable for .25 (we\u0027re at -rc3 now).\n\nHence we revert them and try again in v2.6.26.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nTested-by: Alexey Zaytsev \u003calexey.zaytsev@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7eee3e677d6e2e9007afcd7d79b0715525aa552e",
      "tree": "ab6f80a178701aa07fd045f65c2c6ef3596fec13",
      "parents": [
        "70eee74b70c1a8485ec5f2bafa13dbc66fab6e02"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 22 10:32:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:17 2008 +0100"
      },
      "message": "sched: clean up __pick_last_entity() a bit\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70eee74b70c1a8485ec5f2bafa13dbc66fab6e02",
      "tree": "837c9a55d3c21221b8f7b29a468fb6d366f3dc4c",
      "parents": [
        "6892b75e60557a48c01d57ba320419a9e2ce9846"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Fri Feb 22 13:25:53 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:17 2008 +0100"
      },
      "message": "sched: remove duplicate code from sched_fair.c\n\npick_task_entity() duplicates existing code. This functionality can be\neasily obtained using rb_last(). Avoid code duplication by using rb_last().\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef9884e6f29bbe1075204f962a00f7533bf7e8f3",
      "tree": "6d67c6a7073ec99237336c32a8d6985d5b8a2f4e",
      "parents": [
        "296825cbe14d4c95ee9c41ca5824f7487bfb4d9d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 31 22:45:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:45:22 2008 +0100"
      },
      "message": "sched: let +nice tasks have smaller impact\n\nMichel Dänzr has bisected an interactivity problem with\nplus-reniced tasks back to this commit:\n\n 810e95ccd58d91369191aa4ecc9e6d4a10d8d0c8 is first bad commit\n commit 810e95ccd58d91369191aa4ecc9e6d4a10d8d0c8\n Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n Date:   Mon Oct 15 17:00:14 2007 +0200\n\n sched: another wakeup_granularity fix\n\n      unit mis-match: wakeup_gran was used against a vruntime\n\nfix this by assymetrically scaling the vtime of positive reniced\ntasks.\n\nBisected-by: Michel Dänzer \u003cmichel@tungstengraphics.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "296825cbe14d4c95ee9c41ca5824f7487bfb4d9d",
      "tree": "c1d608ee1dd774f1d726c12873feff8a29422fff",
      "parents": [
        "095031052b4c03a7c8ffa51cbab031e442c4f8b7"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Thu Jan 31 22:45:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 31 22:45:22 2008 +0100"
      },
      "message": "sched: fix high wake up latencies with FAIR_USER_SCHED\n\nThe reason why we are getting better wakeup latencies for\n!FAIR_USER_SCHED is because of this snippet of code in place_entity():\n\n\tif (!initial) {\n\t\t/* sleeps upto a single latency don\u0027t count. */\n\t\tif (sched_feat(NEW_FAIR_SLEEPERS) \u0026\u0026 entity_is_task(se))\n\t\t\t\t\t\t     ^^^^^^^^^^^^^^^^^^\n\t\t\tvruntime -\u003d sysctl_sched_latency;\n\n\t\t/* ensure we never gain time by being placed backwards. */\n\t\tvruntime \u003d max_vruntime(se-\u003evruntime, vruntime);\n\t}\n\nNEW_FAIR_SLEEPERS feature gives credit for sleeping only to tasks and\nnot group-level entities. With the patch attached, I could see that\nwakeup latencies with FAIR_USER_SCHED are restored to the same level as\n!FAIR_USER_SCHED.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d082592b62689fb91578d0338d04a9f50991990",
      "tree": "facef621798752724be64c3ded31a3c3fded1643",
      "parents": [
        "286100a6cf1c1f692e5f81d14b364ff12b7662f5"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:35 2008 +0100"
      },
      "message": "sched: keep total / count stats in addition to the max for\n\nRight now, the linux kernel (with scheduler statistics enabled) keeps track\nof the maximum time a process is waiting to be scheduled. While the maximum\nis a very useful metric, tracking average and total is equally useful\n(at least for latencytop) to figure out the accumulated effect of scheduler\ndelays. The accumulated effect is important to judge the performance impact\nof scheduler tuning/behavior.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5973e5b954848c63855a357ad4ff39882e3904f7",
      "tree": "e88c2d900a228401cefc7e144bf5628434df18ac",
      "parents": [
        "5fb5e6de55860a99c2d8fe7e0c8222d5c53d8464"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched: fix: don\u0027t take a mutex from interrupt context\n\nprint_cfs_stats is callable from interrupt context (sysrq), hence it should\nnot take mutexes. Change it to use RCU since the task group data is RCU\nfreed anyway.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9745512ce79de686df354dc70a8d1a74d801892d",
      "tree": "9b64e2b2e6d2ae534beef136922082f21701c7b9",
      "parents": [
        "326587b840785c60f5dc18557235a23bafefd620"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:34 2008 +0100"
      },
      "message": "sched: latencytop support\n\nLatencyTOP kernel infrastructure; it measures latencies in the\nscheduler and tracks it system wide and per process.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8f4d37ec073c17e2d4aa8851df5837d798606d6f",
      "tree": "a9ac9063eca53e4d0110e8086f55241ea70ba993",
      "parents": [
        "02b67cc3ba36bdba351d6c3a00593f4ec550d9d3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:29 2008 +0100"
      },
      "message": "sched: high-res preemption tick\n\nUse HR-timers (when available) to deliver an accurate preemption tick.\n\nThe regular scheduler tick that runs at 1/HZ can be too coarse when nice\nlevel are used. The fairness system will still keep the cpu utilisation \u0027fair\u0027\nby then delaying the task that got an excessive amount of CPU time but try to\nminimize this by delivering preemption points spot-on.\n\nThe average frequency of this extra interrupt is sched_latency / nr_latency.\nWhich need not be higher than 1/HZ, its just that the distribution within the\nsched_latency period is important.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cb46984504048db946cd551c261df4e70d59a8ea",
      "tree": "e07343cc5967f74370c6b0290b67a225d868a99d",
      "parents": [
        "9a897c5a6701bcb6f099f7ca20194999102729fd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 25 21:08:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:22 2008 +0100"
      },
      "message": "sched: RT-balance, add new methods to sched_class\n\nDmitry Adamushko found that the current implementation of the RT\nbalancing code left out changes to the sched_setscheduler and\nrt_mutex_setprio.\n\nThis patch addresses this issue by adding methods to the schedule classes\nto handle being switched out of (switched_from) and being switched into\n(switched_to) a sched_class. Also a method for changing of priorities\nis also added (prio_changed).\n\nThis patch also removes some duplicate logic between rt_mutex_setprio and\nsched_setscheduler.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4bf0b77158d581c952af237aec79d0604b78fe27",
      "tree": "d2500b882a4ed7e9a97e8633120a6e6aeccfa0c3",
      "parents": [
        "5d2f5a616d65e3c08acde3195694c4ab8afbc1b7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 25 21:08:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:21 2008 +0100"
      },
      "message": "sched: remove do_div() from __sched_slice()\n\nYanmin Zhang noticed a nice optimization:\n\n  p \u003d l * nr / nl, nl \u003d l/g -\u003e p \u003d g * nr\n\nwhich eliminates a do_div() from __sched_period().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ec3b77e11b9398ab40b492c4fde7d8aac04a718",
      "tree": "50045d0ddae170feea69e097e54b8c019aa81681",
      "parents": [
        "32525d022ad52a5c14e80e130260431e16e294b6"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Fri Jan 25 21:08:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:21 2008 +0100"
      },
      "message": "sched: no need for \u0027affine wakeup\u0027 balancing\n\nNo need to do a check for \u0027affine wakeup and passive balancing possibilities\u0027\nin select_task_rq_fair() when task_cpu(p) \u003d\u003d this_cpu.\n\nI guess, this part got missed upon introduction of per-sched_class\nselect_task_rq() in try_to_wake_up().\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e7693a362ec84bb5b6fd441d8a8b4b9d568a7a0c",
      "tree": "078940540641a59aaf199695bfc6de3f062a987b",
      "parents": [
        "697f0a487f294e634a342764472b79375bb3158a"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jan 25 21:08:09 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:09 2008 +0100"
      },
      "message": "sched: de-SCHED_OTHER-ize the RT path\n\nThe current wake-up code path tries to determine if it can optimize the\nwake-up to \"this_cpu\" by computing load calculations.  The problem is that\nthese calculations are only relevant to SCHED_OTHER tasks where load is king.\nFor RT tasks, priority is king.  So the load calculation is completely wasted\nbandwidth.\n\nTherefore, we create a new sched_class interface to help with\npre-wakeup routing decisions and move the load calculation as a function\nof CFS task\u0027s class.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6b2d7700266b9402e12824e11e0099ae6a4a6a79",
      "tree": "d72c25b03150901ad8643f931186a11eb85635dc",
      "parents": [
        "a183561567b5446d3362b4839bd4f744f4b2af1e"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:00 2008 +0100"
      },
      "message": "sched: group scheduler, fix fairness of cpu bandwidth allocation for task groups\n\nThe current load balancing scheme isn\u0027t good enough for precise\ngroup fairness.\n\nFor example: on a 8-cpu system, I created 3 groups as under:\n\n\ta \u003d 8 tasks (cpu.shares \u003d 1024)\n\tb \u003d 4 tasks (cpu.shares \u003d 1024)\n\tc \u003d 3 tasks (cpu.shares \u003d 1024)\n\na, b and c are task groups that have equal weight. We would expect each\nof the groups to receive 33.33% of cpu bandwidth under a fair scheduler.\n\nThis is what I get with the latest scheduler git tree:\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n--------------------------------------------------------------------------------\nCol1  | Col2    | Col3  |  Col4\n------|---------|-------|-------------------------------------------------------\na     | 277.676 | 57.8% | 54.1%  54.1%  54.1%  54.2%  56.7%  62.2%  62.8% 64.5%\nb     | 116.108 | 24.2% | 47.4%  48.1%  48.7%  49.3%\nc     |  86.326 | 18.0% | 47.5%  47.9%  48.5%\n--------------------------------------------------------------------------------\n\nExplanation of o/p:\n\nCol1 -\u003e Group name\nCol2 -\u003e Cumulative execution time (in seconds) received by all tasks of that\n\tgroup in a 60sec window across 8 cpus\nCol3 -\u003e CPU bandwidth received by the group in the 60sec window, expressed in\n        percentage. Col3 data is derived as:\n\t\tCol3 \u003d 100 * Col2 / (NR_CPUS * 60)\nCol4 -\u003e CPU bandwidth received by each individual task of the group.\n\t\tCol4 \u003d 100 * cpu_time_recd_by_task / 60\n\n[I can share the test case that produces a similar o/p if reqd]\n\nThe deviation from desired group fairness is as below:\n\n\ta \u003d +24.47%\n\tb \u003d -9.13%\n\tc \u003d -15.33%\n\nwhich is quite high.\n\nAfter the patch below is applied, here are the results:\n\n--------------------------------------------------------------------------------\nCol1  | Col2    | Col3  |  Col4\n------|---------|-------|-------------------------------------------------------\na     | 163.112 | 34.0% | 33.2%  33.4%  33.5%  33.5%  33.7%  34.4%  34.8% 35.3%\nb     | 156.220 | 32.5% | 63.3%  64.5%  66.1%  66.5%\nc     | 160.653 | 33.5% | 85.8%  90.6%  91.4%\n--------------------------------------------------------------------------------\n\nDeviation from desired group fairness is as below:\n\n\ta \u003d +0.67%\n\tb \u003d -0.83%\n\tc \u003d +0.17%\n\nwhich is far better IMO. Most of other runs have yielded a deviation within\n+-2% at the most, which is good.\n\nWhy do we see bad (group) fairness with current scheuler?\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nCurrently cpu\u0027s weight is just the summation of individual task weights.\nThis can yield incorrect results. For ex: consider three groups as below\non a 2-cpu system:\n\n\tCPU0\tCPU1\n---------------------------\n\tA (10)  B(5)\n\t\tC(5)\n---------------------------\n\nGroup A has 10 tasks, all on CPU0, Group B and C have 5 tasks each all\nof which are on CPU1. Each task has the same weight (NICE_0_LOAD \u003d\n1024).\n\nThe current scheme would yield a cpu weight of 10240 (10*1024) for each cpu and\nthe load balancer will think both CPUs are perfectly balanced and won\u0027t\nmove around any tasks. This, however, would yield this bandwidth:\n\n\tA \u003d 50%\n\tB \u003d 25%\n\tC \u003d 25%\n\nwhich is not the desired result.\n\nWhat\u0027s changing in the patch?\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n\t- How cpu weights are calculated when CONFIF_FAIR_GROUP_SCHED is\n\t  defined (see below)\n\t- API Change\n\t\t- Two tunables introduced in sysfs (under SCHED_DEBUG) to\n\t\t  control the frequency at which the load balance monitor\n\t\t  thread runs.\n\nThe basic change made in this patch is how cpu weight (rq-\u003eload.weight) is\ncalculated. Its now calculated as the summation of group weights on a cpu,\nrather than summation of task weights. Weight exerted by a group on a\ncpu is dependent on the shares allocated to it and also the number of\ntasks the group has on that cpu compared to the total number of\n(runnable) tasks the group has in the system.\n\nLet,\n\tW(K,i)  \u003d Weight of group K on cpu i\n\tT(K,i)  \u003d Task load present in group K\u0027s cfs_rq on cpu i\n\tT(K)    \u003d Total task load of group K across various cpus\n\tS(K) \t\u003d Shares allocated to group K\n\tNRCPUS\t\u003d Number of online cpus in the scheduler domain to\n\t \t  which group K is assigned.\n\nThen,\n\tW(K,i) \u003d S(K) * NRCPUS * T(K,i) / T(K)\n\nA load balance monitor thread is created at bootup, which periodically\nruns and adjusts group\u0027s weight on each cpu. To avoid its overhead, two\nmin/max tunables are introduced (under SCHED_DEBUG) to control the rate\nat which it runs.\n\nFixes from: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n\n- don\u0027t start the load_balance_monitor when there is only a single cpu.\n- rename the kthread because its currently longer than TASK_COMM_LEN\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "58e2d4ca581167c2a079f4ee02be2f0bc52e8729",
      "tree": "9a8c8324785800f3577fb897ca3e2ae21ad8c55a",
      "parents": [
        "ec2c507fe8c8fa3c04fc6cb99a382a965c477379"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:08:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:08:00 2008 +0100"
      },
      "message": "sched: group scheduling, change how cpu load is calculated\n\nThis patch changes how the cpu load exerted by fair_sched_class tasks\nis calculated. Load exerted by fair_sched_class tasks on a cpu is now\na summation of the group weights, rather than summation of task weights.\nWeight exerted by a group on a cpu is dependent on the shares allocated\nto it.\n\nThis version of patch has a minor impact on code size, but should have\nno runtime/functional impact for !CONFIG_FAIR_GROUP_SCHED.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec2c507fe8c8fa3c04fc6cb99a382a965c477379",
      "tree": "f139f738ba08576318ec09047148cdc7ae33ac9b",
      "parents": [
        "93f992ccc008dd4030381caeebb252e85e66684b"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Fri Jan 25 21:07:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 25 21:07:59 2008 +0100"
      },
      "message": "sched: group scheduling, minor fixes\n\nMinor bug fixes for the group scheduler:\n\n- Use a mutex to serialize add/remove of task groups and also when\n  changing shares of a task group. Use the same mutex when printing\n  cfs_rq debugging stats for various task groups.\n\n- Use list_for_each_entry_rcu in for_each_leaf_cfs_rq macro (when\n  walking task group list)\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6cbf1c126cf6a727287d61b122fde00a8b827bfe",
      "tree": "b6eaf9d529721bb0928f6834dbd1ad61f87c0697",
      "parents": [
        "2bacec8c318ca0418c0ee9ac662ee44207765dd4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 18 15:21:13 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 18 15:21:13 2007 +0100"
      },
      "message": "sched: do not hurt SCHED_BATCH on wakeup\n\nmeasurements by Yanmin Zhang have shown that SCHED_BATCH tasks benefit\nif they run the same place_entity() logic as SCHED_OTHER tasks - so\nuniformize behavior in this area.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db292ca302e83534f5f0f7139e13d7e6976e51f9",
      "tree": "5d217514330e447b82f07601cdc87e6fd135d76b",
      "parents": [
        "77034937dc4575ca0a76bf209838ecd39e804089"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 04 17:04:39 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 04 17:04:39 2007 +0100"
      },
      "message": "sched: default to more agressive yield for SCHED_BATCH tasks\n\ndo more agressive yield for SCHED_BATCH tuned tasks: they are all\nabout throughput anyway. This allows a gentler migration path for\nany apps that relied on stronger yield.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d842de871c8c5e2110c7e4f3f29bbe7b1a519ab8",
      "tree": "3a0be7d00de97c561e486242f11eec0e1281074b",
      "parents": [
        "92d499d991ec4f5cbd00d6f33967eab9d3ee8d6c"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Sun Dec 02 20:04:49 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 02 20:04:49 2007 +0100"
      },
      "message": "sched: cpu accounting controller (V2)\n\nCommit cfb5285660aad4931b2ebbfa902ea48a37dfffa1 removed a useful feature for\nus, which provided a cpu accounting resource controller.  This feature would be\nuseful if someone wants to group tasks only for accounting purpose and doesnt\nreally want to exercise any control over their cpu consumption.\n\nThe patch below reintroduces the feature. It is based on Paul Menage\u0027s\noriginal patch (Commit 62d0df64065e7c135d0002f069444fbdfc64768f), with\nthese differences:\n\n        - Removed load average information. I felt it needs more thought (esp\n\t  to deal with SMP and virtualized platforms) and can be added for\n\t  2.6.25 after more discussions.\n        - Convert group cpu usage to be nanosecond accurate (as rest of the cfs\n\t  stats are) and invoke cpuacct_charge() from the respective scheduler\n\t  classes\n\t- Make accounting scalable on SMP systems by splitting the usage\n\t  counter to be per-cpu\n\t- Move the code from kernel/cpu_acct.c to kernel/sched.c (since the\n\t  code is not big enough to warrant a new file and also this rightly\n\t  needs to live inside the scheduler. Also things like accessing\n\t  rq-\u003elock while reading cpu usage becomes easier if the code lived in\n\t  kernel/sched.c)\n\nThe patch also modifies the cpu controller not to provide the same accounting\ninformation.\n\nTested-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\n\n Tested the patches on top of 2.6.24-rc3. The patches work fine. Ran\n some simple tests like cpuspin (spin on the cpu), ran several tasks in\n the same group and timed them. Compared their time stamps with\n cpuacct.usage.\n\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "722aab0c3bbd7648d66790515c14d95d10a15bf3",
      "tree": "f1a2f2c8cbcdcffac8bc6f05d17a8711f611aa96",
      "parents": [
        "58e1010da3c15e7bdf426b0a3d4b13dba1b7d055"
      ],
      "author": {
        "name": "Zou Nan hai",
        "email": "nanhai.zou@intel.com",
        "time": "Mon Nov 26 21:21:49 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 26 21:21:49 2007 +0100"
      },
      "message": "sched: fix minimum granularity tunings\n\nincrease the default minimum granularity some more - this gives us\nmore performance in aim7 benchmarks.\n\nalso correct some comments: we scale with ilog(ncpus) + 1.\n\nSigned-off-by: Zou Nan hai \u003cnanhai.zou@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "518b22e990a9071bf508ca67e31b37e7590f499c",
      "tree": "89200d5f7f56b489a208152e881195628a008067",
      "parents": [
        "94bc9a7bd97efdda4dfbe61d0df32ce19d41c0a9"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Nov 15 20:57:40 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 15 20:57:40 2007 +0100"
      },
      "message": "sched: make sched_nr_latency static\n\nsched_nr_latency can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c90e6e99b08f01d5684a3a07cceae6a543e4fa8",
      "tree": "2432814cfe4891e4c99945fbe09e6b59d6df49f3",
      "parents": [
        "502d26b524d8980f3ed80d9aec398e85671a8160"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "message": "sched: fix copy_namespace() \u003c-\u003e sched_fork() dependency in do_fork\n\nSukadev Bhattiprolu reported a kernel crash with control groups.\nThere are couple of problems discovered by Suka\u0027s test:\n\n- The test requires the cgroup filesystem to be mounted with\n  atleast the cpu and ns options (i.e both namespace and cpu \n  controllers are active in the same hierarchy). \n\n\t# mkdir /dev/cpuctl\n\t# mount -t cgroup -ocpu,ns none cpuctl\n\t(or simply)\n\t# mount -t cgroup none cpuctl -\u003e Will activate all controllers\n\t\t\t\t\t in same hierarchy.\n\n- The test invokes clone() with CLONE_NEWNS set. This causes a a new child\n  to be created, also a new group (do_fork-\u003ecopy_namespaces-\u003ens_cgroup_clone-\u003e\n  cgroup_clone) and the child is attached to the new group (cgroup_clone-\u003e\n  attach_task-\u003esched_move_task). At this point in time, the child\u0027s scheduler \n  related fields are uninitialized (including its on_rq field, which it has\n  inherited from parent). As a result sched_move_task thinks its on\n  runqueue, when it isn\u0027t.\n\n  As a solution to this problem, I moved sched_fork() call, which\n  initializes scheduler related fields on a new task, before\n  copy_namespaces(). I am not sure though whether moving up will\n  cause other side-effects. Do you see any issue?\n\n- The second problem exposed by this test is that task_new_fair()\n  assumes that parent and child will be part of the same group (which \n  needn\u0027t be as this test shows). As a result, cfs_rq-\u003ecurr can be NULL\n  for the child.\n\n  The solution is to test for curr pointer being NULL in\n  task_new_fair().\n\nWith the patch below, I could run ns_exec() fine w/o a crash.\n\nReported-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "502d26b524d8980f3ed80d9aec398e85671a8160",
      "tree": "7a377cb8a688dbfe98c9d0b00ed957c2df816ef4",
      "parents": [
        "77d9cc44b543fa831169e54c495ad06ef3a0c726"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "message": "sched: clean up the wakeup preempt check, #2\n\nclean up the preemption check to not use unnecessary 64-bit\nvariables. This improves code size:\n\n   text    data     bss     dec     hex filename\n  44227    3326      36   47589    b9e5 sched.o.before\n  44201    3326      36   47563    b9cb sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "77d9cc44b543fa831169e54c495ad06ef3a0c726",
      "tree": "d92a3643b554413a9c7d844effda9f92c91b8aed",
      "parents": [
        "8bc6767acb3236e0345e99cf198168e60e7ae456"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "message": "sched: clean up the wakeup preempt check\n\nclean up the wakeup preemption check. No code changed:\n\n   text    data     bss     dec     hex filename\n  44227    3326      36   47589    b9e5 sched.o.before\n  44227    3326      36   47589    b9e5 sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8bc6767acb3236e0345e99cf198168e60e7ae456",
      "tree": "be9119dfaf3751ca49536bd569a0fc617daabda3",
      "parents": [
        "3e3e13f399ac8060a20d14d210a28dc02dda372e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "message": "sched: wakeup preemption fix\n\nwakeup preemption fix: do not make it dependent on p-\u003eprio.\nPreemption purely depends on -\u003evruntime.\n\nThis improves preemption in mixed-nice-level workloads.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3e3e13f399ac8060a20d14d210a28dc02dda372e",
      "tree": "b560a614e926f5f90e4096b6d4743b1b5fdfccb2",
      "parents": [
        "52d3da1ad4f442cec877fbeb83902707b56da0cf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:39 2007 +0100"
      },
      "message": "sched: remove PREEMPT_RESTRICT\n\nremove PREEMPT_RESTRICT. (this is a separate commit so that any\nregression related to the removal itself is bisectable)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "19978ca610946ed57c071bad63f8f6642ca1298b",
      "tree": "3bdbe89a249b6091fbd71653f106f486337ca3d6",
      "parents": [
        "fa13a5a1f25f671d084d8884be96fc48d9b68275"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:38 2007 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 09 22:39:38 2007 +0100"
      },
      "message": "sched: reintroduce SMP tunings again\n\nYanmin Zhang reported an aim7 regression and bisected it down to:\n\n |  commit 38ad464d410dadceda1563f36bdb0be7fe4c8938\n |  Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n |  Date:   Mon Oct 15 17:00:02 2007 +0200\n |\n |     sched: uniform tunings\n |\n |     use the same defaults on both UP and SMP.\n\nfix this by reintroducing similar SMP tunings again. This resolves\nthe regression.\n\n(also update the comments to match the ilog2(nr_cpus) tuning effect)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "b2be5e96dc0b5a179cf4cb98e65cfb605752ca26"
}
