)]}'
{
  "log": [
    {
      "commit": "d14c8a680ccfdeb5e7b9be4d61162c2b373bd1e8",
      "tree": "38cead29b9b34b9d26b5cfe7b2c2673d6f7ac052",
      "parents": [
        "d59fdcf2ac501de99c3dfb452af5e254d4342886",
        "873a6ed6288b6c2c0d2cc84d3b2bf2fab9ba0181"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 16:11:02 2008 +0200"
      },
      "message": "Merge branch \u0027sched/for-linus\u0027 into tracing/for-linus\n"
    },
    {
      "commit": "873a6ed6288b6c2c0d2cc84d3b2bf2fab9ba0181",
      "tree": "e0749eee70ce3ca29d62bb3b67248c87a97ec2b7",
      "parents": [
        "361833efac4d277d209008e1e0658e597bc1bdef",
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 12:19:19 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 12:19:19 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.26\u0027 into sched/devel\n"
    },
    {
      "commit": "361833efac4d277d209008e1e0658e597bc1bdef",
      "tree": "ef3b3f3bbe274f1e59cc1521566a85584777ace7",
      "parents": [
        "54ef76f37bcccf8c16fbaaed13c3c40825195958",
        "c300ba252829e9325e08f0af60687add94445b25"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 12:19:13 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 12:19:13 2008 +0200"
      },
      "message": "Merge branch \u0027sched/clock\u0027 into sched/devel\n"
    },
    {
      "commit": "d59fdcf2ac501de99c3dfb452af5e254d4342886",
      "tree": "ad5e2efd6f8aacf2a08b1ed8a54ddf96642e83f3",
      "parents": [
        "2387ce57a8167490d3b34a7e1ffa9a64a1a76244",
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 11:37:46 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 11:37:46 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.26\u0027 into x86/core\n"
    },
    {
      "commit": "3b5c6b834984b09b7b7fba6a97d3a2878a4a8e42",
      "tree": "c0b2c2d773441852149ef38428a8214a1ab6b807",
      "parents": [
        "9df2fe986770bc4c76e8fe72c20b71268eec39a7",
        "3e84050c81ffb4961ef43d20e1fb1d7607167d83"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 13 11:03:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 13 11:03:59 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  cpusets, hotplug, scheduler: fix scheduler domain breakage\n"
    },
    {
      "commit": "3e84050c81ffb4961ef43d20e1fb1d7607167d83",
      "tree": "62ae82ba6cc923222ab0053efcb8b2dec9b91ca0",
      "parents": [
        "b1e387348a2a70954312b102d0589c3e2ca3dba1"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Sun Jul 13 02:10:29 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 13 11:37:02 2008 +0200"
      },
      "message": "cpusets, hotplug, scheduler: fix scheduler domain breakage\n\nCommit f18f982ab (\"sched: CPU hotplug events must not destroy scheduler\ndomains created by the cpusets\") introduced a hotplug-related problem as\ndescribed below:\n\nUpon CPU_DOWN_PREPARE,\n\n  update_sched_domains() -\u003e detach_destroy_domains(\u0026cpu_online_map)\n\ndoes the following:\n\n/*\n * Force a reinitialization of the sched domains hierarchy. The domains\n * and groups cannot be updated in place without racing with the balancing\n * code, so we temporarily attach all running cpus to the NULL domain\n * which will prevent rebalancing while the sched domains are recalculated.\n */\n\nThe sched-domains should be rebuilt when a CPU_DOWN ops. has been\ncompleted, effectively either upon CPU_DEAD{_FROZEN} (upon success) or\nCPU_DOWN_FAILED{_FROZEN} (upon failure -- restore the things to their\ninitial state). That\u0027s what update_sched_domains() also does but only\nfor !CPUSETS case.\n\nWith f18f982ab, sched-domains\u0027 reinitialization is delegated to\nCPUSETS code:\n\ncpuset_handle_cpuhp() -\u003e common_cpu_mem_hotplug_unplug() -\u003e\nrebuild_sched_domains()\n\nBeing called for CPU_UP_PREPARE and if its callback is called after\nupdate_sched_domains()), it just negates all the work done by\nupdate_sched_domains() -- i.e. a soon-to-be-offline cpu is included in\nthe sched-domains and that makes it visible for the load-balancer\nwhile the CPU_DOWN ops. is in progress.\n\n__migrate_live_tasks() moves the tasks off a \u0027dead\u0027 cpu (it\u0027s already\n\"offline\" when this function is called).\n\ntry_to_wake_up() is called for one of these tasks from another CPU -\u003e\nthe load-balancer (wake_idle()) picks up a \"dead\" CPU and places the\ntask on it. Then e.g. BUG_ON(rq-\u003enr_running) detects this a bit later\n-\u003e oops.\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nTested-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: miaox@cn.fujitsu.com\nCc: rostedt@goodmis.org\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54ef76f37bcccf8c16fbaaed13c3c40825195958",
      "tree": "59afdb95e68f2fbac2550aa42135921086649c38",
      "parents": [
        "032f82786f9be4635acaa5f77feca175a4ac5fe1",
        "9df2fe986770bc4c76e8fe72c20b71268eec39a7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 13 08:50:13 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jul 13 08:50:13 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/devel\n"
    },
    {
      "commit": "ae94b8075a2ed58d2318ef03827b25bc844f844e",
      "tree": "7211f558d841cb40e1015d0b7527643ad55cb8e7",
      "parents": [
        "eca91e7838ec92e8c12122849ec7539c4765b689",
        "a26929fb489188ff959b1715ee67f0c9f84405b5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 12 07:29:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 12 07:29:02 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/core\n\nConflicts:\n\n\tarch/x86/mm/ioremap.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c300ba252829e9325e08f0af60687add94445b25",
      "tree": "93c583012a3f26617e95aea516c02716ce254f5d",
      "parents": [
        "a83bc47c33ab182f1e48977fd5a04024d713c75e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 09 00:15:33 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:53:28 2008 +0200"
      },
      "message": "sched_clock: and multiplier for TSC to gtod drift\n\nThe sched_clock code currently tries to keep all CPU clocks of all CPUS\nsomewhat in sync. At every clock tick it records the gtod clock and\nuses that and jiffies and the TSC to calculate a CPU clock that tries to\nstay in sync with all the other CPUs.\n\nftrace depends heavily on this timer and it detects when this timer\n\"jumps\".  One problem is that the TSC and the gtod also drift.\nWhen the TSC is 0.1% faster or slower than the gtod it is very noticeable\nin ftrace. To help compensate for this, I\u0027ve added a multiplier that\ntries to keep the CPU clock updating at the same rate as the gtod.\n\nI\u0027ve tried various ways to get it to be in sync and this ended up being\nthe most reliable. At every scheduler tick we calculate the new multiplier:\n\n  multi \u003d delta_gtod / delta_TSC\n\nThis means we perform a 64 bit divide at the tick (once a HZ). A shift\nis used to handle the accuracy.\n\nOther methods that failed due to dynamic HZ are:\n\n(not used)  multi +\u003d (gtod - tsc) / delta_gtod\n(not used)  multi +\u003d (gtod - (last_tsc + delta_tsc)) / delta_gtod\n\nas well as other variants.\n\nThis code still allows for a slight drift between TSC and gtod, but\nit keeps the damage down to a minimum.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a83bc47c33ab182f1e48977fd5a04024d713c75e",
      "tree": "759eb1afc83271ee2815dbd1214635ec7b506b5c",
      "parents": [
        "c0c87734f125d2fa8ebc70310f3257fa6209f2b6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 09 00:15:32 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:53:27 2008 +0200"
      },
      "message": "sched_clock: record TSC after gtod\n\nTo read the gtod we need to grab the xtime lock for read. Reading the gtod\nbefore the TSC can cause a bigger gab if the xtime lock is contended.\n\nThis patch simply reverses the order to read the TSC after the gtod.\nThe locking in the reading of the gtod handles any barriers one might\nthink is needed.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c0c87734f125d2fa8ebc70310f3257fa6209f2b6",
      "tree": "c94f9f6c1e8dcc68c2a30caaff64db7e81a65510",
      "parents": [
        "2b8a0cf4890d7537a77b51caa8f508e4a05a0e67"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 09 00:15:31 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:53:27 2008 +0200"
      },
      "message": "sched_clock: only update deltas with local reads.\n\nReading the CPU clock should try to stay accurate within the CPU.\nBy reading the CPU clock from another CPU and updating the deltas can\ncause unneeded jumps when reading from the local CPU.\n\nThis patch changes the code to update the last read TSC only when read\nfrom the local CPU.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b8a0cf4890d7537a77b51caa8f508e4a05a0e67",
      "tree": "a591ef66a6340bf03e6380b6f2aa76ef2fc45ce2",
      "parents": [
        "af52a90a14cdaa54ecbfb6e6982abb13466a4b56"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 07 19:49:41 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:53:26 2008 +0200"
      },
      "message": "sched_clock: fix calculation of other CPU\n\nThe algorithm to calculate the \u0027now\u0027 of another CPU is not correct.\nAt each scheduler tick, each CPU records the last sched_clock and\ngtod (tick_raw and tick_gtod respectively). If the TSC is somewhat the\nsame in speed between two clocks the algorithm would be:\n\n  tick_gtod1 + (now1 - tick_raw1) \u003d tick_gtod2 + (now2 - tick_raw2)\n\nTo calculate now2 we would have:\n\n  now2 \u003d (tick_gtod1 - tick_gtod2) + (tick_raw2 - tick_raw1) + now1\n\nCurrently the algorithm is:\n\n  now2 \u003d (tick_gtod1 - tick_gtod2) + (tick_raw1 - tick_raw2) + now1\n\nThis solves most of the rest of the issues I\u0027ve had with timestamps in\nftace.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af52a90a14cdaa54ecbfb6e6982abb13466a4b56",
      "tree": "2488d6d7943b167987c33f984f7109c3dc4ae783",
      "parents": [
        "f7cce27f5605b9e137b829a47949cb2d3c7e1cab"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 07 14:16:52 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:53:26 2008 +0200"
      },
      "message": "sched_clock: stop maximum check on NO HZ\n\nWorking with ftrace I would get large jumps of 11 millisecs or more with\nthe clock tracer. This killed the latencing timings of ftrace and also\ncaused the irqoff self tests to fail.\n\nWhat was happening is with NO_HZ the idle would stop the jiffy counter and\nbefore the jiffy counter was updated the sched_clock would have a bad\ndelta jiffies to compare with the gtod with the maximum.\n\nThe jiffies would stop and the last sched_tick would record the last gtod.\nOn wakeup, the sched clock update would compare the gtod + delta jiffies\n(which would be zero) and compare it to the TSC. The TSC would have\ncorrectly (with a stable TSC) moved forward several jiffies. But because the\njiffies has not been updated yet the clock would be prevented from moving\nforward because it would appear that the TSC jumped too far ahead.\n\nThe clock would then virtually stop, until the jiffies are updated. Then\nthe next sched clock update would see that the clock was very much behind\nsince the delta jiffies is now correct. This would then jump the clock\nforward by several jiffies.\n\nThis caused ftrace to report several milliseconds of interrupts off\nlatency at every resume from NO_HZ idle.\n\nThis patch adds hooks into the nohz code to disable the checking of the\nmaximum clock update when nohz is in effect. It resumes the max check\nwhen nohz has updated the jiffies again.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f7cce27f5605b9e137b829a47949cb2d3c7e1cab",
      "tree": "fbe270ccfb5cee3d055a52b6351ade2d34c5d74b",
      "parents": [
        "62c43dd9864dbd52ff158922d1d08c75f20335af"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 07 14:16:51 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:53:25 2008 +0200"
      },
      "message": "sched_clock: widen the max and min time\n\nWith keeping the max and min sched time within one jiffy of the gtod clock\nwas too tight. Just before a schedule tick the max could easily be hit, as\nwell as just after a schedule_tick the min could be hit. This caused the\nclock to jump around by a jiffy.\n\nThis patch widens the minimum to\n   last gtod + (delta_jiffies ? delta_jiffies - 1 : 0) * TICK_NSECS\n\nand the maximum to\n    last gtod + (2 + delta_jiffies) * TICK_NSECS\n\nThis keeps the minum to gtod or if one jiffy less than delta jiffies\nand the maxim 2 jiffies ahead of gtod. This may cause unstable TSCs to be\na bit more sporadic, but it helps keep a clock with a stable TSC working well.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "62c43dd9864dbd52ff158922d1d08c75f20335af",
      "tree": "9b8ce91f634b56e1420759f6872c6bfc21deec97",
      "parents": [
        "70ff05554f91a1edda1f11684da1dbde09e2feea"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 07 14:16:50 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 11 15:53:25 2008 +0200"
      },
      "message": "sched_clock: record from last tick\n\nThe sched_clock code tries to keep within the gtod time by one tick (jiffy).\nThe current code mistakenly keeps track of the delta jiffies between\nupdates of the clock, where the the delta is used to compare with the\nnumber of jiffies that have past since an update of the gtod. The gtod is\nupdated at each schedule tick not each sched_clock update. After one\njiffy passes the clock is updated fine. But the delta is taken from the\nlast update so if the next update happens before the next tick the delta\njiffies used will be incorrect.\n\nThis patch changes the code to check the delta of jiffies between ticks\nand not updates to match the comparison of the updates with the gtod.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a26449daa285c858fc68991c1d585b6927702cf5",
      "tree": "827cc431d7c3e6e65239667adbb44c7bbd0d73a8",
      "parents": [
        "9cc308920103a743ce9fb2c88481d6d7a676514b",
        "b1e387348a2a70954312b102d0589c3e2ca3dba1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 10 12:34:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 10 12:34:55 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix cpu hotplug, cleanup\n  sched: fix cpu hotplug\n"
    },
    {
      "commit": "b1e387348a2a70954312b102d0589c3e2ca3dba1",
      "tree": "79e11e0b1bda79e6e2b085b9d86eb3b9d9dedf29",
      "parents": [
        "dc7fab8b3bb388c57c6c4a43ba68c8a32ca25204"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 10 11:25:03 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 20:39:58 2008 +0200"
      },
      "message": "sched: fix cpu hotplug, cleanup\n\nClean up __migrate_task(): to just have separate \"done\" and \"fail\"\ncases, instead of that \"out\" case with random error behavior.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70ff05554f91a1edda1f11684da1dbde09e2feea",
      "tree": "93e5922ec3ef2c9c9537ab61cfe34ae3980180e7",
      "parents": [
        "eb6d42ea17329745d7d712d3aa3bb84ec1da9c85"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Thu Jul 10 17:25:35 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 10 11:13:44 2008 -0700"
      },
      "message": "Fix PREEMPT_RCU without HOTPLUG_CPU\n\nPREEMPT_RCU without HOTPLUG_CPU is broken.  The rcu_online_cpu is called\nto initially populate rcu_cpu_online_map with all online CPUs when the\nhotplug event handler is installed, and also to populate the map with\nCPUs as they come online.  The former case is meant to happen with and\nwithout HOTPLUG_CPU, but without HOTPLUG_CPU, the rcu_offline_cpu\nfunction is no-oped -- while it still gets called, it does not set the\nrcu CPU map.\n\nWith a blank RCU CPU map, grace periods get to tick by completely\noblivious to active RCU read side critical sections.  This results in\nfree-before-grace bugs.\n\nFix is obvious once the problem is known. (Also, change __devinit to\n__cpuinit so the function gets thrown away on !HOTPLUG_CPU kernels).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReported-and-tested-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n[ Nick is my personal hero of the day - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "544304b200c3869bc1312bcf941c4cf04d65b56c",
      "tree": "6c4f1865275eb105f7b48d5aac19b68ce45c7352",
      "parents": [
        "08405b8bd1795145e0f9cb8cb13949281efe9ec2"
      ],
      "author": {
        "name": "Daniel Guilak",
        "email": "guilak@linux.vnet.ibm.com",
        "time": "Thu Jul 10 09:38:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 10 10:13:51 2008 -0700"
      },
      "message": "kernel/kprobes.c: Made kprobe_blacklist static.\n\nSigned-off-by: Daniel Guilak \u003cdaniel@danielguilak.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc7fab8b3bb388c57c6c4a43ba68c8a32ca25204",
      "tree": "4f96ecc3625b3af71d00592f0e47841b8ab849a7",
      "parents": [
        "619b0488038224391e64fa03854651ca0f5efe56"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Thu Jul 10 00:32:40 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 10 09:35:34 2008 +0200"
      },
      "message": "sched: fix cpu hotplug\n\nI think we may have a race between try_to_wake_up() and\nmigrate_live_tasks() -\u003e move_task_off_dead_cpu() when the later one\nmay end up looping endlessly.\n\nInterrupts are enabled on other CPUs when migration_call(CPU_DEAD, ...) is\ncalled so we may get a race between try_to_wake_up() and\nmigrate_live_tasks() -\u003e move_task_off_dead_cpu(). The former one may push\na task out of a dead CPU causing the later one to loop endlessly.\n\nHeiko Carstens observed:\n\n| That\u0027s exactly what explains a dump I got yesterday. Thanks for fixing! :)\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nCc: miaox@cn.fujitsu.com\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Avi Kivity \u003cavi@qumranet.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7683c57c489bd17795945f4ae1c1d73e7c7b38e3",
      "tree": "38866c5e3320e74150757b186f226475bd0b83c9",
      "parents": [
        "48948a3e237ff47823d414704aeb8604a4c61ad0"
      ],
      "author": {
        "name": "Daniel Guilak",
        "email": "guilak@linux.vnet.ibm.com",
        "time": "Tue Jul 08 15:02:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 08 18:10:34 2008 -0700"
      },
      "message": "kernel/printk.c: Made printk_recursion_bug_msg static.\n\nSigned-off-by: Daniel Guilak \u003cdaniel@danielguilak.com\u003e\nAcked-by: Josh Triplett \u003cjosh@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a29d1cfe9e9337aedeed505afddc8465ac709b87",
      "tree": "8cfd0edb899ee29d8bf3ef8777076d9ce5dff875",
      "parents": [
        "5a654ba7a88d90483d0f0586297ea9075d755fc8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 02 13:19:08 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 14:11:27 2008 +0200"
      },
      "message": "printk: export console_drivers\n\nthis symbol is needed by drivers/video/xen-fbfront.ko.\n\n[ cherry-picked from tip/core/printk ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b4fa851b2f06fdb04cac808b57324f5e51e1578",
      "tree": "97db3ad5adda7683923630982f68b8b52c86e790",
      "parents": [
        "3de352bbd86f890dd0c5e1c09a6a1b0b29e0f8ce",
        "46f68e1c6b04a04772e828ff3bcd07ed708805c2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 11:59:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 11:59:23 2008 +0200"
      },
      "message": "Merge branch \u0027x86/numa\u0027 into x86/devel\n\nConflicts:\n\n\tarch/x86/Kconfig\n\tarch/x86/kernel/e820.c\n\tarch/x86/kernel/efi_64.c\n\tarch/x86/kernel/mpparse.c\n\tarch/x86/kernel/setup.c\n\tarch/x86/kernel/setup_32.c\n\tarch/x86/mm/init_64.c\n\tinclude/asm-x86/proto.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "076ac2af86c3b7f89ac31bc50a7508d3e035b786",
      "tree": "6952562a54dea9a1bef037ca30448f4f4d9bfae8",
      "parents": [
        "886533a3e370a6d5c4e46819d1e14bd2f20dbb3a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon May 12 21:21:12 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 11:31:30 2008 +0200"
      },
      "message": "sched, numa: replace MAX_NUMNODES with nr_node_ids in kernel/sched.c\n\n  * Replace usages of MAX_NUMNODES with nr_node_ids in kernel/sched.c,\n    where appropriate.  This saves some allocated space as well as many\n    wasted cycles going through node entries that are non-existent.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6924d1ab8b7bbe5ab416713f5701b3316b2df85b",
      "tree": "affbf0ff13f7522336f25505e8e7b5f12a34e705",
      "parents": [
        "4e78c91abe1a40b905611100a593be62784ba355",
        "25556c1699ad84dd6077adf67c92eba362aa7dc2",
        "b764a15f679942a7bc9d4f9645299e1defcc5b43",
        "437a0a54eea7b101e8a5b70688009956f6522ed0",
        "41b3eae669fb1ef6ae4acaa937b4e4617a1aa078",
        "84e65b0a84a2c856bef36f13d122047678408b0a",
        "684eb0163a98bc329193b4aa4535cdd705a5dd58",
        "93022136fff9e6130aa128a5ed8a599e93ac813c",
        "5cb04df8d3f03e37a19f2502591a84156be71772",
        "44974c8fc1d7047abe414562e0782320f4c1f511",
        "48cf937f48f68bd1e61f37c6357dbff5adb95532",
        "205f93288093df69f9ab5f6981aef27b91088b28",
        "c54f9da1c8ceee19436430afac0798a989eb886d",
        "0ed368c71aa65cba8d349432bd4dab4a9a2eb39c",
        "b478458aeebfc55fe409abec43794ac72a623c79",
        "2d144e63098be47c21ad59d68a4fd17bd73a3aaf",
        "607baf1f4ef94637ab0f7d0e258932851dc5c0a2",
        "33af9039cbf629041da2bfa0cf451208391a1ec3",
        "3557b18fcbe0e29706214f3c7cc680a7823605eb",
        "63687a528c39a67c1a213cdffa09feb0e6af9dbe",
        "009b9fc98ddd83f9139fdabb12c0d7a8535d5421",
        "f6477cc76c73833a56e97f1fafc36a7ca92927e5",
        "e6b0edef3453677b13e175a104a83eb36d062dd3",
        "400d34944c4ad82a817c06e570bc93b1114aa596"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 09:16:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 09:16:56 2008 +0200"
      },
      "message": "Merge branches \u0027x86/numa-fixes\u0027, \u0027x86/apic\u0027, \u0027x86/apm\u0027, \u0027x86/bitops\u0027, \u0027x86/build\u0027, \u0027x86/cleanups\u0027, \u0027x86/cpa\u0027, \u0027x86/cpu\u0027, \u0027x86/defconfig\u0027, \u0027x86/gart\u0027, \u0027x86/i8259\u0027, \u0027x86/intel\u0027, \u0027x86/irqstats\u0027, \u0027x86/kconfig\u0027, \u0027x86/ldt\u0027, \u0027x86/mce\u0027, \u0027x86/memtest\u0027, \u0027x86/pat\u0027, \u0027x86/ptemask\u0027, \u0027x86/resumetrace\u0027, \u0027x86/threadinfo\u0027, \u0027x86/timers\u0027, \u0027x86/vdso\u0027 and \u0027x86/xen\u0027 into x86/devel\n"
    },
    {
      "commit": "93022136fff9e6130aa128a5ed8a599e93ac813c",
      "tree": "185390fb75a3d7423cc508610b76637c957205b9",
      "parents": [
        "c49c412a47b5102516d3313d4eba38cb1e968721",
        "b7279469d66b55119784b8b9529c99c1955fe747"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 07:47:47 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 07:47:47 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.26-rc9\u0027 into x86/cpu\n"
    },
    {
      "commit": "aa276e1cafb3ce9d01d1e837bcd67e92616013ac",
      "tree": "d0ecb8fe8ae70fdaed8d97d317199180882671b5",
      "parents": [
        "00dba56465228825ea806e3a7fc0aa6bba7bdc6c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 09 19:15:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 07:47:18 2008 +0200"
      },
      "message": "x86, clockevents: add C1E aware idle function\n\nC1E on AMD machines is like C3 but without control from the OS. Up to\nnow we disabled the local apic timer for those machines as it stops\nwhen the CPU goes into C1E. This excludes those machines from high\nresolution timers / dynamic ticks, which hurts especially X2 based\nlaptops.\n\nThe current boot time C1E detection has another, more serious flaw\nas well: some BIOSes do not enable C1E until the ACPI processor module\nis loaded. This causes systems to stop working after that point.\n\nTo work nicely with C1E enabled machines we use a separate idle\nfunction, which checks on idle entry whether C1E was enabled in the\nInterrupt Pending Message MSR. This allows us to do timer broadcasting\nfor C1E and covers the late enablement of C1E as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "032f82786f9be4635acaa5f77feca175a4ac5fe1",
      "tree": "11ce43c1086d3dec43c92b0a2cc740240b338fb7",
      "parents": [
        "46ac22bab42cc868b9c1d0e915ddbc8e8065a44d",
        "b7279469d66b55119784b8b9529c99c1955fe747"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 07 08:01:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 07 08:01:26 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.26-rc9\u0027 into sched/devel\n"
    },
    {
      "commit": "84df87b7ebdcbbc0f59df9526f4e63fda70647d3",
      "tree": "e91ab6df3d2f6403e315bfedd9e02736d0e6f4a4",
      "parents": [
        "537388bb6563bfde7c0307b95ecc1f7a1ae39b02",
        "3b7253238801a7b97b3929d8db2fa7a0721fb17b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 05 13:09:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 05 13:09:31 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: print a module list on being stuck\n"
    },
    {
      "commit": "3b7253238801a7b97b3929d8db2fa7a0721fb17b",
      "tree": "6238744e76fbcaddd7cc2107845fbc112462640d",
      "parents": [
        "8558f8f81680a43d383abd1b5f23d3501fedfa65"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jun 16 15:51:08 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 05 08:51:24 2008 +0200"
      },
      "message": "softlockup: print a module list on being stuck\n\nMost places in the kernel that go BUG: print a module list\n(which is very useful for doing statistics and finding patterns),\nhowever the softlockup detector does not do this yet.\n\nThis patch adds the one line change to fix this gap.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "086f7316f0d400806d76323beefae996bb3849b1",
      "tree": "679405a89b7f8c7a75d3896e43c837b5a5115d7b",
      "parents": [
        "abbaeff38c00cb7f6817ec1cef406b27081ebedd"
      ],
      "author": {
        "name": "Andrew G. Morgan",
        "email": "morgan@kernel.org",
        "time": "Fri Jul 04 09:59:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:08 2008 -0700"
      },
      "message": "security: filesystem capabilities: fix fragile setuid fixup code\n\nThis commit includes a bugfix for the fragile setuid fixup code in the\ncase that filesystem capabilities are supported (in access()).  The effect\nof this fix is gated on filesystem capability support because changing\nsecurebits is only supported when filesystem capabilities support is\nconfigured.)\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cde53535991fbb5c34a1566f25955297c1487b8d",
      "tree": "4f87e67b52c8761cfc421a619379263733b91159",
      "parents": [
        "a926c063738f31c8c8b5c2b883812a40e7868072"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jul 04 09:59:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 04 10:40:04 2008 -0700"
      },
      "message": "Christoph has moved\n\nRemove all clameter@sgi.com addresses from the kernel tree since they will\nbecome invalid on June 27th.  Change my maintainer email address for the\nslab allocators to cl@linux-foundation.org (which will be the new email\naddress for the future).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46ac22bab42cc868b9c1d0e915ddbc8e8065a44d",
      "tree": "407d6a38b698b0e071f6d32c0244d8af2c618fa1",
      "parents": [
        "2087a1ad822cd3a68b73338457047fcc54da726b"
      ],
      "author": {
        "name": "Ankita Garg",
        "email": "ankita@in.ibm.com",
        "time": "Tue Jul 01 14:30:06 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 04 12:50:23 2008 +0200"
      },
      "message": "sched: fix accounting in task delay accounting \u0026 migration\n\nOn Thu, Jun 19, 2008 at 12:27:14PM +0200, Peter Zijlstra wrote:\n\u003e On Thu, 2008-06-05 at 10:50 +0530, Ankita Garg wrote:\n\u003e\n\u003e \u003e Thanks Peter for the explanation...\n\u003e \u003e\n\u003e \u003e I agree with the above and that is the reason why I did not see weird\n\u003e \u003e values with cpu_time. But, run_delay still would suffer skews as the end\n\u003e \u003e points for delta could be taken on different cpus due to migration (more\n\u003e \u003e so on RT kernel due to the push-pull operations). With the below patch,\n\u003e \u003e I could not reproduce the issue I had seen earlier. After every dequeue,\n\u003e \u003e we take the delta and start wait measurements from zero when moved to a\n\u003e \u003e different rq.\n\u003e\n\u003e OK, so task delay delay accounting is broken because it doesn\u0027t take\n\u003e migration into account.\n\u003e\n\u003e What you\u0027ve done is make it symmetric wrt enqueue, and account it like\n\u003e\n\u003e   cpu0      cpu1\n\u003e\n\u003e enqueue\n\u003e  \u003cwait-d1\u003e\n\u003e dequeue\n\u003e             enqueue\n\u003e              \u003cwait-d2\u003e\n\u003e             run\n\u003e\n\u003e Where you add both d1 and d2 to the run_delay,.. right?\n\u003e\n\nThanks for reviewing the patch. The above is exactly what I have done.\n\n\u003e This seems like a good fix, however it looks like the patch will break\n\u003e compilation in !CONFIG_SCHEDSTATS \u0026\u0026 !CONFIG_TASK_DELAY_ACCT, of it\n\u003e failing to provide a stub for sched_info_dequeue() in that case.\n\nFixed. Pl. find the new patch below.\n\nSigned-off-by: Ankita Garg \u003cankita@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: rostedt@goodmis.org\nCc: suresh.b.siddha@intel.com\nCc: aneesh.kumar@linux.vnet.ibm.com\nCc: dhaval@linux.vnet.ibm.com\nCc: vatsa@linux.vnet.ibm.com\nCc: David Bahi \u003cDBahi@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\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": "c4acb2c0669c5c5c9b28e9d02a34b5c67edf7092",
      "tree": "58a8c98678a204023301e9edfd5e462a65d13851",
      "parents": [
        "30432094a7f506ad24997a3ba6aed913ab61c01d"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Fri Jun 27 14:29:55 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 04 12:50:21 2008 +0200"
      },
      "message": "sched: terminate newidle balancing once at least one task has moved over\n\nInspired by Peter Zijlstra.\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": "ee3ece830f6db9837f7ac67008f532a8c1e755f4",
      "tree": "86512e4fe0a03970003260671a3c28045f57f5e8",
      "parents": [
        "6beef7eb0c16b5216814148b04838cfa963d2cb4"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 03 14:31:26 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 03 11:36:48 2008 -0700"
      },
      "message": "hrtimer: prevent migration for raising softirq\n\nDue to a possible deadlock, the waking of the softirq was pushed outside\nof the hrtimer base locks. See commit 0c96c5979a522c3323c30a078a70120e29b5bdbc\n\nUnfortunately this allows the task to migrate after setting up the softirq\nand raising it. Since softirqs run a queue that is per-cpu we may raise the\nsoftirq on the wrong CPU and this will keep the queued softirq task from\nrunning.\n\nTo solve this issue, this patch disables preemption around the releasing\nof the hrtimer lock and raising of the softirq.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2a4a7ce3a995b83f59792ec9981d20ac550ccb0",
      "tree": "c0da7c9bd4b9ef5ea01e81723722447f950a30ed",
      "parents": [
        "f7572da502916e6abac06d698c0b6a7119cea0c1",
        "619b0488038224391e64fa03854651ca0f5efe56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 19:12:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 19:12:53 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix divide error when trying to configure rt_period to zero\n"
    },
    {
      "commit": "c000131c711f68cb68712e6553ddce5fa6ad5c5c",
      "tree": "bfb29b294e7e01d74f7f9a4ef040d27b0b936ced",
      "parents": [
        "041924ec2f40efa6a3163144a5481a000804199d",
        "8558f8f81680a43d383abd1b5f23d3501fedfa65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 18:59:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 02 18:59:45 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: fix hotplug vs rcu race\n"
    },
    {
      "commit": "8558f8f81680a43d383abd1b5f23d3501fedfa65",
      "tree": "209da90800fbcd6cb8a9c568c08fee30f3a1fb17",
      "parents": [
        "d7ee56059b335e27c3c6db34f7efe5a705d65b1c"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Fri Jun 27 10:17:38 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 01 09:27:17 2008 +0200"
      },
      "message": "rcu: fix hotplug vs rcu race\n\nDhaval Giani reported this warning during cpu hotplug stress-tests:\n\n| On running kernel compiles in parallel with cpu hotplug:\n|\n| WARNING: at arch/x86/kernel/smp.c:118\n| native_smp_send_reschedule+0x21/0x36()\n| Modules linked in:\n| Pid: 27483, comm: cc1 Not tainted 2.6.26-rc7 #1\n| [...]\n|  [\u003cc0110355\u003e] native_smp_send_reschedule+0x21/0x36\n|  [\u003cc014fe8f\u003e] force_quiescent_state+0x47/0x57\n|  [\u003cc014fef0\u003e] call_rcu+0x51/0x6d\n|  [\u003cc01713b3\u003e] __fput+0x130/0x158\n|  [\u003cc0171231\u003e] fput+0x17/0x19\n|  [\u003cc016fd99\u003e] filp_close+0x4d/0x57\n|  [\u003cc016fdff\u003e] sys_close+0x5c/0x97\n\nIMHO the warning is a spurious one.\n\ncpu_online_map is updated by the _cpu_down() using stop_machine_run().\nSince force_quiescent_state is invoked from irqs disabled section,\nstop_machine_run() won\u0027t be executing while a cpu is executing\nforce_quiescent_state(). Hence the cpu_online_map is stable while we\u0027re\nin the irq disabled section.\n\nHowever, a cpu might have been offlined _just_ before we disabled irqs\nwhile entering force_quiescent_state(). And rcu subsystem might not yet\nhave handled the CPU_DEAD notification, leading to the offlined cpu\u0027s\nbit being set in the rcp-\u003ecpumask.\n\nHence cpumask \u003d (rcp-\u003ecpumask \u0026 cpu_online_map) to prevent sending\nsmp_reschedule() to an offlined CPU.\n\nHere\u0027s the timeline:\n\nCPU_A\t\t\t\t\t\t CPU_B\n--------------------------------------------------------------\ncpu_down():\t\t\t\t\t.\n.\t\t\t\t\t   \t.\n.\t\t\t\t\t\t.\nstop_machine(): /* disables preemption,\t\t.\n\t\t * and irqs */\t\t\t.\n.\t\t\t\t\t\t.\n.\t\t\t\t\t\t.\ntake_cpu_down();\t\t\t\t.\n.\t\t\t\t\t\t.\n.\t\t\t\t\t\t.\n.\t\t\t\t\t\t.\ncpu_disable(); /*this removes cpu \t\t.\n\t\t*from cpu_online_map \t\t.\n\t\t*/\t\t\t\t.\n.\t\t\t\t\t\t.\n.\t\t\t\t\t\t.\nrestart_machine(); /* enables irqs */\t\t.\n------WINDOW DURING WHICH rcp-\u003ecpumask is stale ---------------\n.\t\t\t\t\t\tcall_rcu();\n.\t\t\t\t\t\t/* disables irqs here */\n.\t\t\t\t\t\t.force_quiescent_state();\n.CPU_DEAD:\t\t\t\t\t.for_each_cpu(rcp-\u003ecpumask)\n.\t\t\t\t\t\t.   smp_send_reschedule();\n.\t\t\t\t\t\t.\n.\t\t\t\t\t\t.   WARN_ON() for offlined CPU!\n.\n.\n.\nrcu_cpu_notify:\n.\n-------- WINDOW ENDS ------------------------------------------\nrcu_offline_cpu() /* Which calls cpu_quiet()\n\t\t   * which removes\n\t\t   * cpu from rcp-\u003ecpumask.\n\t\t   */\n\nIf a new batch was started just before calling stop_machine_run(), the\n\"tobe-offlined\" cpu is still present in rcp-cpumask.\n\nDuring a cpu-offline, from take_cpu_down(), we queue an rt-prio idle\ntask as the next task to be picked by the scheduler. We also call\ncpu_disable() which will disable any further interrupts and remove the\ncpu\u0027s bit from the cpu_online_map.\n\nOnce the stop_machine_run() successfully calls take_cpu_down(), it calls\nschedule(). That\u0027s the last time a schedule is called on the offlined\ncpu, and hence the last time when rdp-\u003epassed_quiesc will be set to 1\nthrough rcu_qsctr_inc().\n\nBut the cpu_quiet() will be on this cpu will be called only when the\nnext RCU_SOFTIRQ occurs on this CPU. So at this time, the offlined CPU\nis still set in rcp-\u003ecpumask.\n\nNow coming back to the idle_task which truely offlines the CPU, it does\ncheck for a pending RCU and raises the softirq, since it will find\nrdp-\u003epassed_quiesc to be 0 in this case. However, since the cpu is\noffline I am not sure if the softirq will trigger on the CPU.\n\nEven if it doesn\u0027t the rcu_offline_cpu() will find that rcp-\u003ecompleted\nis not the same as rcp-\u003ecur, which means that our cpu could be holding\nup the grace period progression. Hence we call cpu_quiet() and move\nahead.\n\nBut because of the window explained in the timeline, we could still have\na call_rcu() before the RCU subsystem executes it\u0027s CPU_DEAD\nnotification, and we send smp_send_reschedule() to offlined cpu while\ntrying to force the quiescent states. The appended patch adds comments\nand prevents checking for offlined cpu everytime.\n\ncpu_online_map is updated by the _cpu_down() using stop_machine_run().\nSince force_quiescent_state is invoked from irqs disabled section,\nstop_machine_run() won\u0027t be executing while a cpu is executing\nforce_quiescent_state(). Hence the cpu_online_map is stable while we\u0027re\nin the irq disabled section.\n\nReported-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Rusty Russel \u003crusty@rustcorp.com.au\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "619b0488038224391e64fa03854651ca0f5efe56",
      "tree": "c74800f53e089c46a0f20df185bcfbe25a698344",
      "parents": [
        "79c537998d143b127c8c662a403c3356cb885f1c"
      ],
      "author": {
        "name": "Raistlin",
        "email": "raistlin@linux.it",
        "time": "Thu Jun 26 18:54:09 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 01 08:23:24 2008 +0200"
      },
      "message": "sched: fix divide error when trying to configure rt_period to zero\n\nHere it is another little Oops we found while configuring invalid values\nvia cgroups:\n\necho 0 \u003e /dev/cgroups/0/cpu.rt_period_us\nor\necho 4294967296 \u003e /dev/cgroups/0/cpu.rt_period_us\n\n[  205.509825] divide error: 0000 [#1]\n[  205.510151] Modules linked in:\n[  205.510151]\n[  205.510151] Pid: 2339, comm: bash Not tainted (2.6.26-rc8 #33)\n[  205.510151] EIP: 0060:[\u003cc030c6ef\u003e] EFLAGS: 00000293 CPU: 0\n[  205.510151] EIP is at div64_u64+0x5f/0x70\n[  205.510151] EAX: 0000389f EBX: 00000000 ECX: 00000000 EDX: 00000000\n[  205.510151] ESI: d9800000 EDI: 00000000 EBP: c6cede60 ESP: c6cede50\n[  205.510151]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\n[  205.510151] Process bash (pid: 2339, ti\u003dc6cec000 task\u003dc79be370 task.ti\u003dc6cec000)\n[  205.510151] Stack: d9800000 0000389f c05971a0 d9800000 c6cedeb4 c0214dbd 00000000 00000000\n[  205.510151]        c6cede88 c0242bd8 c05377c0 c7a41b40 00000000 00000000 00000000 c05971a0\n[  205.510151]        c780ed20 c7508494 c7a41b40 00000000 00000002 c6cedebc c05971a0 ffffffea\n[  205.510151] Call Trace:\n[  205.510151]  [\u003cc0214dbd\u003e] ? __rt_schedulable+0x1cd/0x240\n[  205.510151]  [\u003cc0242bd8\u003e] ? cgroup_file_open+0x18/0xe0\n[  205.510151]  [\u003cc0214fe4\u003e] ? tg_set_bandwidth+0xa4/0xf0\n[  205.510151]  [\u003cc0215066\u003e] ? sched_group_set_rt_period+0x36/0x50\n[  205.510151]  [\u003cc021508e\u003e] ? cpu_rt_period_write_uint+0xe/0x10\n[  205.510151]  [\u003cc0242dc5\u003e] ? cgroup_file_write+0x125/0x160\n[  205.510151]  [\u003cc0232c15\u003e] ? hrtimer_interrupt+0x155/0x190\n[  205.510151]  [\u003cc02f047f\u003e] ? security_file_permission+0xf/0x20\n[  205.510151]  [\u003cc0277ad8\u003e] ? rw_verify_area+0x48/0xc0\n[  205.510151]  [\u003cc0283744\u003e] ? dupfd+0x104/0x130\n[  205.510151]  [\u003cc027838c\u003e] ? vfs_write+0x9c/0x160\n[  205.510151]  [\u003cc0242ca0\u003e] ? cgroup_file_write+0x0/0x160\n[  205.510151]  [\u003cc027850d\u003e] ? sys_write+0x3d/0x70\n[  205.510151]  [\u003cc0203019\u003e] ? sysenter_past_esp+0x6a/0x91\n[  205.510151]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  205.510151] Code: 0f 45 de 31 f6 0f ad d0 d3 ea f6 c1 20 0f 45 c2 0f 45 d6 89 45 f0 89 55 f4 8b 55 f4 31 c9 8b 45 f0 39 d3 89 c6 77 08 89 d0 31 d2 \u003cf7\u003e f3 89 c1 83 c4 08 89 f0 f7 f3 89 ca 5b 5e 5d c3 55 89 e5 56\n[  205.510151] EIP: [\u003cc030c6ef\u003e] div64_u64+0x5f/0x70 SS:ESP 0068:c6cede50\n\nThe attached patch solves the issue for me.\n\nI\u0027m checking as soon as possible for the period not being zero since, if\nit is, going ahead is useless. This way we also save a mutex_lock() and\na read_lock() wrt doing it inside tg_set_bandwidth() or\n__rt_schedulable().\n\nSigned-off-by: Dario Faggioli \u003craistlin@linux.it\u003e\nSigned-off-by: Michael Trimarchi \u003ctrimarchimichael@yahoo.it\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e6100f23375c0c71ce595d04551fa6553b611918",
      "tree": "194b0cdcd21d91f118dc75680d78f66b883d39fe",
      "parents": [
        "bbad5d4750ab3b44a196f9bdd982972e41b7e520",
        "79c537998d143b127c8c662a403c3356cb885f1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 30 08:57:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 30 08:57:19 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix cpu hotplug\n"
    },
    {
      "commit": "30432094a7f506ad24997a3ba6aed913ab61c01d",
      "tree": "bbf1a5f354a5e2a492f83453d5a986bf1a190c7c",
      "parents": [
        "34e83e850f5e5ee2a18cd77a5d70d31972a632e6"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Fri Jun 27 21:35:50 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 30 08:37:32 2008 +0200"
      },
      "message": "sched: fix warning\n\nThis patch fixes the following warning:\n\nkernel/sched.c:1667: warning: \u0027cfs_rq_set_shares\u0027 defined but not used\n\nThis seems the correct way to fix this; cfs_rq_set_shares() is only used\nin a single place, which is also inside #ifdef CONFIG_FAIR_GROUP_SCHED.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34e83e850f5e5ee2a18cd77a5d70d31972a632e6",
      "tree": "d72ee2385d1281ba3cc2cd52db5d08b3a2cc06f7",
      "parents": [
        "2d452c9b10caeec455eb5e56a0ef4ed485178213"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 15:42:36 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 30 08:37:13 2008 +0200"
      },
      "message": "sched: build fix\n\nfix:\n\nkernel/sched.c: In function ‘sched_group_set_shares\u0027:\nkernel/sched.c:8635: error: implicit declaration of function ‘cfs_rq_set_shares\u0027\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4480ac4f966384f9d2db98bffec223e4eaf6150",
      "tree": "25760cb0412316ef41cc73fa6c0ac6c4a577025f",
      "parents": [
        "4f46accee45d74a408e417c04c0ed1543a7c51e9",
        "d8de72473effd674a3c1fe9621821f406f5587c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:15:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 29 12:15:10 2008 -0700"
      },
      "message": "Merge branch \u0027audit.b52\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b52\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [PATCH] remove useless argument type in audit_filter_user()\n  [PATCH] audit: fix kernel-doc parameter notation\n  [PATCH] kernel/audit.c: nlh-\u003enlmsg_type is gotten more than once\n"
    },
    {
      "commit": "2d452c9b10caeec455eb5e56a0ef4ed485178213",
      "tree": "8c7af10fa4b2f69307a1b4e0a997ed9d4e2ed32d",
      "parents": [
        "4c9fe8ad813b257a2b9ddf0f752105a75a7dae63"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jun 29 15:01:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jun 29 15:05:00 2008 +0200"
      },
      "message": "sched: sched_clock_cpu() based cpu_clock(), lockdep fix\n\nVegard Nossum reported:\n\n\u003e WARNING: at kernel/lockdep.c:2738 check_flags+0x142/0x160()\n\nwhich happens due to:\n\n unsigned long long cpu_clock(int cpu)\n {\n         unsigned long long clock;\n         unsigned long flags;\n\n         raw_local_irq_save(flags);\n\nas lower level functions can take locks, we must not do that, use\nproper lockdep-annotated irq save/restore.\n\nReported-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "79c537998d143b127c8c662a403c3356cb885f1c",
      "tree": "ed358cd2f78741b17f87cd74517250f434a34e19",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Sun Jun 29 00:16:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jun 29 08:50:21 2008 +0200"
      },
      "message": "sched: fix cpu hotplug\n\nthe CPU hotplug problems (crashes under high-volume unplug+replug\ntests) seem to be related to migrate_dead_tasks().\n\nFirstly I added traces to see all tasks being migrated with\nmigrate_live_tasks() and migrate_dead_tasks(). On my setup the problem\npops up (the one with \"se \u003d\u003d NULL\" in the loop of\npick_next_task_fair()) shortly after the traces indicate that some has\nbeen migrated with migrate_dead_tasks()). btw., I can reproduce it\nmuch faster now with just a plain cpu down/up loop.\n\n[disclaimer] Well, unless I\u0027m really missing something important in\nthis late hour [/desclaimer] pick_next_task() is not something\nappropriate for migrate_dead_tasks() :-)\n\nthe following change seems to eliminate the problem on my setup\n(although, I kept it running only for a few minutes to get a few\nmessages indicating migrate_dead_tasks() does move tasks and the\nsystem is still ok)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4c9fe8ad813b257a2b9ddf0f752105a75a7dae63",
      "tree": "fd8264ab8a8840fbaeb8a894ee35fb2a8c57b924",
      "parents": [
        "55e12e5e7b1d7e7c05a4be10cb5fd092c039aa78"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:49:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:49:06 2008 +0200"
      },
      "message": "sched: export cpu_clock\n\nthe rcutorture module relies on cpu_clock.\n\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": "2398f2c6d34b43025f274fc42eaca34d23ec2320",
      "tree": "0ff3e9edf12c6b4485e4fa94f47a79b44d75376a",
      "parents": [
        "cd80917e4ff465ea77106f8e4fb631eedc4cf426"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:35 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:45 2008 +0200"
      },
      "message": "sched: update shares on wakeup\n\nWe found that the affine wakeup code needs rather accurate load figures\nto be effective. The trouble is that updating the load figures is fairly\nexpensive with group scheduling. Therefore ratelimit the updating.\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": "cd80917e4ff465ea77106f8e4fb631eedc4cf426",
      "tree": "0b12aed9293c8b0683e7f74d5d111f5d436fa017",
      "parents": [
        "93b75217df39e6d75889cc6f8050343286aff4a5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:34 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:44 2008 +0200"
      },
      "message": "sched: fix shares boost logic\n\nIn case the domain is empty, pretend there is a single task on each cpu, so\nthat together with the boost logic we end up giving 1/n shares to each\ncpu.\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": "93b75217df39e6d75889cc6f8050343286aff4a5",
      "tree": "d3091afd2b88aa9732ff63b3a839bdec358aef7d",
      "parents": [
        "cb5ef42a03a13f95a9ea94e6cda4f7a47497871f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:33 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:44 2008 +0200"
      },
      "message": "sched: disable source/target_load bias\n\nThe bias given by source/target_load functions can be very large, disable\nit by default to get faster convergence.\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": "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": "051c67640e771fd6ad1b676fc0c16c379b3c6f80",
      "tree": "b56d9841d0ddb00a715489e83969051f7c4849e0",
      "parents": [
        "4be9daaa1b33701f011f4117f22dc1e45a3e6e34"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:31 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:42 2008 +0200"
      },
      "message": "sched: remove prio preference from balance decisions\n\nPriority looses much of its meaning in a hierarchical context. So don\u0027t\nuse it in balance decisions.\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": "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": "408ed066b11cf9ee4536573b4269ee3613bd735e",
      "tree": "3b1367dafc96835c2fcbf289a7af808eb2efa605",
      "parents": [
        "bb3469ac9b50f14ad6eba129ca0ad4fd033097a0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:28 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:40 2008 +0200"
      },
      "message": "sched: hierarchical load vs find_busiest_group\n\nfind_busiest_group() has some assumptions about task weight being in the\nNICE_0_LOAD range. Hierarchical task groups break this assumption - fix this\nby replacing it with the average task weight, which will adapt the situation.\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": "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": "a8a51d5e59561aa5b4d66e19eca819b537783e8f",
      "tree": "b400bc77244a742e737bb9deb94a6911a769e082",
      "parents": [
        "039a1c41b3a489e34593ea1e1687f6fdad6b13ab"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:39 2008 +0200"
      },
      "message": "sched: persistent average load per task\n\nRemove the fall-back to SCHED_LOAD_SCALE by remembering the previous value of\ncpu_avg_load_per_task() - this is useful because of the hierarchical group\nmodel in which task weight can be much smaller.\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": "039a1c41b3a489e34593ea1e1687f6fdad6b13ab",
      "tree": "162e9b0b7a2472be292089bf4f84623bdc6f34ab",
      "parents": [
        "3e5459b4bea3ca2618cc02d56d12639f2cba531d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:25 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:38 2008 +0200"
      },
      "message": "sched: fix sched_balance_self() smp group balancing\n\nFinding the least idle cpu is more accurate when done with updated shares.\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": "3e5459b4bea3ca2618cc02d56d12639f2cba531d",
      "tree": "bf931bd0cb3f653a62045c99beaed837242dd773",
      "parents": [
        "c8cba857b4997d5b00451d01474638f6a153f713"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:24 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:37 2008 +0200"
      },
      "message": "sched: fix newidle smp group balancing\n\nRe-compute the shares on newidle - so we can make a decision based on\nrecent data.\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": "d3f40dbab954d83383b6a516582d5c09cc216dcc",
      "tree": "db50344cb0dfa11a214f7758c4254b9ffeb9f118",
      "parents": [
        "53fecd8ae1900fb571086f54f664051004665b55"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:21 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:34 2008 +0200"
      },
      "message": "sched: dont micro manage share losses\n\nWe used to try and contain the loss of \u0027shares\u0027 by playing arithmetic\ngames. Replace that by noticing that at the top sched_domain we\u0027ll\nalways have the full weight in shares to distribute.\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": "4d8d595dfa69e1c807bf928f364668a7f30da5dc",
      "tree": "af61c1d6d53aea66fac272e7dad67ae93a832a66",
      "parents": [
        "b6a86c746f5b708012809958462234d19e9c8177"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:19 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:33 2008 +0200"
      },
      "message": "sched: update aggregate when holding the RQs\n\nIt was observed that in __update_group_shares_cpu()\n\n  rq_weight \u003e aggregate()-\u003erq_weight\n\nThis is caused by forks/wakeups in between the initial aggregate pass and\nlocking of the RQs for load balance. To avoid this situation partially re-do\nthe aggregation once we have the RQs locked (which avoids new tasks from\nappearing).\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": "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": "32df2ee86a580f70f2dbb90cf81f413aa655f838",
      "tree": "17548b30bb7b77ad838d14606f0c9c03741460f6",
      "parents": [
        "103638d95ba5b0c53c8d9c0cb581156ccc8513ee"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:31 2008 +0200"
      },
      "message": "sched: add full schedstats to /proc/sched_debug\n\nshow all the schedstats in /debug/sched_debug as well.\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": "76a2a6ee8a0660a29127f05989ac59ae1ce865fa",
      "tree": "93ae1dd3cc5f564fc1e9d30bcdb0cd313f67221a",
      "parents": [
        "c09595f63bb1909c5dc4dca288f4fe818561b5f3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:15 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:30 2008 +0200"
      },
      "message": "sched: sched_clock_cpu() based cpu_clock()\n\nwith sched_clock_cpu() being reasonably in sync between cpus (max 1 jiffy\ndifference) use this to provide cpu_clock().\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": "bf647b62fdb948e757a7b4d18d4f16e3c763b1d1",
      "tree": "28b52250ff8a8e02b3cae483fb59368f2aabdc54",
      "parents": [
        "f57aec5a871907427060196f6bac3d0011b38450"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 27 13:41:10 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 27 14:31:26 2008 +0200"
      },
      "message": "sched: clean up some unused variables\n\nIn file included from /mnt/build/linux-2.6/kernel/sched.c:1496:\n/mnt/build/linux-2.6/kernel/sched_rt.c: In function \u0027__enable_runtime\u0027:\n/mnt/build/linux-2.6/kernel/sched_rt.c:339: warning: unused variable \u0027rd\u0027\n/mnt/build/linux-2.6/kernel/sched_rt.c: In function \u0027requeue_rt_entity\u0027:\n/mnt/build/linux-2.6/kernel/sched_rt.c:692: warning: unused variable \u0027queue\u0027\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": "f57aec5a871907427060196f6bac3d0011b38450",
      "tree": "fec11fec6cf8e2454e07bd04ac137cad85075611",
      "parents": [
        "1de8644cc7c826e0c41e52825bd5a12e2e31e6ca",
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 12:26:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 12:26:59 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/devel\n\nConflicts:\n\n\tkernel/sched_rt.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d02859ecb321c8c0f74cb9bbe3f51a59e58822b0",
      "tree": "05dd5bdc55081c0a90bf0afc35c07d0d6e25d015",
      "parents": [
        "a987b16cc6123af2c9414032701bab5f73c54c89",
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 12:16:51 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 25 12:16:51 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.26-rc8\u0027 into x86/xen\n\nConflicts:\n\n\tarch/x86/xen/enlighten.c\n\tarch/x86/xen/mmu.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d8de72473effd674a3c1fe9621821f406f5587c9",
      "tree": "4b96ac9b82cc156f9ee01da00450f1a97222353f",
      "parents": [
        "9f0aecdd1cd6aacee9aa8f08031f4f2e09e454dc"
      ],
      "author": {
        "name": "Peng Haitao",
        "email": "penght@cn.fujitsu.com",
        "time": "Tue May 20 09:13:02 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 24 23:36:35 2008 -0400"
      },
      "message": "[PATCH] remove useless argument type in audit_filter_user()\n\nThe second argument \"type\" is not used in audit_filter_user(), so I think that type can be removed. If I\u0027m wrong, please tell me.\n\nSigned-off-by: Peng Haitao \u003cpenght@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9f0aecdd1cd6aacee9aa8f08031f4f2e09e454dc",
      "tree": "57f18e7c5df7b685af1baf33ff9dadb2c6f94842",
      "parents": [
        "13d5ef97f0675d789f559cfebc1df9d5e2b1879c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon May 19 15:09:21 2008 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 24 23:36:28 2008 -0400"
      },
      "message": "[PATCH] audit: fix kernel-doc parameter notation\n\nFix auditfilter kernel-doc misssing parameter description:\n\nWarning(lin2626-rc3//kernel/auditfilter.c:1551): No description found for parameter \u0027sessionid\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "13d5ef97f0675d789f559cfebc1df9d5e2b1879c",
      "tree": "12202e8011e27501b47b0c008f20fd2fe875c29b",
      "parents": [
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Peng Haitao",
        "email": "penght@cn.fujitsu.com",
        "time": "Fri May 16 10:15:04 2008 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 24 23:36:21 2008 -0400"
      },
      "message": "[PATCH] kernel/audit.c: nlh-\u003enlmsg_type is gotten more than once\n\nThe first argument \"nlh-\u003enlmsg_type\" of audit_receive_filter() should be modified to \"msg_type\" in audit_receive_msg().\n\nSigned-off-by: Peng Haitao \u003cpenght@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aabdc3b8c3b3d081f1532454e344208338478e29",
      "tree": "5ff3d5c873fa12ec3797690598e8daa2c3225071",
      "parents": [
        "a606b5e24b7e2937604f4c85023d8d9c5ab0a28b"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "message": "kgdb: sparse fix\n\n- Fix warning reported by sparse\nkernel/kgdb.c:1502:6: warning: symbol \u0027kgdb_console_write\u0027 was not declared.\n\tShould it be static?\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "27f4837cbfd87126e733d098824544b6841a4eb8",
      "tree": "c97efa3ce9883d6f52f8e8b351019ec42f6fea20",
      "parents": [
        "0e053738b50836e9d1e94b2295ef2942eb471078",
        "1b7558e457ed0de61023cfc913d2c342c7c3d9f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:49:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:49:22 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futexes: fix fault handling in futex_lock_pi\n"
    },
    {
      "commit": "1b7558e457ed0de61023cfc913d2c342c7c3d9f2",
      "tree": "fcd456b1633bfd3e68ba2f6631831fbc5336108d",
      "parents": [
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 23 11:21:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 13:31:15 2008 +0200"
      },
      "message": "futexes: fix fault handling in futex_lock_pi\n\nThis patch addresses a very sporadic pi-futex related failure in\nhighly threaded java apps on large SMP systems.\n\nDavid Holmes reported that the pi_state consistency check in\nlookup_pi_state triggered with his test application. This means that\nthe kernel internal pi_state and the user space futex variable are out\nof sync. First we assumed that this is a user space data corruption,\nbut deeper investigation revieled that the problem happend because the\npi-futex code is not handling a fault in the futex_lock_pi path when\nthe user space variable needs to be fixed up.\n\nThe fault happens when a fork mapped the anon memory which contains\nthe futex readonly for COW or the page got swapped out exactly between\nthe unlock of the futex and the return of either the new futex owner\nor the task which was the expected owner but failed to acquire the\nkernel internal rtmutex. The current futex_lock_pi() code drops out\nwith an inconsistent in case it faults and returns -EFAULT to user\nspace. User space has no way to fixup that state.\n\nWhen we wrote this code we thought that we could not drop the hash\nbucket lock at this point to handle the fault.\n\nAfter analysing the code again it turned out to be wrong because there\nare only two tasks involved which might modify the pi_state and the\nuser space variable:\n\n - the task which acquired the rtmutex\n - the pending owner of the pi_state which did not get the rtmutex\n\nBoth tasks drop into the fixup_pi_state() function before returning to\nuser space. The first task which acquired the hash bucket lock faults\nin the fixup of the user space variable, drops the spinlock and calls\nfutex_handle_fault() to fault in the page. Now the second task could\nacquire the hash bucket lock and tries to fixup the user space\nvariable as well. It either faults as well or it succeeds because the\nfirst task already faulted the page in.\n\nOne caveat is to avoid a double fixup. After returning from the fault\nhandling we reacquire the hash bucket lock and check whether the\npi_state owner has been modified already.\n\nReported-by: David Holmes \u003cdavid.holmes@sun.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: David Holmes \u003cdavid.holmes@sun.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n kernel/futex.c |   93 ++++++++++++++++++++++++++++++++++++++++++++-------------\n 1 file changed, 73 insertions(+), 20 deletions(-)\n"
    },
    {
      "commit": "1de8644cc7c826e0c41e52825bd5a12e2e31e6ca",
      "tree": "df1e884080599facaf70d2675c480e999da953e1",
      "parents": [
        "6c3df25511c2c51f2dd36cc52a8d22363d731793",
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:30:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:30:23 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/devel\n"
    },
    {
      "commit": "198bb971e256e4167e45e7df643c13ea66f67e3a",
      "tree": "85b8b2bf6cc78bf0e53a2187ed5796f076922334",
      "parents": [
        "ea71a546706dfdad72462624394e1e472c6bf34f",
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:00:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:00:26 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/urgent\n"
    },
    {
      "commit": "1f1e2ce8a55bac60ff165d353c6b882e750c9092",
      "tree": "b11aaa5baa04ea5ea0ecc549fa1c95430919cd82",
      "parents": [
        "e570dc2a503f8334b700e8483082c675394f53fd",
        "9c106c119ebedf624fbd682fd2a4d52e3c8c1a67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:13 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n  rcupreempt: remove export of rcu_batches_completed_bh\n  cpuset: limit the input of cpuset.sched_relax_domain_level\n"
    },
    {
      "commit": "ea71a546706dfdad72462624394e1e472c6bf34f",
      "tree": "eb6f257c73510deee995f330947de4624e9b404b",
      "parents": [
        "bb10ed0994927d433f6dbdf274fdb26cfcf516b7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jun 20 18:32:20 2008 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 17:15:49 2008 +0200"
      },
      "message": "sched: refactor wait_for_completion_timeout()\n\nSimplify the code and fix the boundary condition of\nwait_for_completion_timeout(,0).\n\nWe can kill the first __remove_wait_queue() as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "bb10ed0994927d433f6dbdf274fdb26cfcf516b7",
      "tree": "832f26f1c45e1ddd67beb655a9474d167b9e4cd1",
      "parents": [
        "8a8cde163ea724baf74e7752a31a69d3121a240e"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Thu Jun 19 15:04:07 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 13:19:32 2008 +0200"
      },
      "message": "sched: fix wait_for_completion_timeout() spurious failure under heavy load\n\nIt seems that the current implementaton of wait_for_completion_timeout()\nhas a small problem under very high load for the common pattern:\n\n\tif (!wait_for_completion_timeout(\u0026done, timeout))\n\t\t/* handle failure */\n\nbecause the implementation very roughly does (lots of code deleted to\nshow the basic flow):\n\n\tstatic inline long __sched\n\tdo_wait_for_common(struct completion *x, long timeout, int state)\n\t{\n\t\tif (x-\u003edone)\n\t\t\treturn timeout;\n\n\t\tdo {\n\t\t\ttimeout \u003d schedule_timeout(timeout);\n\n\t\t\tif (!timeout)\n\t\t\t\treturn timeout;\n\n\t\t} while (!x-\u003edone);\n\n\t\treturn timeout;\n\t}\n\nso if the system is very busy and x-\u003edone is not set when\ndo_wait_for_common() is entered, it is possible that the first call to\nschedule_timeout() returns 0 because the task doing wait_for_completion\ndoesn\u0027t get rescheduled for a long time, even if it is woken up early\nenough.\n\nIn this case, wait_for_completion_timeout() returns 0 without even\nchecking x-\u003edone again, and the code above falls into its failure case\npurely for scheduler reasons, even if the hardware event or whatever was\nbeing waited for happened early enough.\n\nIt would make sense to add an extra test to do_wait_for() in the timeout\ncase and return 1 if x-\u003edone is actually set.\n\nA quick audit (not exhaustive) of wait_for_completion_timeout() callers\nseems to indicate that no one actually cares about the return value in\nthe success case -- they just test for 0 (timed out) versus non-zero\n(wait succeeded).\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8a8cde163ea724baf74e7752a31a69d3121a240e",
      "tree": "5cdeed8a13ac27bf0bf03f522ab184c543a5030f",
      "parents": [
        "d4abc238c9f4df8b3216f3e883f5d0a07b7ac75a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 19 14:22:28 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 11:00:19 2008 +0200"
      },
      "message": "sched: rt: dont stop the period timer when there are tasks wanting to run\n\nSo if the group ever gets throttled, it will never wake up again.\n\nReported-by: \"Daniel K.\" \u003cdk@uw.no\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Daniel K. \u003cdk@uw.no\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c3df25511c2c51f2dd36cc52a8d22363d731793",
      "tree": "80ef006084108ebca3d49f6635a62d8ee261abe8",
      "parents": [
        "10b612f440a22a294e87ec7e8f03f9eea3338628"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 19 14:22:28 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 10:26:02 2008 +0200"
      },
      "message": "sched: rt: dont stop the period timer when there are tasks wanting to run\n\nSo if the group ever gets throttled, it will never wake up again.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Daniel K.\" \u003cdk@uw.no\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReported-by: \"Daniel K.\" \u003cdk@uw.no\u003e\n"
    },
    {
      "commit": "10b612f440a22a294e87ec7e8f03f9eea3338628",
      "tree": "75d016acdfa2e98a601bffa63ef302649f6ca7db",
      "parents": [
        "eff6549b957d15d1ad168d90b8c1eb643b9c163f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 19 14:22:27 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 10:26:01 2008 +0200"
      },
      "message": "sched: rt: fix the bandwidth contraint computations\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Daniel K.\" \u003cdk@uw.no\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eff6549b957d15d1ad168d90b8c1eb643b9c163f",
      "tree": "016e025635dabb070edf1f48fe1cee5308e18fd4",
      "parents": [
        "b79f3833d81d54fc71d98c8064dc45f33a755a8a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 19 14:22:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 10:26:00 2008 +0200"
      },
      "message": "sched: rt: move some code around\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Daniel K.\" \u003cdk@uw.no\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b79f3833d81d54fc71d98c8064dc45f33a755a8a",
      "tree": "863df388344bbd6e370a6f4f1c721418b919d368",
      "parents": [
        "ada18de2eb76961a4d4847f63291744c9e7beec4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 19 14:22:25 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 10:26:00 2008 +0200"
      },
      "message": "sched: rt: fix SMP bandwidth balancing for throttled groups\n\nNow we exceed the runtime and get throttled - the period rollover tick\nwill subtract the cpu quota from the runtime and check if we\u0027re below\nquota. However with this cpu having a very small portion of the runtime\nit will not refresh as fast as it should.\n\nTherefore, also rebalance the runtime when we\u0027re throttled.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Daniel K.\" \u003cdk@uw.no\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ada18de2eb76961a4d4847f63291744c9e7beec4",
      "tree": "2626852c3d735aea1a49570afea3fa936a8186dc",
      "parents": [
        "1cdad71537b42d0f0bf247772942ce678e4e8898"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 19 14:22:24 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 20 10:25:59 2008 +0200"
      },
      "message": "sched: debug: add some rt debug output\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Daniel K.\" \u003cdk@uw.no\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d4abc238c9f4df8b3216f3e883f5d0a07b7ac75a",
      "tree": "38b571d9a787a62ee88de8f1a2d1c39b3a9d83b8",
      "parents": [
        "d819c49da624e3ee09b2844603d58265039eecdd"
      ],
      "author": {
        "name": "Bharath Ravi",
        "email": "bharathravi1@gmail.com",
        "time": "Mon Jun 16 15:11:01 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 14:15:28 2008 +0200"
      },
      "message": "sched, delay accounting: fix incorrect delay time when constantly waiting on runqueue\n\nThis patch corrects the incorrect value of per process run-queue wait\ntime reported by delay statistics. The anomaly was due to the following\nreason. When a process leaves the CPU and immediately starts waiting for\nCPU on the runqueue (which means it remains in the TASK_RUNNABLE state),\nthe time of re-entry into the run-queue is never recorded. Due to this,\nthe waiting time on the runqueue from this point of re-entry upto the\nnext time it hits the CPU is not accounted for. This is solved by\nrecording the time of re-entry of a process leaving the CPU in the\nsched_info_depart() function IF the process will go back to waiting on\nthe run-queue. This IF condition is verified by checking whether the\nprocess is still in the TASK_RUNNABLE state.\n\nThe patch was tested on 2.6.26-rc6 using two simple CPU hog programs.\nThe values noted prior to the fix did not account for the time spent on\nthe runqueue waiting. After the fix, the correct values were reported\nback to user space.\n\nSigned-off-by: Bharath Ravi \u003cbharathravi1@gmail.com\u003e\nSigned-off-by: Madhava K R  \u003cmadhavakr@gmail.com\u003e\nCc: dhaval@linux.vnet.ibm.com\nCc: vatsa@in.ibm.com\nCc: balbir@in.ibm.com\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c106c119ebedf624fbd682fd2a4d52e3c8c1a67",
      "tree": "cc757dd11c8575110fdd4971fb76303fe500764b",
      "parents": [
        "afd38009cc3acd36d41f349a669ad5825d695b1f"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue May 27 12:23:29 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 09:45:38 2008 +0200"
      },
      "message": "softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n\nThe touch_nmi_watchdog() routine on x86 ultimately calls\ntouch_softlockup_watchdog().  The problem is that to touch the\nsoftlockup watchdog, the cpu_clock code has to be called which could\ninvolve multiple cpu locks and can lead to a hard hang if one of the\nlocks is held by a processor that is not going to return anytime soon\n(such as could be the case with kgdb or perhaps even with some other\nkind of exception).\n\nThis patch causes the public version of the\ntouch_softlockup_watchdog() to defer the cpu clock access to a later\npoint.\n\nThe test case for this problem is to use the following kernel config\noptions:\n\nCONFIG_KGDB_TESTS\u003dy\nCONFIG_KGDB_TESTS_ON_BOOT\u003dy\nCONFIG_KGDB_TESTS_BOOT_STRING\u003d\"V1F100I100000\"\n\nIt should be noted that kgdb test suite and these options were not\navailable until 2.6.26-rc2, so it was necessary to patch the kgdb\ntest suite during the bisection.\n\nI would consider this patch a regression fix because the problem first\nappeared in commit 27ec4407790d075c325e1f4da0a19c56953cce23 when some\nlogic was added to try to periodically sync the clocks.  It was\npossible to work around this particular problem by simply not\nperforming the sync anytime the system was in a critical context.\nThis was ok until commit 3e51f33fcc7f55e6df25d15b55ed10c8b4da84cd,\nwhich added config option CONFIG_HAVE_UNSTABLE_SCHED_CLOCK and some\nmulti-cpu locks to sync the clocks.  It became clear that accessing\nthis code from an nmi was the source of the lockups.  Avoiding the\naccess to the low level clock code from an code inside the NMI\nprocessing also fixed the problem with the 27ec44... commit.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "afd38009cc3acd36d41f349a669ad5825d695b1f",
      "tree": "01068aa7fedbd9bc6f158e9dd470ac1336f9a027",
      "parents": [
        "30e0e178193d4221abc9926b07a4c7661c7cc4a9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 22 14:18:17 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 19 09:45:37 2008 +0200"
      },
      "message": "rcupreempt: remove export of rcu_batches_completed_bh\n\nIn rcupreempt, rcu_batches_completed_bh is defined as a static inline in\nthe header file. This does not need to be exported, and not only that,\nthis breaks my PPC build.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: paulus@samba.org\nCc: linuxppc-dev@ozlabs.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    }
  ],
  "next": "30e0e178193d4221abc9926b07a4c7661c7cc4a9"
}
