)]}'
{
  "log": [
    {
      "commit": "524429c31b486c05449666b94613f59f729c0a84",
      "tree": "00d0a06e864c0054cc6764f1afa6887e1281bcb6",
      "parents": [
        "1c5354de90c900b369e2ebd36c3a065ede29eb93"
      ],
      "author": {
        "name": "Hillf Danton",
        "email": "dhillf@gmail.com",
        "time": "Thu Jan 06 20:58:12 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:55:10 2011 +0100"
      },
      "message": "sched: Fix strncmp operation\n\nOne of the operands, buf, is incorrect, since it is stripped and the\ncorrect address for subsequent string comparing could change if\nleading white spaces, if any, are removed from buf.\n\nIt is fixed by replacing buf with cmp.\n\nSigned-off-by: Hillf Danton \u003cdhillf@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cAANLkTinOPuYsVovrZpbuCCmG5deEyc8WgA_A1RJx_YK7@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9aa1dd19fe49b5aed3ca94aab87576e534d2a39",
      "tree": "04652389e0bd04e37a327002c21b8215c972eda8",
      "parents": [
        "0ca0873555c0abe17b28c25b19f82857c0ddd2bc"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 05 11:11:25 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:37 2011 +0100"
      },
      "message": "sched: Fix struct autogroup memory leak\n\nSeems I lost a change somewhere, leaking memory.\n\nsched: fix struct autogroup memory leak\n\nAdd missing change to actually use autogroup_free().\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1294222285.8369.2.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07e06b011db2b3300f6c975ebf293fc4c8c59942",
      "tree": "f6f0fdd7c1707aa9badf16d1ceb4de1e16adb9e9",
      "parents": [
        "cb600d2f83c854ec3d6660063e4466431999489b"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Jan 07 15:17:36 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:54:34 2011 +0100"
      },
      "message": "sched: Consolidate the name of root_task_group and init_task_group\n\nroot_task_group is the leftover of USER_SCHED, now it\u0027s always\nsame to init_task_group.\nBut as Mike suggested, root_task_group is maybe the suitable name\nto keep for a tree.\nSo in this patch:\n  init_task_group      --\u003e root_task_group\n  init_task_group_load --\u003e root_task_group_load\n  INIT_TASK_GROUP_LOAD --\u003e ROOT_TASK_GROUP_LOAD\n\nSuggested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20110107071736.GA32635@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "65b2074f84be2287e020839e93b4cdaaf60eb37c",
      "tree": "d020c3c37fa5b112ee531b324214236bef9feec6",
      "parents": [
        "28d9bfc37c861aa9c8386dff1ac7e9a10e5c5162",
        "6bf4123760a5aece6e4829ce90b70b6ffd751d65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:23:33 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:23:33 2011 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)\n  sched: Change wait_for_completion_*_timeout() to return a signed long\n  sched, autogroup: Fix reference leak\n  sched, autogroup: Fix potential access to freed memory\n  sched: Remove redundant CONFIG_CGROUP_SCHED ifdef\n  sched: Fix interactivity bug by charging unaccounted run-time on entity re-weight\n  sched: Move periodic share updates to entity_tick()\n  printk: Use this_cpu_{read|write} api on printk_pending\n  sched: Make pushable_tasks CONFIG_SMP dependant\n  sched: Add \u0027autogroup\u0027 scheduling feature: automated per session task groups\n  sched: Fix unregister_fair_sched_group()\n  sched: Remove unused argument dest_cpu to migrate_task()\n  mutexes, sched: Introduce arch_mutex_cpu_relax()\n  sched: Add some clock info to sched_debug\n  cpu: Remove incorrect BUG_ON\n  cpu: Remove unused variable\n  sched: Fix UP build breakage\n  sched: Make task dump print all 15 chars of proc comm\n  sched: Update tg-\u003eshares after cpu.shares write\n  sched: Allow update_cfs_load() to update global load\n  sched: Implement demand based update_cfs_load()\n  ...\n"
    },
    {
      "commit": "28d9bfc37c861aa9c8386dff1ac7e9a10e5c5162",
      "tree": "85bcc2db18ff20e380a40aba375e70d14c2671b4",
      "parents": [
        "f3b0cfa9b017a9d4686c9b14b908a1685f97a077",
        "4b95f135f606c87e4056b6d7fd3c5781c818858b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 10:17:26 2011 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (146 commits)\n  tools, perf: Documentation for the power events API\n  perf: Add calls to suspend trace point\n  perf script: Make some lists static\n  perf script: Use the default lost event handler\n  perf session: Warn about errors when processing pipe events too\n  perf tools: Fix perf_event.h header usage\n  perf test: Clarify some error reports in the open syscall test\n  x86, NMI: Add touch_nmi_watchdog to io_check_error delay\n  x86: Avoid calling arch_trigger_all_cpu_backtrace() at the same time\n  x86: Only call smp_processor_id in non-preempt cases\n  perf timechart: Adjust perf timechart to the new power events\n  perf: Clean up power events by introducing new, more generic ones\n  perf: Do not export power_frequency, but power_start event\n  perf test: Add test for counting open syscalls\n  perf evsel: Auto allocate resources needed for some methods\n  perf evsel: Use {cpu,thread}_map to shorten list of parameters\n  perf tools: Refactor all_tids to hold nr and the map\n  perf tools: Refactor cpumap to hold nr and the map\n  perf evsel: Introduce per cpu and per thread open helpers\n  perf evsel: Steal the counter reading routines from stat\n  ...\n"
    },
    {
      "commit": "6bf4123760a5aece6e4829ce90b70b6ffd751d65",
      "tree": "f7c34fba897b0a1270817c415b8c095958f59add",
      "parents": [
        "27066fd484a32c80630136aa2b91c980f3198f9d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Jan 05 12:50:16 2011 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:15:50 2011 +0100"
      },
      "message": "sched: Change wait_for_completion_*_timeout() to return a signed long\n\nwait_for_completion_*_timeout() can return:\n\n   0: if the wait timed out\n -ve: if the wait was interrupted\n +ve: if the completion was completed.\n\nAs they currently return an \u0027unsigned long\u0027, the last two cases\nare not easily distinguished which can easily result in buggy\ncode, as is the case for the recently added\nwait_for_completion_interruptible_timeout() call in\nnet/sunrpc/cache.c\n\nSo change them both to return \u0027long\u0027.  As MAX_SCHEDULE_TIMEOUT\nis LONG_MAX, a large +ve return value should never overflow.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: J.  Bruce Fields \u003cbfields@fieldses.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20110105125016.64ccab0e@notabene.brown\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27066fd484a32c80630136aa2b91c980f3198f9d",
      "tree": "78ddabdedbfd7525d13ecd62a745525843f1d0e8",
      "parents": [
        "101e5f77bf35679809586e250b6c62193d2ed179",
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:14:42 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 05 14:14:46 2011 +0100"
      },
      "message": "Merge commit \u0027v2.6.37\u0027 into sched/core\n\nMerge reason: Merge the final .37 tree.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6706125e291bd3dddd269e043323a6ab93ccd5fb",
      "tree": "89dfe09c093cdac25b8c51f828fd32f801f17a34",
      "parents": [
        "19e5eebb8eaa5ca3ff8aa18cb57ccb7a9f67277d"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Fri Dec 31 21:58:58 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 04 09:42:03 2011 +0100"
      },
      "message": "sched: Remove redundant CONFIG_CGROUP_SCHED ifdef\n\nCONFIG_[FAIR|RT]_GROUP_SCHED always means CONFIG_CGROUP_SCHED\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1293803938-8157-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "394f4528c523d88daabd50f883a8d6b164075555",
      "tree": "b45a5b87a1ba9be8afe71f1db1537ff19e2b05d8",
      "parents": [
        "90a8a73c06cc32b609a880d48449d7083327e11a",
        "3c2dcf2aed5ea22ecf65a9a871c4963faec421b3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 23 12:57:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 23 12:57:04 2010 +0100"
      },
      "message": "Merge branch \u0027rcu/next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/rcu\n"
    },
    {
      "commit": "6c529a266bdc590a870ee2d2092ff6527eff427b",
      "tree": "7be65fa2578820a1258b5a1e8e063a509a5d6176",
      "parents": [
        "7639dae0ca11038286bbbcda05f2bef601c1eb8d",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 22 11:53:20 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 22 11:53:23 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc7\u0027 into perf/core\n\nMerge reason: Pick up the latest -rc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "050c6c9b896625d9fa498265be17b82c5fc65257",
      "tree": "998a73afe0c3eddd35754cd4de54a65fc4313cec",
      "parents": [
        "8e92c20183ed0579d94501311b81c42b65cb2129"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 23:24:27 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 23:24:27 2010 +0100"
      },
      "message": "sched: Remove debugging check\n\nLinus reported that the new warning introduced by commit f26f9aff6aaf\n\"Sched: fix skip_clock_update optimization\" triggers. The need_resched\nflag can be set by other CPUs asynchronously so this debug check is\nbogus - remove it.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003cAANLkTinJ8hAG1TpyC+CSYPR47p48+1\u003dE7fiC45hMXT_1@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "24a24bb6ff3dc3a09bb131241be920ecc3f0e519",
      "tree": "181eca7d23ba93af11304683a309e18b697a15b0",
      "parents": [
        "4407204c5c9037763aadce39b025529dfbfcac9e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 17 23:17:33 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:36:42 2010 +0100"
      },
      "message": "perf: Move perf_event_init() into main.c\n\nCurrently we call perf_event_init() from sched_init(). In order to\nmake it more obvious move it to the cannnonical location.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101117222056.093629821@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e92c20183ed0579d94501311b81c42b65cb2129",
      "tree": "3a00ccaf8222c994fd7071129dc357321c10c9df",
      "parents": [
        "fe44d62122829959e960bc699318d58966922a69"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 09 14:15:34 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:17:47 2010 +0100"
      },
      "message": "sched: Fix the irqtime code for 32bit\n\nSince the irqtime accounting is using non-atomic u64 and can be read\nfrom remote cpus (writes are strictly cpu local, reads are not) we\nhave to deal with observing partial updates.\n\nWhen we do observe partial updates the clock movement (in particular,\n-\u003eclock_task movement) will go funny (in either direction), a\nsubsequent clock update (observing the full update) will make it go\nfunny in the oposite direction.\n\nSince we rely on these clocks to be strictly monotonic we cannot\nsuffer backwards motion. One possible solution would be to simply\nignore all backwards deltas, but that will lead to accounting\nartefacts, most notable: clock_task + irq_time !\u003d clock, this\ninaccuracy would end up in user visible stats.\n\nTherefore serialize the reads using a seqcount.\n\nReviewed-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nReported-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nTested-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292242434.6803.200.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fe44d62122829959e960bc699318d58966922a69",
      "tree": "bacb96098cffa7b7b8d80506a2026b5125557f2a",
      "parents": [
        "dbd87b5af055a0cc9bba17795c9a2b0d17795389"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 09 14:15:34 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:17:46 2010 +0100"
      },
      "message": "sched: Fix the irqtime code to deal with u64 wraps\n\nSome ARM systems have a short sched_clock() [ which needs to be fixed\ntoo ], but this exposed a bug in the irq_time code as well, it doesn\u0027t\ndeal with wraps at all.\n\nFix the irq_time code to deal with u64 wraps by re-writing the code to\nonly use delta increments, which avoids the whole issue.\n\nReviewed-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nReported-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nTested-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1292242433.6803.199.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "806c09a7db457be3758e14b1f152761135d89af5",
      "tree": "b0fafff45634be80f3caf7227c5d47317f26e0e9",
      "parents": [
        "8e9255e6a2141e050d51bc4d96dbef494a87d653"
      ],
      "author": {
        "name": "Dario Faggioli",
        "email": "raistlin@linux.it",
        "time": "Tue Nov 30 19:51:33 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:16:00 2010 +0100"
      },
      "message": "sched: Make pushable_tasks CONFIG_SMP dependant\n\nAs noted by Peter Zijlstra at https://lkml.org/lkml/2010/11/10/391\n(while reviewing other stuff, though), tracking pushable tasks\nonly makes sense on SMP systems.\n\nSigned-off-by: Dario Faggioli \u003craistlin@linux.it\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1291143093.2697.298.camel@Palantir\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f26f9aff6aaf67e9a430d16c266f91b13a5bff64",
      "tree": "84e39b539b42655dbae6b80acbe14e10772711fe",
      "parents": [
        "0f004f5a696a9434b7214d0d3cbd0525ee77d428"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Dec 08 11:05:42 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:15:06 2010 +0100"
      },
      "message": "Sched: fix skip_clock_update optimization\n\nidle_balance() drops/retakes rq-\u003elock, leaving the previous task\nvulnerable to set_tsk_need_resched().  Clear it after we return\nfrom balancing instead, and in setup_thread_stack() as well, so\nno successfully descheduled or never scheduled task has it set.\n\nNeed resched confused the skip_clock_update logic, which assumes\nthat the next call to update_rq_clock() will come nearly immediately\nafter being set.  Make the optimization robust against the waking\na sleeper before it sucessfully deschedules case by checking that\nthe current task has not been dequeued before setting the flag,\nsince it is that useless clock update we\u0027re trying to save, and\nclear unconditionally in schedule() proper instead of conditionally\nin put_prev_task().\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReported-by: Bjoern B. Brandenburg \u003cbbb.lst@gmail.com\u003e\nTested-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c1291802742.1417.9.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f004f5a696a9434b7214d0d3cbd0525ee77d428",
      "tree": "274b3bb92469789284d864314d46e902c70e8384",
      "parents": [
        "6313e3c21743cc88bb5bd8aa72948ee1e83937b6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 30 19:48:45 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:15:04 2010 +0100"
      },
      "message": "sched: Cure more NO_HZ load average woes\n\nThere\u0027s a long-running regression that proved difficult to fix and\nwhich is hitting certain people and is rather annoying in its effects.\n\nDamien reported that after 74f5187ac8 (sched: Cure load average vs\nNO_HZ woes) his load average is unnaturally high, he also noted that\neven with that patch reverted the load avgerage numbers are not\ncorrect.\n\nThe problem is that the previous patch only solved half the NO_HZ\nproblem, it addressed the part of going into NO_HZ mode, not of\ncomming out of NO_HZ mode. This patch implements that missing half.\n\nWhen comming out of NO_HZ mode there are two important things to take\ncare of:\n\n - Folding the pending idle delta into the global active count.\n - Correctly aging the averages for the idle-duration.\n\nSo with this patch the NO_HZ interaction should be complete and\nbehaviour between CONFIG_NO_HZ\u003d[yn] should be equivalent.\n\nFurthermore, this patch slightly changes the load average computation\nby adding a rounding term to the fixed point multiplication.\n\nReported-by: Damien Wyart \u003cdamien.wyart@free.fr\u003e\nReported-by: Tim McGrath \u003ctmhikaru@gmail.com\u003e\nTested-by: Damien Wyart \u003cdamien.wyart@free.fr\u003e\nTested-by: Orion Poplawski \u003corion@cora.nwra.com\u003e\nTested-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nCc: Chase Douglas \u003cchase.douglas@canonical.com\u003e\nLKML-Reference: \u003c1291129145.32004.874.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5091faa449ee0b7d73bc296a93bca9540fc51d0a",
      "tree": "55f5e96e189af65c85c769fce48627b8a5abb86b",
      "parents": [
        "822bc180a7f7a7bc5fcaaea195f41b487cc8cae8"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Nov 30 14:18:03 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 30 16:03:35 2010 +0100"
      },
      "message": "sched: Add \u0027autogroup\u0027 scheduling feature: automated per session task groups\n\nA recurring complaint from CFS users is that parallel kbuild has\na negative impact on desktop interactivity.  This patch\nimplements an idea from Linus, to automatically create task\ngroups.  Currently, only per session autogroups are implemented,\nbut the patch leaves the way open for enhancement.\n\nImplementation: each task\u0027s signal struct contains an inherited\npointer to a refcounted autogroup struct containing a task group\npointer, the default for all tasks pointing to the\ninit_task_group.  When a task calls setsid(), a new task group\nis created, the process is moved into the new task group, and a\nreference to the preveious task group is dropped.  Child\nprocesses inherit this task group thereafter, and increase it\u0027s\nrefcount.  When the last thread of a process exits, the\nprocess\u0027s reference is dropped, such that when the last process\nreferencing an autogroup exits, the autogroup is destroyed.\n\nAt runqueue selection time, IFF a task has no cgroup assignment,\nits current autogroup is used.\n\nAutogroup bandwidth is controllable via setting it\u0027s nice level\nthrough the proc filesystem:\n\n  cat /proc/\u003cpid\u003e/autogroup\n\nDisplays the task\u0027s group and the group\u0027s nice level.\n\n  echo \u003cnice level\u003e \u003e /proc/\u003cpid\u003e/autogroup\n\nSets the task group\u0027s shares to the weight of nice \u003clevel\u003e task.\nSetting nice level is rate limited for !admin users due to the\nabuse risk of task group locking.\n\nThe feature is enabled from boot by default if\nCONFIG_SCHED_AUTOGROUP\u003dy is selected, but can be disabled via\nthe boot option noautogroup, and can also be turned on/off on\nthe fly via:\n\n  echo [01] \u003e /proc/sys/kernel/sched_autogroup_enabled\n\n... which will automatically move tasks to/from the root task group.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n[ Removed the task_group_path() debug code, and fixed !EVENTFD build failure. ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1290281700.28711.9.camel@maggy.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "822bc180a7f7a7bc5fcaaea195f41b487cc8cae8",
      "tree": "875bc605db4996e5e008f73fde1daf27fd49a53c",
      "parents": [
        "b7a2b39d9b7703ccf068f549c8dc3465fc41d015"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 29 16:55:40 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 30 10:07:10 2010 +0100"
      },
      "message": "sched: Fix unregister_fair_sched_group()\n\nIn the flipping and flopping between calling\nunregister_fair_sched_group() on a per-cpu versus per-group basis\nwe ended up in a bad state.\n\nRemove from the list for the passed cpu as opposed to some\narbitrary index.\n\n( This fixes explosions w/ autogroup as well as a group\n  creation/destruction stress test. )\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20101130005740.080828123@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7b27d5475f86186914e54e4a6bb994e9a985337b",
      "tree": "36349c88d75497db89956d6721d82c4f889cbc2b",
      "parents": [
        "deb7a41815a8a32d4f9ea2af7a48ed1175222cec"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Thu Oct 21 11:29:05 2010 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Nov 29 22:01:58 2010 -0800"
      },
      "message": "rcu,cleanup: move synchronize_sched_expedited() out of sched.c\n\nThe first version of synchronize_sched_expedited() used the migration\ncode in the scheduler, and was therefore implemented in kernel/sched.c.\nHowever, the more recent version of this code no longer uses the\nmigration code, so this commit moves it to the main RCU source files.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b7a2b39d9b7703ccf068f549c8dc3465fc41d015",
      "tree": "6890598daf8e4148a2a9ff085a6cac1f71b24c74",
      "parents": [
        "335d7afbfb71faac833734a94240c1e07cf0ead8"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Fri Nov 26 12:37:09 2010 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:05:36 2010 +0100"
      },
      "message": "sched: Remove unused argument dest_cpu to migrate_task()\n\nRemove unused argument, \u0027dest_cpu\u0027 of migrate_task(), and pass runqueue,\nas it is always known at the call site.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c201011261237.09187.knikanth@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "335d7afbfb71faac833734a94240c1e07cf0ead8",
      "tree": "483a24c6005af6eb25a256d92a697411d94a7458",
      "parents": [
        "22a867d81707b0a2720bb5f65255265b95d30526"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Mon Nov 22 15:47:36 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:05:34 2010 +0100"
      },
      "message": "mutexes, sched: Introduce arch_mutex_cpu_relax()\n\nThe spinning mutex implementation uses cpu_relax() in busy loops as a\ncompiler barrier. Depending on the architecture, cpu_relax() may do more\nthan needed in this specific mutex spin loops. On System z we also give\nup the time slice of the virtual cpu in cpu_relax(), which prevents\neffective spinning on the mutex.\n\nThis patch replaces cpu_relax() in the spinning mutex code with\narch_mutex_cpu_relax(), which can be defined by each architecture that\nselects HAVE_ARCH_MUTEX_CPU_RELAX. The default is still cpu_relax(), so\nthis patch should not affect other architectures than System z for now.\n\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290437256.7455.4.camel@thinkpad\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22a867d81707b0a2720bb5f65255265b95d30526",
      "tree": "7ec19b155b50b13ae95244c2bfa16aea4920c4f6",
      "parents": [
        "5bb6b1ea67a73f0665a41726dd7138977b992c6c",
        "3561d43fd289f590fdae672e5eb831b8d5cf0bf6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:03:27 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:05:21 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc3\u0027 into sched/core\n\nMerge reason: Pick up latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28d0686cf7b14e30243096bd874d3f80591ed392",
      "tree": "a5e9c1ed7dfb51049de3a725fdcb8d782d2f3ed8",
      "parents": [
        "9437178f623a19af5951808d880a8599f66ac150"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Fri Nov 19 18:08:51 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 23 10:29:07 2010 +0100"
      },
      "message": "sched: Make task dump print all 15 chars of proc comm\n\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290218934-8544-3-git-send-email-john.stultz@linaro.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9437178f623a19af5951808d880a8599f66ac150",
      "tree": "a2f315092f0b7b31cf023a82175c6cf68fd5e04c",
      "parents": [
        "d6b5591829bd348a5fbe1c428d28dea00621cdba"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:10 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:50 2010 +0100"
      },
      "message": "sched: Update tg-\u003eshares after cpu.shares write\n\nFormerly sched_group_set_shares would force a rebalance by overflowing domain\nshare sums.  Now that per-cpu averages are maintained we can set the true value\nby issuing an update_cfs_shares() following a tg-\u003eshares update.\n\nAlso initialize tg se-\u003eload to 0 for consistency since we\u0027ll now set correct\nweights on enqueue.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com?\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234938.465521344@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3b3d190ec3683d568fd2ebaead5e1ec7f97b6e37",
      "tree": "6839bc473200dcb69c5de998921684ac569ce18b",
      "parents": [
        "c66eaf619c0c7937e9ded160ae83b5a7a6b19b56"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:08 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:49 2010 +0100"
      },
      "message": "sched: Implement demand based update_cfs_load()\n\nWhen the system is busy, dilation of rq-\u003enext_balance makes lb-\u003eupdate_shares()\ninsufficiently frequent for threads which don\u0027t sleep (no dequeue/enqueue\nupdates).  Adjust for this by making demand based updates based on the\naccumulation of execution time sufficient to wrap our averaging window.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234938.291159744@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e33078baa4d30ad1d0e46d1f62b9e5a63a3e6ee3",
      "tree": "13d1a075c9cd41ce666cf21b0b209bd3d121f566",
      "parents": [
        "f0d7442a5924a802b66eef79b3708f77297bfb35"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:04 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:48 2010 +0100"
      },
      "message": "sched: Fix update_cfs_load() synchronization\n\nUsing cfs_rq-\u003enr_running is not sufficient to synchronize update_cfs_load with\nthe put path since nr_running accounting occurs at deactivation.\n\nIt\u0027s also not safe to make the removal decision based on load_avg as this fails\nwith both high periods and low shares.  Resolve this by clipping history after\n4 periods without activity.\n\nNote: the above will always occur from update_shares() since in the\nlast-task-sleep-case that task will still be cfs_rq-\u003ecurr when update_cfs_load\nis called.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.933428187@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e3081ca61147b29f52fddb4f7c6b6b82ea5eb7a",
      "tree": "74ec7a4f3e544ed64afb6cb7abe6322ca700d19a",
      "parents": [
        "3d4b47b4b040c9d77dd68104cfc1055d89a55afd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 15 15:47:02 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:47 2010 +0100"
      },
      "message": "sched: Make tg_shares_up() walk on-demand\n\nMake tg_shares_up() use the active cgroup list, this means we cannot\ndo a strict bottom-up walk of the hierarchy, but assuming its a very\nwide tree with a small number of active groups it should be a win.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.754159484@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3d4b47b4b040c9d77dd68104cfc1055d89a55afd",
      "tree": "a4b39b5d7c89a319b81543c1b26778d6220e772b",
      "parents": [
        "2069dd75c7d0f49355939e5586daf5a9ab216db7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 15 15:47:01 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:47 2010 +0100"
      },
      "message": "sched: Implement on-demand (active) cfs_rq list\n\nMake certain load-balance actions scale per number of active cgroups\ninstead of the number of existing cgroups.\n\nThis makes wakeup/sleep paths more expensive, but is a win for systems\nwhere the vast majority of existing cgroups are idle.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.666535048@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2069dd75c7d0f49355939e5586daf5a9ab216db7",
      "tree": "c221747420e47b194a2a634024438a55420224d5",
      "parents": [
        "48c5ccae88dcd989d9de507e8510313c6cbd352b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 15 15:47:00 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:46 2010 +0100"
      },
      "message": "sched: Rewrite tg_shares_up)\n\nBy tracking a per-cpu load-avg for each cfs_rq and folding it into a\nglobal task_group load on each tick we can rework tg_shares_up to be\nstrictly per-cpu.\n\nThis should improve cpu-cgroup performance for smp systems\nsignificantly.\n\n[ Paul: changed to use queueing cfs_rq + bug fixes ]\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.580480400@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48c5ccae88dcd989d9de507e8510313c6cbd352b",
      "tree": "06fe8ce2ac28e9f5844de8bc32ecbef97e40d68b",
      "parents": [
        "92fd4d4d67b945c0766416284d4ab236b31542c4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 13 19:32:29 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:46 2010 +0100"
      },
      "message": "sched: Simplify cpu-hot-unplug task migration\n\nWhile discussing the need for sched_idle_next(), Oleg remarked that\nsince try_to_wake_up() ensures sleeping tasks will end up running on a\nsane cpu, we can do away with migrate_live_tasks().\n\nIf we then extend the existing hack of migrating current from\nCPU_DYING to migrating the full rq worth of tasks from CPU_DYING, the\nneed for the sched_idle_next() abomination disappears as well, since\nidle will be the only possible thread left after the migration thread\nstops.\n\nThis greatly simplifies the hot-unplug task migration path, as can be\nseen from the resulting code reduction (and about half the new lines\nare comments).\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1289851597.2109.547.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92fd4d4d67b945c0766416284d4ab236b31542c4",
      "tree": "00b8b5f90748f752ccaba3dddbe271091d93543a",
      "parents": [
        "fe7de49f9d4e53f24ec9ef762a503f70b562341c",
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:22:14 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:22:26 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc2\u0027 into sched/core\n\nMerge reason: Move to a .37-rc base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1e5a74059f9059d330744eac84873b1b99657008",
      "tree": "f32f8ac76d5a6c49c1b4cd8f83155af00007fac0",
      "parents": [
        "2d46709082c062cae7cce1a15f8cd4cd81b92d88"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Oct 31 12:37:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 11 14:37:23 2010 +0100"
      },
      "message": "sched: Fix cross-sched-class wakeup preemption\n\nInstead of dealing with sched classes inside each check_preempt_curr()\nimplementation, pull out this logic into the generic wakeup preemption\npath.\n\nThis fixes a hang in KVM (and others) where we are waiting for the\nstop machine thread to run ...\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nTested-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nTested-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1288891946.2039.31.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aae6d3ddd8b90f5b2c8d79a2b914d1706d124193",
      "tree": "b993f929f4b1cc38ef01094ff4504eaf358adb31",
      "parents": [
        "f6614b7bb405a9b35dd28baea989a749492c46b2"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Fri Sep 17 15:02:32 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 10 23:13:56 2010 +0100"
      },
      "message": "sched: Use group weight, idle cpu metrics to fix imbalances during idle\n\nCurrently we consider a sched domain to be well balanced when the imbalance\nis less than the domain\u0027s imablance_pct. As the number of cores and threads\nare increasing, current values of imbalance_pct (for example 25% for a\nNUMA domain) are not enough to detect imbalances like:\n\na) On a WSM-EP system (two sockets, each having 6 cores and 12 logical threads),\n24 cpu-hogging tasks get scheduled as 13 on one socket and 11 on another\nsocket. Leading to an idle HT cpu.\n\nb) On a hypothetial 2 socket NHM-EX system (each socket having 8 cores and\n16 logical threads), 16 cpu-hogging tasks can get scheduled as 9 on one\nsocket and 7 on another socket. Leaving one core in a socket idle\nwhereas in another socket we have a core having both its HT siblings busy.\n\nWhile this issue can be fixed by decreasing the domain\u0027s imbalance_pct\n(by making it a function of number of logical cpus in the domain), it\ncan potentially cause more task migrations across sched groups in an\noverloaded case.\n\nFix this by using imbalance_pct only during newly_idle and busy\nload balancing. And during idle load balancing, check if there\nis an imbalance in number of idle cpu\u0027s across the busiest and this\nsched_group or if the busiest group has more tasks than its weight that\nthe idle cpu in this_group can pull.\n\nReported-by: Nikhil Rao \u003cncrao@google.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1284760952.2676.11.camel@sbsiddha-MOBL3.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "37542b6a7e73e81f8c066a48e6911e476ee3b22f",
      "tree": "39da99d28803b18c223eebe45c3170992ee08b7e",
      "parents": [
        "c07724e5b868c603f2a65f3855c77b23454db3ed",
        "d4a6f3c32c39132318454e77d59ab14b06f6eb02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 08:05:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 08:05:33 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched_stat: Update sched_info_queue/dequeue() code comments\n  sched, cgroup: Fixup broken cgroup movement\n"
    },
    {
      "commit": "fe7de49f9d4e53f24ec9ef762a503f70b562341c",
      "tree": "766b012c7199f12625bc909748175d9e37b0b87d",
      "parents": [
        "d4429f608abde89e8bc1e24b43cd503feb95c496"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Oct 20 16:01:12 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 23 17:56:48 2010 +0200"
      },
      "message": "sched: Make sched_param argument static in sched_setscheduler() callers\n\nAndrew Morton pointed out almost all sched_setscheduler() callers are\nusing fixed parameters and can be converted to static.  It reduces runtime\nmemory use a little.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b2b5ce022acf5e9f52f7b78c5579994fdde191d4",
      "tree": "15e7d1742b530cdbe7b0734378e7f043b9a5faac",
      "parents": [
        "b7dadc38797584f6203386da1947ed5edf516646"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 15 15:24:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 22 14:16:45 2010 +0200"
      },
      "message": "sched, cgroup: Fixup broken cgroup movement\n\nDima noticed that we fail to correct the -\u003evruntime of sleeping tasks\nwhen we move them between cgroups.\n\nReported-by: Dima Zavin \u003cdima@android.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c1287150604.29097.1513.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bc4016f48161454a9a8e5eb209b0693c6cde9f62",
      "tree": "f470f5d711e975b152eec90282f5dd30a1d5dba5",
      "parents": [
        "5d70f79b5ef6ea2de4f72a37b2d96e2601e40a22",
        "b7dadc38797584f6203386da1947ed5edf516646"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:55:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:55:43 2010 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (29 commits)\n  sched: Export account_system_vtime()\n  sched: Call tick_check_idle before __irq_enter\n  sched: Remove irq time from available CPU power\n  sched: Do not account irq time to current task\n  x86: Add IRQ_TIME_ACCOUNTING\n  sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time\n  sched: Add a PF flag for ksoftirqd identification\n  sched: Consolidate account_system_vtime extern declaration\n  sched: Fix softirq time accounting\n  sched: Drop group_capacity to 1 only if local group has extra capacity\n  sched: Force balancing on newidle balance if local group has capacity\n  sched: Set group_imb only a task can be pulled from the busiest cpu\n  sched: Do not consider SCHED_IDLE tasks to be cache hot\n  sched: Drop all load weight manipulation for RT tasks\n  sched: Create special class for stop/migrate work\n  sched: Unindent labels\n  sched: Comment updates: fix default latency and granularity numbers\n  tracing/sched: Add sched_pi_setprio tracepoint\n  sched: Give CPU bound RT tasks preference\n  sched: Try not to migrate higher priority RT tasks\n  ...\n"
    },
    {
      "commit": "5d70f79b5ef6ea2de4f72a37b2d96e2601e40a22",
      "tree": "a0d6de0930ba83ecf4629c2e2e261f5eaa2d8f33",
      "parents": [
        "888a6f77e0418b049f83d37547c209b904d30af4",
        "750ed158bf6c782d2813da1bca2c824365a0b777"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:49 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (163 commits)\n  tracing: Fix compile issue for trace_sched_wakeup.c\n  [S390] hardirq: remove pointless header file includes\n  [IA64] Move local_softirq_pending() definition\n  perf, powerpc: Fix power_pmu_event_init to not use event-\u003ectx\n  ftrace: Remove recursion between recordmcount and scripts/mod/empty\n  jump_label: Add COND_STMT(), reducer wrappery\n  perf: Optimize sw events\n  perf: Use jump_labels to optimize the scheduler hooks\n  jump_label: Add atomic_t interface\n  jump_label: Use more consistent naming\n  perf, hw_breakpoint: Fix crash in hw_breakpoint creation\n  perf: Find task before event alloc\n  perf: Fix task refcount bugs\n  perf: Fix group moving\n  irq_work: Add generic hardirq context callbacks\n  perf_events: Fix transaction recovery in group_sched_in()\n  perf_events: Fix bogus AMD64 generic TLB events\n  perf_events: Fix bogus context time tracking\n  tracing: Remove parent recording in latency tracer graph options\n  tracing: Use one prologue for the preempt irqs off tracer function tracers\n  ...\n"
    },
    {
      "commit": "888a6f77e0418b049f83d37547c209b904d30af4",
      "tree": "42cdb9f781d2177e6b380e69a66a27ec7705f51f",
      "parents": [
        "31b7eab27a314b153d8fa07ba9e9ec00a98141e1",
        "6506cf6ce68d78a5470a8360c965dafe8e4b78e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:12 2010 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (52 commits)\n  sched: fix RCU lockdep splat from task_group()\n  rcu: using ACCESS_ONCE() to observe the jiffies_stall/rnp-\u003eqsmask value\n  sched: suppress RCU lockdep splat in task_fork_fair\n  net: suppress RCU lockdep false positive in sock_update_classid\n  rcu: move check from rcu_dereference_bh to rcu_read_lock_bh_held\n  rcu: Add advice to PROVE_RCU_REPEATEDLY kernel config parameter\n  rcu: Add tracing data to support queueing models\n  rcu: fix sparse errors in rcutorture.c\n  rcu: only one evaluation of arg in rcu_dereference_check() unless sparse\n  kernel: Remove undead ifdef CONFIG_DEBUG_LOCK_ALLOC\n  rcu: fix _oddness handling of verbose stall warnings\n  rcu: performance fixes to TINY_PREEMPT_RCU callback checking\n  rcu: upgrade stallwarn.txt documentation for CPU-bound RT processes\n  vhost: add __rcu annotations\n  rcu: add comment stating that list_empty() applies to RCU-protected lists\n  rcu: apply TINY_PREEMPT_RCU read-side speedup to TREE_PREEMPT_RCU\n  rcu: combine duplicate code, courtesy of CONFIG_PREEMPT_RCU\n  rcu: Upgrade srcu_read_lock() docbook about SRCU grace periods\n  rcu: document ways of stalling updates in low-memory situations\n  rcu: repair code-duplication FIXMEs\n  ...\n"
    },
    {
      "commit": "b0ae19811375031ae3b3fecc65b702a9c6e5cc28",
      "tree": "a765b71155fbed1ed3a3cff35c1044ad49a002ae",
      "parents": [
        "9b3056cca09529d34af2d81305b2a9c6b622ca1b"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Oct 15 04:21:18 2010 +0900"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Oct 21 10:12:44 2010 +1100"
      },
      "message": "security: remove unused parameter from security_task_setscheduler()\n\nAll security modules shouldn\u0027t change sched_param parameter of\nsecurity_task_setscheduler().  This is not only meaningless, but also\nmake a harmful result if caller pass a static variable.\n\nThis patch remove policy and sched_param parameter from\nsecurity_task_setscheduler() becuase none of security module is\nusing it.\n\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b7dadc38797584f6203386da1947ed5edf516646",
      "tree": "7598dbfaa7b2515da697c740c87d0a98e950b8c7",
      "parents": [
        "d267f87fb8179c6dba03d08b91952e81bc3723c7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:00:37 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:30 2010 +0200"
      },
      "message": "sched: Export account_system_vtime()\n\nKVM uses it for example:\n\n ERROR: \"account_system_vtime\" [arch/x86/kvm/kvm.ko] undefined!\n\nCc: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-3-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d267f87fb8179c6dba03d08b91952e81bc3723c7",
      "tree": "ddcd2f7429964367fcb4ab1dd230a970452d72da",
      "parents": [
        "aa483808516ca5cacfa0e5849691f64fec25828e"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon Oct 04 17:03:23 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:29 2010 +0200"
      },
      "message": "sched: Call tick_check_idle before __irq_enter\n\nWhen CPU is idle and on first interrupt, irq_enter calls tick_check_idle()\nto notify interruption from idle. But, there is a problem if this call\nis done after __irq_enter, as all routines in __irq_enter may find\nstale time due to yet to be done tick_check_idle.\n\nSpecifically, trace calls in __irq_enter when they use global clock and also\naccount_system_vtime change in this patch as it wants to use sched_clock_cpu()\nto do proper irq timing.\n\nBut, tick_check_idle was moved after __irq_enter intentionally to\nprevent problem of unneeded ksoftirqd wakeups by the commit ee5f80a:\n\n    irq: call __irq_enter() before calling the tick_idle_check\n    Impact: avoid spurious ksoftirqd wakeups\n\nMoving tick_check_idle() before __irq_enter and wrapping it with\nlocal_bh_enable/disable would solve both the problems.\n\nFixed-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-9-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa483808516ca5cacfa0e5849691f64fec25828e",
      "tree": "38a1d9f1cb1157bd68dc2475447bacbb4b63c64a",
      "parents": [
        "305e6835e05513406fa12820e40e4a8ecb63743c"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon Oct 04 17:03:22 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:27 2010 +0200"
      },
      "message": "sched: Remove irq time from available CPU power\n\nThe idea was suggested by Peter Zijlstra here:\n\n  http://marc.info/?l\u003dlinux-kernel\u0026m\u003d127476934517534\u0026w\u003d2\n\nirq time is technically not available to the tasks running on the CPU.\nThis patch removes irq time from CPU power piggybacking on\nsched_rt_avg_update().\n\nTested this by keeping CPU X busy with a network intensive task having 75%\noa a single CPU irq processing (hard+soft) on a 4-way system. And start seven\ncycle soakers on the system. Without this change, there will be two tasks on\neach CPU. With this change, there is a single task on irq busy CPU X and\nremaining 7 tasks are spread around among other 3 CPUs.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-8-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "305e6835e05513406fa12820e40e4a8ecb63743c",
      "tree": "8b43703e27d26f4a7e743a99459e0b465cd1e5e1",
      "parents": [
        "e82b8e4ea4f3dffe6e7939f90e78da675fcc450e"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon Oct 04 17:03:21 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:26 2010 +0200"
      },
      "message": "sched: Do not account irq time to current task\n\nScheduler accounts both softirq and interrupt processing times to the\ncurrently running task. This means, if the interrupt processing was\nfor some other task in the system, then the current task ends up being\npenalized as it gets shorter runtime than otherwise.\n\nChange sched task accounting to acoount only actual task time from\ncurrently running task. Now update_curr(), modifies the delta_exec to\ndepend on rq-\u003eclock_task.\n\nNote that this change only handles CONFIG_IRQ_TIME_ACCOUNTING case. We can\nextend this to CONFIG_VIRT_CPU_ACCOUNTING with minimal effort. But, thats\nfor later.\n\nThis change will impact scheduling behavior in interrupt heavy conditions.\n\nTested on a 4-way system with eth0 handled by CPU 2 and a network heavy\ntask (nc) running on CPU 3 (and no RSS/RFS). With that I have CPU 2\nspending 75%+ of its time in irq processing. CPU 3 spending around 35%\ntime running nc task.\n\nNow, if I run another CPU intensive task on CPU 2, without this change\n/proc/\u003cpid\u003e/schedstat shows 100% of time accounted to this task. With this\nchange, it rightly shows less than 25% accounted to this task as remaining\ntime is actually spent on irq processing.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-7-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b52bfee445d315549d41eacf2fa7c156e7d153d5",
      "tree": "740f3aa24e2afad42772a662ceb460c555003c0f",
      "parents": [
        "6cdd5199daf0cb7b0fcc8dca941af08492612887"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon Oct 04 17:03:19 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:24 2010 +0200"
      },
      "message": "sched: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time\n\ns390/powerpc/ia64 have support for CONFIG_VIRT_CPU_ACCOUNTING which does\nthe fine granularity accounting of user, system, hardirq, softirq times.\nAdding that option on archs like x86 will be challenging however, given the\nstate of TSC reliability on various platforms and also the overhead it will\nadd in syscall entry exit.\n\nInstead, add a lighter variant that only does finer accounting of\nhardirq and softirq times, providing precise irq times (instead of timer tick\nbased samples). This accounting is added with a new config option\nCONFIG_IRQ_TIME_ACCOUNTING so that there won\u0027t be any overhead for users not\ninterested in paying the perf penalty.\n\nThis accounting is based on sched_clock, with the code being generic.\nSo, other archs may find it useful as well.\n\nThis patch just adds the core logic and does not enable this logic yet.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-5-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "75e1056f5c57050415b64cb761a3acc35d91f013",
      "tree": "e7cd483e38f9bf9131a3b212301a009890b8de49",
      "parents": [
        "75dd321d79d495a0ee579e6249ebc38ddbb2667f"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon Oct 04 17:03:16 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:20 2010 +0200"
      },
      "message": "sched: Fix softirq time accounting\n\nPeter Zijlstra found a bug in the way softirq time is accounted in\nVIRT_CPU_ACCOUNTING on this thread:\n\n   http://lkml.indiana.edu/hypermail//linux/kernel/1009.2/01366.html\n\nThe problem is, softirq processing uses local_bh_disable internally. There\nis no way, later in the flow, to differentiate between whether softirq is\nbeing processed or is it just that bh has been disabled. So, a hardirq when bh\nis disabled results in time being wrongly accounted as softirq.\n\nLooking at the code a bit more, the problem exists in !VIRT_CPU_ACCOUNTING\nas well. As account_system_time() in normal tick based accouting also uses\nsoftirq_count, which will be set even when not in softirq with bh disabled.\n\nPeter also suggested solution of using 2*SOFTIRQ_OFFSET as irq count\nfor local_bh_{disable,enable} and using just SOFTIRQ_OFFSET while softirq\nprocessing. The patch below does that and adds API in_serving_softirq() which\nreturns whether we are currently processing softirq or not.\n\nAlso changes one of the usages of softirq_count in net/sched/cls_cgroup.c\nto in_serving_softirq.\n\nLooks like many usages of in_softirq really want in_serving_softirq. Those\nchanges can be made individually on a case by case basis.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286237003-12406-2-git-send-email-venki@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef8002f6848236de5adc613063ebeabddea8a6fb",
      "tree": "3fd3411b2727e2ed784f6ab3fd3485c4527714c1",
      "parents": [
        "17bdcf949d03306b308c5fb694849cd35f119807"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Wed Oct 13 12:09:35 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 20:52:15 2010 +0200"
      },
      "message": "sched: Do not consider SCHED_IDLE tasks to be cache hot\n\nThis patch adds a check in task_hot to return if the task has SCHED_IDLE\npolicy. SCHED_IDLE tasks have very low weight, and when run with regular\nworkloads, are typically scheduled many milliseconds apart. There is no\nneed to consider these tasks hot for load balancing.\n\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1287173550-30365-2-git-send-email-ncrao@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "17bdcf949d03306b308c5fb694849cd35f119807",
      "tree": "5a84fcb6e691fb17b4c723fd8429e3ff2ce767e2",
      "parents": [
        "34f971f6f7988be4d014eec3e3526bee6d007ffa"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Mon Oct 11 16:36:51 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 18:41:59 2010 +0200"
      },
      "message": "sched: Drop all load weight manipulation for RT tasks\n\nLoad weights are for the CFS, they do not belong in the RT task. This makes all\nRT scheduling classes leave the CFS weights alone.\n\nThis fixes a real bug as well: I noticed the following phonomena: a process\nelevated to SCHED_RR forks with SCHED_RESET_ON_FORK set, and the child is\nindeed SCHED_OTHER, and the niceval is indeed reset to 0. However the weight\ninserted by set_load_weight() remains at 0, giving the task insignificat\npriority.\n\nWith this fix, the weight is reset to what the task had before being elevated\nto SCHED_RR/SCHED_FIFO.\n\nCc: Lennart Poettering \u003clennart@poettering.net\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1286807811-10568-1-git-send-email-linus.walleij@stericsson.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34f971f6f7988be4d014eec3e3526bee6d007ffa",
      "tree": "a662e0701f81f019418b55aa1354f833277b9c40",
      "parents": [
        "4924627423d5e286136ad2520f5be536345ae590"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Sep 22 13:53:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 18:41:58 2010 +0200"
      },
      "message": "sched: Create special class for stop/migrate work\n\nIn order to separate the stop/migrate work thread from the SCHED_FIFO\nimplementation, create a special class for it that is of higher priority than\nSCHED_FIFO itself.\n\nThis currently solves a problem where cpu-hotplug consumes so much cpu-time\nthat the SCHED_FIFO class gets throttled, but has the bandwidth replenishment\ntimer pending on the now dead cpu.\n\nIt is also required for when we add the planned deadline scheduling class above\nSCHED_FIFO, as the stop/migrate thread still needs to transcent those tasks.\n\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1285165776.2275.1022.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4924627423d5e286136ad2520f5be536345ae590",
      "tree": "0ad0151d0a359edb89d99fb5c5c1dfebd64e5a14",
      "parents": [
        "864616ee6785d9fac7a2cd80c01a2da89579f2e4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Oct 17 21:46:10 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 18:41:56 2010 +0200"
      },
      "message": "sched: Unindent labels\n\nLabels should be on column 0.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed859ed3b0f9893c6bce3708e8928341c15699b9",
      "tree": "59c507f00bc13becb4accdd64fdc01ece08b4645",
      "parents": [
        "a8027073eb127cd207070891374b5c54c2ce3d23",
        "53eeb64e808971207350386121f4bab12fa2f45f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 14 09:11:43 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 14 09:11:46 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: update from -rc5 to -almost-final\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6506cf6ce68d78a5470a8360c965dafe8e4b78e3",
      "tree": "0eefe27d016572f1def9cbc2ad042d42b8a5e74f",
      "parents": [
        "4ee0a603926cad973e4d384f48c5e279a0fd4118"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Sep 16 17:50:31 2010 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Oct 07 10:41:07 2010 -0700"
      },
      "message": "sched: fix RCU lockdep splat from task_group()\n\nThis addresses the following RCU lockdep splat:\n\n[0.051203] CPU0: AMD QEMU Virtual CPU version 0.12.4 stepping 03\n[0.052999] lockdep: fixing up alternatives.\n[0.054105]\n[0.054106] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[0.054999] [ INFO: suspicious rcu_dereference_check() usage. ]\n[0.054999] ---------------------------------------------------\n[0.054999] kernel/sched.c:616 invoked rcu_dereference_check() without protection!\n[0.054999]\n[0.054999] other info that might help us debug this:\n[0.054999]\n[0.054999]\n[0.054999] rcu_scheduler_active \u003d 1, debug_locks \u003d 1\n[0.054999] 3 locks held by swapper/1:\n[0.054999]  #0:  (cpu_add_remove_lock){+.+.+.}, at: [\u003cffffffff814be933\u003e] cpu_up+0x42/0x6a\n[0.054999]  #1:  (cpu_hotplug.lock){+.+.+.}, at: [\u003cffffffff810400d8\u003e] cpu_hotplug_begin+0x2a/0x51\n[0.054999]  #2:  (\u0026rq-\u003elock){-.-...}, at: [\u003cffffffff814be2f7\u003e] init_idle+0x2f/0x113\n[0.054999]\n[0.054999] stack backtrace:\n[0.054999] Pid: 1, comm: swapper Not tainted 2.6.35 #1\n[0.054999] Call Trace:\n[0.054999]  [\u003cffffffff81068054\u003e] lockdep_rcu_dereference+0x9b/0xa3\n[0.054999]  [\u003cffffffff810325c3\u003e] task_group+0x7b/0x8a\n[0.054999]  [\u003cffffffff810325e5\u003e] set_task_rq+0x13/0x40\n[0.054999]  [\u003cffffffff814be39a\u003e] init_idle+0xd2/0x113\n[0.054999]  [\u003cffffffff814be78a\u003e] fork_idle+0xb8/0xc7\n[0.054999]  [\u003cffffffff81068717\u003e] ? mark_held_locks+0x4d/0x6b\n[0.054999]  [\u003cffffffff814bcebd\u003e] do_fork_idle+0x17/0x2b\n[0.054999]  [\u003cffffffff814bc89b\u003e] native_cpu_up+0x1c1/0x724\n[0.054999]  [\u003cffffffff814bcea6\u003e] ? do_fork_idle+0x0/0x2b\n[0.054999]  [\u003cffffffff814be876\u003e] _cpu_up+0xac/0x127\n[0.054999]  [\u003cffffffff814be946\u003e] cpu_up+0x55/0x6a\n[0.054999]  [\u003cffffffff81ab562a\u003e] kernel_init+0xe1/0x1ff\n[0.054999]  [\u003cffffffff81003854\u003e] kernel_thread_helper+0x4/0x10\n[0.054999]  [\u003cffffffff814c353c\u003e] ? restore_args+0x0/0x30\n[0.054999]  [\u003cffffffff81ab5549\u003e] ? kernel_init+0x0/0x1ff\n[0.054999]  [\u003cffffffff81003850\u003e] ? kernel_thread_helper+0x0/0x10\n[0.056074] Booting Node   0, Processors  #1lockdep: fixing up alternatives.\n[0.130045]  #2lockdep: fixing up alternatives.\n[0.203089]  #3 Ok.\n[0.275286] Brought up 4 CPUs\n[0.276005] Total of 4 processors activated (16017.17 BogoMIPS).\n\nThe cgroup_subsys_state structures referenced by idle tasks are never\nfreed, because the idle tasks should be part of the root cgroup,\nwhich is not removable.\n\nThe problem is that while we do in-fact hold rq-\u003elock, the newly spawned\nidle thread\u0027s cpu is not yet set to the correct cpu so the lockdep check\nin task_group():\n\n  lockdep_is_held(\u0026task_rq(p)-\u003elock)\n\nwill fail.\n\nBut this is a chicken and egg problem.  Setting the CPU\u0027s runqueue requires\nthat the CPU\u0027s runqueue already be set.  ;-)\n\nSo insert an RCU read-side critical section to avoid the complaint.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "90edf27fb89241917e91155bfdcc7c8e5a587222",
      "tree": "a2d1841cfe382f426a3b6ccb306b0665ad455885",
      "parents": [
        "41945f6ccf1e86f87fddf6b32db9cf431c05fb54",
        "8b15575cae7a93a784c3005c42b069edd9ba64dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 22 18:45:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 22 18:45:01 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nConflicts:\n\tkernel/hw_breakpoint.c\n\nMerge reason: resolve the conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8027073eb127cd207070891374b5c54c2ce3d23",
      "tree": "27f5dc8effe3b5636d4bab9c890a40aa20fa44e6",
      "parents": [
        "b3bc211cfe7d5fe94b310480d78e00bea96fbf2a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Sep 20 15:13:34 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Sep 21 10:56:41 2010 -0400"
      },
      "message": "tracing/sched: Add sched_pi_setprio tracepoint\n\nAdd a tracepoint that shows the priority of a task being boosted\nvia priority inheritance.\n\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cf84fd96323633be7d437e1de4505fc82ff2c11a",
      "tree": "094b7a7421945c9ea244f3605378065935f1c100",
      "parents": [
        "31915ab4cbf507aadab40847cf9989da5e88b090",
        "b30a3f6257ed2105259b404d419b4964e363928c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 21 13:56:43 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 21 13:56:49 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.36-rc5\u0027 into sched/core\n\nMerge reason: Pick up the latest fixes in -rc5.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9d2b064149ff7ef4acbc65a1b9374ac8b218d3e",
      "tree": "6ce885c6052a6e05046b9937376107e4bcf378fe",
      "parents": [
        "917bdd1c9b7b0f4c22f2504c2f0c1074c8ab9df7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 17 11:28:50 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 17 12:48:48 2010 +0200"
      },
      "message": "perf: Undo the per cpu-context timer stuff\n\nRevert the timer per cpu-context timers because of unfortunate\nnohz interaction. Fixing that would have been somewhat ugly, so\ngo back to driving things from the regular tick. Provide a\njiffies interval feature for people who want slower rotations.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c20100917093009.519845633@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31915ab4cbf507aadab40847cf9989da5e88b090",
      "tree": "48f7f64cbfd82ee88cece1384e6eb949ef2cbed0",
      "parents": [
        "7740191cd909b75d75685fb08a5d1f54b8a9d28b"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Sep 16 14:42:25 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 16 16:38:34 2010 +0200"
      },
      "message": "sched: Remove branch hints within context_switch()\n\nWith 710390d9 \"sched: Optimize branch hint in context_switch()\"\nthe branch hint logic within context_switch() got inversed.\n\nIn fact the hints \"if (likely(!mm))\" and \"if (likely(!prev-\u003emm))\"\nmean that it is likely that the previous and next task are kernel\nthreads.\n\nThat assumption is certainly counter intuitive, but Tim has shown\nthat at least with his workload this is true. Nevertheless the\ntruth is: it depends on the current workload. So just remove the\nannotations which also improves readability.\n\nReported-by: Tim Blechmann \u003ctim@klingt.org\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20100916124225.GA2209@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e75e863dd5c7d96b91ebbd241da5328fc38a78cc",
      "tree": "b7b67512b6b610c8ee90149c9b48dbaeeb1e4910",
      "parents": [
        "9c03f1622af051004416dd3e24d8a0fa31e34178"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Tue Sep 14 16:35:14 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:41:36 2010 +0200"
      },
      "message": "sched: Fix user time incorrectly accounted as system time on 32-bit\n\nWe have 32-bit variable overflow possibility when multiply in\ntask_times() and thread_group_times() functions. When the\noverflow happens then the scaled utime value becomes erroneously\nsmall and the scaled stime becomes i erroneously big.\n\nReported here:\n\n https://bugzilla.redhat.com/show_bug.cgi?id\u003d633037\n https://bugzilla.kernel.org/show_bug.cgi?id\u003d16559\n\nReported-by: Michael Chapman \u003credhat-bugzilla@very.puzzling.org\u003e\nReported-by: Ciriaco Garcia de Celis \u003csysman@etherpilot.com\u003e\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e  # 2.6.32.19+ (partially) and 2.6.33+\nLKML-Reference: \u003c20100914143513.GB8415@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3aabae7d9dfaed60effe93662f02c19bafc18537",
      "tree": "af94cdd69add07601d9f3f5988dfc1dc255e3886",
      "parents": [
        "79e406d7b00ab2b261ae32a59f266fd3b7af6f29",
        "57c072c7113f54f9512624d6c665db6184448782"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:27:31 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:27:31 2010 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "7740191cd909b75d75685fb08a5d1f54b8a9d28b",
      "tree": "6a45de73bc9958d46b638d9e031a2be85568f0a4",
      "parents": [
        "637bbdc5b83615ef9f45f50399d1c7f27473c713"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@efficios.com",
        "time": "Mon Sep 13 17:47:00 2010 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 14 13:23:45 2010 +0200"
      },
      "message": "sched: Fix string comparison in /proc/sched_features\n\nFix incorrect handling of the following case:\n\n INTERACTIVE\n INTERACTIVE_SOMETHING_ELSE\n\nThe comparison only checks up to each element\u0027s length.\n\nChangelog since v1:\n - Embellish using some Rostedtisms.\n  [ mingo:                 ^^ \u003d\u003d smaller and cleaner ]\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nReviewed-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Tony Lindgren \u003ctony@atomide.com\u003e\nLKML-Reference: \u003c20100913214700.GB16118@Krystal\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5ab4cd563e7ab49b27957704112a8ecade54e1f",
      "tree": "a5d1194e001a1203c679e1f0014d3b40118a725d",
      "parents": [
        "b28ab83c595e767f2028276b7398d17f2253cec0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 06 16:32:21 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:32 2010 +0200"
      },
      "message": "perf: Per cpu-context rotation timer\n\nGive each cpu-context its own timer so that it is a self contained\nentity, this eases the way for per-pmu-per-cpu contexts as well as\nprovides the basic infrastructure to allow different rotation\ntimes per pmu.\n\nThings to look at:\n - folding the tick and these TICK_NSEC timers\n - separate task context rotation\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "01a08546af311c065f34727787dd0cc8dc0c216f",
      "tree": "759d8898d8714b587985433a189070497081828f",
      "parents": [
        "f269893c575167447cc9f6d1867e639fb5b6f0c5"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Aug 31 10:28:16 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:41:20 2010 +0200"
      },
      "message": "sched: Add book scheduling domain\n\nOn top of the SMT and MC scheduling domains this adds the BOOK scheduling\ndomain. This is useful for NUMA like machines which do not have an interface\nwhich tells which piece of memory is attached to which node or where the\nhardware performs striping.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100831082844.253053798@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f269893c575167447cc9f6d1867e639fb5b6f0c5",
      "tree": "948004a5365c688573fd5513160a1500f22f5131",
      "parents": [
        "ed2d372c0738386b8a184a6a6bea9c16df6ffb68"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Aug 31 10:28:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:41:18 2010 +0200"
      },
      "message": "sched: Merge cpu_to_core_group functions\n\nMerge and simplify the two cpu_to_core_group variants so that the\nresulting function follows the same pattern like cpu_to_phys_group.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100831082843.953617555@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "da2b71edd8a7db44fe1746261410a981f3e03632",
      "tree": "4c84c8761590138cffb244eb54fb29263175a6cd",
      "parents": [
        "d56557af19867edb8c0e96f8e26399698a08857f"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Aug 23 13:42:51 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:39:33 2010 +0200"
      },
      "message": "sched: Move sched_avg_update() to update_cpu_load()\n\nCurrently sched_avg_update() (which updates rt_avg stats in the rq)\nis getting called from scale_rt_power() (in the load balance context)\nwhich doesn\u0027t take rq-\u003elock.\n\nFix it by moving the sched_avg_update() to more appropriate\nupdate_cpu_load() where the CFS load gets updated as well.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1282596171.2694.3.camel@sbsiddha-MOBL3\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed2d372c0738386b8a184a6a6bea9c16df6ffb68",
      "tree": "3b32a39f8bfe4bebcb5f05a6c03e433a1638b39d",
      "parents": [
        "2bfc96a127bc1cc94d26bfaa40159966064f9c8c"
      ],
      "author": {
        "name": "Christian Dietrich",
        "email": "qy03fugy@stud.informatik.uni-erlangen.de",
        "time": "Mon Sep 06 16:37:05 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 08 08:14:20 2010 +0200"
      },
      "message": "sched: Remove unnecessary #ifdef CONFIG_SMP\n\nThe CONFIG_SMP ifdef isn\u0027t necessary at this point, because it\nis checked in an outer ifdef level already and has no effect\nhere.\n\nCleanup only, no functional effect.\n\nSigned-off-by: Christian Dietrich \u003cqy03fugy@stud.informatik.uni-erlangen.de\u003e\nCc: vamos-dev@i4.informatik.uni-erlangen.de\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nLKML-Reference: \u003c7a3a39ef3f765a4473cb026b1f204059568a7098.1283782701.git.qy03fugy@stud.informatik.uni-erlangen.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9d0f4dcc5c4d1c5dd01172172684a45b5f49d740",
      "tree": "e24eb28059f983284c29851e0598667cd428e2a1",
      "parents": [
        "763008c4357b73c8d18396dfd8d79dc58fa3f99d"
      ],
      "author": {
        "name": "Tim Chen",
        "email": "tim.c.chen@linux.intel.com",
        "time": "Wed Aug 18 15:00:27 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 23 10:56:27 2010 +0200"
      },
      "message": "mutex: Improve the scalability of optimistic spinning\n\nThere is a scalability issue for current implementation of optimistic\nmutex spin in the kernel.  It is found on a 8 node 64 core Nehalem-EX\nsystem (HT mode).\n\nThe intention of the optimistic mutex spin is to busy wait and spin on a\nmutex if the owner of the mutex is running, in the hope that the mutex\nwill be released soon and be acquired, without the thread trying to\nacquire mutex going to sleep. However, when we have a large number of\nthreads, contending for the mutex, we could have the mutex grabbed by\nother thread, and then another ……, and we will keep spinning, wasting cpu\ncycles and adding to the contention.  One possible fix is to quit\nspinning and put the current thread on wait-list if mutex lock switch to\na new owner while we spin, indicating heavy contention (see the patch\nincluded).\n\nI did some testing on a 8 socket Nehalem-EX system with a total of 64\ncores. Using Ingo\u0027s test-mutex program that creates/delete files with 256\nthreads (http://lkml.org/lkml/2006/1/8/50) , I see the following speed up\nafter putting in the mutex spin fix:\n\n ./mutex-test V 256 10\n                 Ops/sec\n 2.6.34          62864\n With fix        197200\n\nRepeating the test with Aim7 fserver workload, again there is a speed up\nwith the fix:\n\n                 Jobs/min\n 2.6.34          91657\n With fix        149325\n\nTo look at the impact on the distribution of mutex acquisition time, I\ncollected the mutex acquisition time on Aim7 fserver workload with some\ninstrumentation.  The average acquisition time is reduced by 48% and\nnumber of contentions reduced by 32%.\n\n                 #contentions    Time to acquire mutex (cycles)\n 2.6.34          72973           44765791\n With fix        49210           23067129\n\nThe histogram of mutex acquisition time is listed below.  The acquisition\ntime is in 2^bin cycles.  We see that without the fix, the acquisition\ntime is mostly around 2^26 cycles.  With the fix, we the distribution get\nspread out a lot more towards the lower cycles, starting from 2^13.\nHowever, there is an increase of the tail distribution with the fix at\n2^28 and 2^29 cycles.  It seems a small price to pay for the reduced\naverage acquisition time and also getting the cpu to do useful work.\n\n Mutex acquisition time distribution (acq time \u003d 2^bin cycles):\n         2.6.34                  With Fix\n bin     #occurrence     %       #occurrence     %\n 11      2               0.00%   120             0.24%\n 12      10              0.01%   790             1.61%\n 13      14              0.02%   2058            4.18%\n 14      86              0.12%   3378            6.86%\n 15      393             0.54%   4831            9.82%\n 16      710             0.97%   4893            9.94%\n 17      815             1.12%   4667            9.48%\n 18      790             1.08%   5147            10.46%\n 19      580             0.80%   6250            12.70%\n 20      429             0.59%   6870            13.96%\n 21      311             0.43%   1809            3.68%\n 22      255             0.35%   2305            4.68%\n 23      317             0.44%   916             1.86%\n 24      610             0.84%   233             0.47%\n 25      3128            4.29%   95              0.19%\n 26      63902           87.69%  122             0.25%\n 27      619             0.85%   286             0.58%\n 28      0               0.00%   3536            7.19%\n 29      0               0.00%   903             1.83%\n 30      0               0.00%   0               0.00%\n\nI\u0027ve done similar experiments with 2.6.35 kernel on smaller boxes as\nwell.  One is on a dual-socket Westmere box (12 cores total, with HT).\nAnother experiment is on an old dual-socket Core 2 box (4 cores total, no\nHT)\n\nOn the 12-core Westmere box, I see a 250% increase for Ingo\u0027s mutex-test\nprogram with my mutex patch but no significant difference in aim7\u0027s\nfserver workload.\n\nOn the 4-core Core 2 box, I see the difference with the patch for both\nmutex-test and aim7 fserver are negligible.\n\nSo far, it seems like the patch has not caused regression on smaller\nsystems.\n\nSigned-off-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e # .35.x\nLKML-Reference: \u003c1282168827.9542.72.camel@schen9-DESK\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c4efd6b569b2646e1346a08a4c40286f8bcb5f11",
      "tree": "bf33e8594ac4e628cc95f2ef25513788b8273601",
      "parents": [
        "4aed2fd8e3181fea7c09ba79cf64e7e3f4413bf9",
        "0bcfe75807944106a3aa655a54bb610d62f3a7f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:39:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:39:22 2010 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)\n  sched: Use correct macro to display sched_child_runs_first in /proc/sched_debug\n  sched: No need for bootmem special cases\n  sched: Revert nohz_ratelimit() for now\n  sched: Reduce update_group_power() calls\n  sched: Update rq-\u003eclock for nohz balanced cpus\n  sched: Fix spelling of sibling\n  sched, cpuset: Drop __cpuexit from cpu hotplug callbacks\n  sched: Fix the racy usage of thread_group_cputimer() in fastpath_timer_check()\n  sched: run_posix_cpu_timers: Don\u0027t check -\u003eexit_state, use lock_task_sighand()\n  sched: thread_group_cputime: Simplify, document the \"alive\" check\n  sched: Remove the obsolete exit_state/signal hacks\n  sched: task_tick_rt: Remove the obsolete -\u003esignal !\u003d NULL check\n  sched: __sched_setscheduler: Read the RLIMIT_RTPRIO value lockless\n  sched: Fix comments to make them DocBook happy\n  sched: Fix fix_small_capacity\n  powerpc: Exclude arch_sd_sibiling_asym_packing() on UP\n  powerpc: Enable asymmetric SMT scheduling on POWER7\n  sched: Add asymmetric group packing option for sibling domain\n  sched: Fix capacity calculations for SMT4\n  sched: Change nohz idle load balancing logic to push model\n  ...\n"
    },
    {
      "commit": "0bcfe75807944106a3aa655a54bb610d62f3a7f5",
      "tree": "d48d848e09d1bf48fe7fa23e9226f38ef342eed4",
      "parents": [
        "eebef74695e1498e04e5f85be9c6f84bd2e7358a",
        "396e894d289d69bacf5acd983c97cd6e21a14c08"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 05 09:46:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 05 09:46:29 2010 +0200"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nConflicts:\n\tinclude/linux/sched.h\n\nMerge reason: Add the leftover .35 urgent bits, fix the conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dca45ad8af54963c005393a484ad117b8ba6150f",
      "tree": "7c9a6966283a6bb12b54e5680a67d203be292930",
      "parents": [
        "68c38fc3cb4e5a60f502ee9c45f3dfe70e5165ad",
        "cd5b8f8755a89a57fc8c408d284b8b613f090345"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 21 21:45:02 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 21 21:45:08 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: Move from the -rc3 to the almost-rc6 base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "68c38fc3cb4e5a60f502ee9c45f3dfe70e5165ad",
      "tree": "32293b2fd969c57032407294863c1f2ee6bf5996",
      "parents": [
        "bbc8cb5baead9607309583b20873ab0cc8d89eaf"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Jul 15 23:18:22 2010 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 17 12:06:22 2010 +0200"
      },
      "message": "sched: No need for bootmem special cases\n\nAs of commit dcce284 (\"mm: Extend gfp masking to the page\nallocator\") and commit 7e85ee0 (\"slab,slub: don\u0027t enable\ninterrupts during early boot\"), the slab allocator makes\nsure we don\u0027t attempt to sleep during boot.\n\nTherefore, remove bootmem special cases from the scheduler\nand use plain GFP_KERNEL instead.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1279225102-2572-1-git-send-email-penberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "396e894d289d69bacf5acd983c97cd6e21a14c08",
      "tree": "ec3e3ba19e332a799e1229f62663625d9c7583dd",
      "parents": [
        "f469461df6ff822f71b8737bda86eea20f16ff93"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 09 15:12:27 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 17 12:05:44 2010 +0200"
      },
      "message": "sched: Revert nohz_ratelimit() for now\n\nNorbert reported that nohz_ratelimit() causes his laptop to burn about\n4W (40%) extra. For now back out the change and see if we can adjust\nthe power management code to make better decisions.\n\nReported-by: Norbert Preining \u003cpreining@logic.at\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08f8ba07998ab1b9efcdd3f28dadf6866a605ddb",
      "tree": "8e09855446f7b0312bb729d4b539090756e57927",
      "parents": [
        "0879b100f3c187257729f36cba33d96ec2875766",
        "815c4163b6c8ebf8152f42b0a5fd015cfdcedc78"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 05 08:30:55 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 05 08:30:58 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.35-rc4\u0027 into perf/core\n\nMerge reason: Pick up the latest perf fixes\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "123f94f22e3d283dfe68742b269c245b0501ad82",
      "tree": "1d40043b0909f309cf77204ea87be9e61f143e79",
      "parents": [
        "4b78c119f0ba715b4e29b190bf4d7bce810ea0d6",
        "8c215bd3890c347dfb6a2db4779755f8b9c298a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 02 09:52:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 02 09:52:58 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Cure nr_iowait_cpu() users\n  init: Fix comment\n  init, sched: Fix race between init and kthreadd\n"
    },
    {
      "commit": "8c215bd3890c347dfb6a2db4779755f8b9c298a9",
      "tree": "e6bd5de8a028babe9ec75f744977bd1424df106c",
      "parents": [
        "9715856922bf8475f5428c29b6f4a9eebc97d391"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jul 01 09:07:17 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 01 09:39:48 2010 +0200"
      },
      "message": "sched: Cure nr_iowait_cpu() users\n\nCommit 0224cf4c5e (sched: Intoduce get_cpu_iowait_time_us())\nbroke things by not making sure preemption was indeed disabled\nby the callers of nr_iowait_cpu() which took the iowait value of\nthe current cpu.\n\nThis resulted in a heap of preempt warnings. Cure this by making\nnr_iowait_cpu() take a cpu number and fix up the callers to pass\nin the right number.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: linux-pm@lists.linux-foundation.org\nLKML-Reference: \u003c1277968037.1868.120.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f384c954c9fe3d3c6fce5ae66b67f2ddd947d098",
      "tree": "a38541b8083a2304435e9a153d408bd7cd44116e",
      "parents": [
        "9a15a07fe2175dc25cd928a354b3839f562ac8cc",
        "5904b3b81d25166e5e39b9727645bb47937618e3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 28 22:33:13 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 28 22:33:24 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nReason: Further changes conflict with upstream fixes\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f014d937d61f47761f961eba903feb2ffa1793aa",
      "tree": "4a6a9441b21711e34d567a8066950548935b9b3a",
      "parents": [
        "cf91b415c8419513ada650a932bfb32a526d4d98",
        "0d98bb2656e9bd2dfda2d089db1fe1dbdab41504"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:18:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 28 12:18:30 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Prevent compiler from optimising the sched_avg_update() loop\n  sched: Fix over-scheduling bug\n  sched: Fix PROVE_RCU vs cpu_cgroup\n"
    },
    {
      "commit": "0d98bb2656e9bd2dfda2d089db1fe1dbdab41504",
      "tree": "2172bbdd7fb21640062b2a692ded3d9cebc2382c",
      "parents": [
        "3c93717cfa51316e4dbb471e7c0f9d243359d5f8"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Mon May 24 12:11:43 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 25 16:11:50 2010 +0200"
      },
      "message": "sched: Prevent compiler from optimising the sched_avg_update() loop\n\nGCC 4.4.1 on ARM has been observed to replace the while loop in\nsched_avg_update with a call to uldivmod, resulting in the\nfollowing build failure at link-time:\n\nkernel/built-in.o: In function `sched_avg_update\u0027:\n kernel/sched.c:1261: undefined reference to `__aeabi_uldivmod\u0027\n kernel/sched.c:1261: undefined reference to `__aeabi_uldivmod\u0027\nmake: *** [.tmp_vmlinux1] Error 1\n\nThis patch introduces a fake data hazard to the loop body to\nprevent the compiler optimising the loop away.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8695159967957015f8dfb49315d6f88e111d90e0",
      "tree": "d575083d37a069be585d575ec036faa8765f1d0c",
      "parents": [
        "94bfa3b6692c7a3f6f119596724204ec975d3ef0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jun 22 11:44:53 2010 +0200"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 23 15:14:09 2010 -0700"
      },
      "message": "sched: silence PROVE_RCU in sched_fork()\n\nBecause cgroup_fork() is ran before sched_fork() [ from copy_process() ]\nand the child\u0027s pid is not yet visible the child is pinned to its\ncgroup. Therefore we can silence this warning.\n\nA nicer solution would be moving cgroup_fork() to right after\ndup_task_struct() and exclude PF_STARTING from task_subsys_state().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0b2e918aa99fe6c3b8f163aa323a275ad8577828",
      "tree": "9e979e6ec865e31bbcc3cddf4f18751c48aa1934",
      "parents": [
        "8d1f431cbec115a780cd551ab1b4955c125f8d31"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Jun 21 23:53:31 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 22 08:07:39 2010 +0200"
      },
      "message": "sched, cpuset: Drop __cpuexit from cpu hotplug callbacks\n\nCommit 3a101d05 (sched: adjust when cpu_active and cpuset\nconfigurations are updated during cpu on/offlining) added\nhotplug notifiers marked with __cpuexit; however, ia64 drops\ntext in __cpuexit during link unlike x86.\n\nThis means that functions which are referenced during init but used\nonly for cpu hot unplugging afterwards shouldn\u0027t be marked with\n__cpuexit. Drop __cpuexit from those functions.\n\nReported-by: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c4C1FDF5B.1040301@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "646b1db4956ba8bf748b835b5eba211133d91c2e",
      "tree": "061166d873d9da9cf83044a7593ad111787076c5",
      "parents": [
        "0f2c3de2ba110626515234d5d584fb1b0c0749a2",
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 18 10:53:12 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 18 10:53:19 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.35-rc3\u0027 into perf/core\n\nMerge reason: Go from -rc1 base to -rc3 base, merge in fixes.\n"
    },
    {
      "commit": "a44702e8858a071aa0f2365113ea4a2e51c8b575",
      "tree": "f43ffdfb4ba51a581b73d5386eac5ccf92584e62",
      "parents": [
        "b6b12294405e6ec029e627c49adf3193829a2685"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 11 01:09:44 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 18 10:46:55 2010 +0200"
      },
      "message": "sched: __sched_setscheduler: Read the RLIMIT_RTPRIO value lockless\n\n__sched_setscheduler() takes lock_task_sighand() to access task-\u003esignal.\nThis is not needed since ea6d290c, -\u003esignal can\u0027t go away.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100610230944.GA25903@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3c93717cfa51316e4dbb471e7c0f9d243359d5f8",
      "tree": "0c37ea18287556b42d6264d41c7093dd07f052f5",
      "parents": [
        "dc61b1d65e353d638b2445f71fb8e5b5630f2415"
      ],
      "author": {
        "name": "Alex,Shi",
        "email": "alex.shi@intel.com",
        "time": "Thu Jun 17 14:08:13 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 18 10:45:25 2010 +0200"
      },
      "message": "sched: Fix over-scheduling bug\n\nCommit e70971591 (\"sched: Optimize unused cgroup configuration\") introduced\nan imbalanced scheduling bug.\n\nIf we do not use CGROUP, function update_h_load won\u0027t update h_load. When the\nsystem has a large number of tasks far more than logical CPU number, the\nincorrect cfs_rq[cpu]-\u003eh_load value will cause load_balance() to pull too\nmany tasks to the local CPU from the busiest CPU. So the busiest CPU keeps\ngoing in a round robin. That will hurt performance.\n\nThe issue was found originally by a scientific calculation workload that\ndeveloped by Yanmin. With that commit, the workload performance drops\nabout 40%.\n\n CPU  before    after\n\n 00   : 2       : 7\n 01   : 1       : 7\n 02   : 11      : 6\n 03   : 12      : 7\n 04   : 6       : 6\n 05   : 11      : 7\n 06   : 10      : 6\n 07   : 12      : 7\n 08   : 11      : 6\n 09   : 12      : 6\n 10   : 1       : 6\n 11   : 1       : 6\n 12   : 6       : 6\n 13   : 2       : 6\n 14   : 2       : 6\n 15   : 1       : 6\n\nReviewed-by: Yanmin zhang \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1276754893.9452.5442.camel@debian\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "83cd4fe27ad8446619b2e030b171b858501de87d",
      "tree": "81c7d26f4f00139ae355017239371d91cc4b2aef",
      "parents": [
        "fdf3e95d3916f18bf8703fb065499fdbc4dfe34c"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Fri May 21 17:09:41 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 10:34:52 2010 +0200"
      },
      "message": "sched: Change nohz idle load balancing logic to push model\n\nIn the new push model, all idle CPUs indeed go into nohz mode. There is\nstill the concept of idle load balancer (performing the load balancing\non behalf of all the idle cpu\u0027s in the system). Busy CPU kicks the nohz\nbalancer when any of the nohz CPUs need idle load balancing.\nThe kickee CPU does the idle load balancing on behalf of all idle CPUs\ninstead of the normal idle balance.\n\nThis addresses the below two problems with the current nohz ilb logic:\n* the idle load balancer continued to have periodic ticks during idle and\n  wokeup frequently, even though it did not have any rebalancing to do on\n  behalf of any of the idle CPUs.\n* On x86 and CPUs that have APIC timer stoppage on idle CPUs, this\n  periodic wakeup can result in a periodic additional interrupt on a CPU\n  doing the timer broadcast.\n\nAlso currently we are migrating the unpinned timers from an idle to the cpu\ndoing idle load balancing (when all the cpus in the system are idle,\nthere is no idle load balancing cpu and timers get added to the same idle cpu\nwhere the request was made. So the existing optimization works only on semi idle\nsystem).\n\nAnd In semi idle system, we no longer have periodic ticks on the idle load\nbalancer CPU. Using that cpu will add more delays to the timers than intended\n(as that cpu\u0027s timer base may not be uptodate wrt jiffies etc). This was\ncausing mysterious slowdowns during boot etc.\n\nFor now, in the semi idle case, use the nearest busy cpu for migrating timers\nfrom an idle cpu.  This is good for power-savings anyway.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c1274486981.2840.46.camel@sbs-t61.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fdf3e95d3916f18bf8703fb065499fdbc4dfe34c",
      "tree": "b9bfc0f78135502adf7c83313948a705fb19384b",
      "parents": [
        "246d86b51845063e4b06b27579990492dc5fa317"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Mon May 17 18:14:43 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 10:34:51 2010 +0200"
      },
      "message": "sched: Avoid side-effect of tickless idle on update_cpu_load\n\ntickless idle has a negative side effect on update_cpu_load(), which\nin turn can affect load balancing behavior.\n\nupdate_cpu_load() is supposed to be called every tick, to keep track\nof various load indicies. With tickless idle, there are no scheduler\nticks called on the idle CPUs. Idle CPUs may still do load balancing\n(with idle_load_balance CPU) using the stale cpu_load. It will also\ncause problems when all CPUs go idle for a while and become active\nagain. In this case loads would not degrade as expected.\n\nThis is how rq-\u003enr_load_updates change looks like under different\nconditions:\n\n\u003ccpu_num\u003e \u003cnr_load_updates change\u003e\nAll CPUS idle for 10 seconds (HZ\u003d1000)\n0 1621\n10 496\n11 139\n12 875\n13 1672\n14 12\n15 21\n1 1472\n2 2426\n3 1161\n4 2108\n5 1525\n6 701\n7 249\n8 766\n9 1967\n\nOne CPU busy rest idle for 10 seconds\n0 10003\n10 601\n11 95\n12 966\n13 1597\n14 114\n15 98\n1 3457\n2 93\n3 6679\n4 1425\n5 1479\n6 595\n7 193\n8 633\n9 1687\n\nAll CPUs busy for 10 seconds\n0 10026\n10 10026\n11 10026\n12 10026\n13 10025\n14 10025\n15 10025\n1 10026\n2 10026\n3 10026\n4 10026\n5 10026\n6 10026\n7 10026\n8 10026\n9 10026\n\nThat is update_cpu_load works properly only when all CPUs are busy.\nIf all are idle, all the CPUs get way lower updates.  And when few\nCPUs are busy and rest are idle, only busy and ilb CPU does proper\nupdates and rest of the idle CPUs will do lower updates.\n\nThe patch keeps track of when a last update was done and fixes up\nthe load avg based on current time.\n\nOn one of my test system SPECjbb with warehouse 1..numcpus, patch\nimproves throughput numbers by ~1% (average of 6 runs).  On another\ntest system (with different domain hierarchy) there is no noticable\nchange in perf.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cAANLkTilLtDWQsAUrIxJ6s04WTgmw9GuOODc5AOrYsaR5@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "246d86b51845063e4b06b27579990492dc5fa317",
      "tree": "3f60fc00b8cc587826cc76e31a1afb92353d08dd",
      "parents": [
        "c676329abb2b8359d9a5d734dec0c81779823fd6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 19 14:57:11 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 10:34:50 2010 +0200"
      },
      "message": "sched: Simplify the reacquire_kernel_lock() logic\n\n- Contrary to what 6d558c3a says, there is no need to reload\n  prev \u003d rq-\u003ecurr after the context switch. You always schedule\n  back to where you came from, prev must be equal to current\n  even if cpu/rq was changed.\n\n- This also means reacquire_kernel_lock() can use prev instead\n  of current.\n\n- No need to reassign switch_count if reacquire_kernel_lock()\n  reports need_resched(), we can just move the initial assignment\n  down, under the \"need_resched_nonpreemptible:\" label.\n\n- Try to update the comment after context_switch().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100519125711.GA30199@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c676329abb2b8359d9a5d734dec0c81779823fd6",
      "tree": "b6c33715176221a87100228399c2a6f5049e44ea",
      "parents": [
        "95ae3c59fa8ad616c73745e21154b5af0fb10168"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 25 10:48:51 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 10:34:49 2010 +0200"
      },
      "message": "sched_clock: Add local_clock() API and improve documentation\n\nFor people who otherwise get to write: cpu_clock(smp_processor_id()),\nthere is now: local_clock().\n\nAlso, as per suggestion from Andrew, provide some documentation on\nthe various clock interfaces, and minimize the unsigned long long vs\nu64 mess.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nLKML-Reference: \u003c1275052414.1645.52.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "95ae3c59fa8ad616c73745e21154b5af0fb10168",
      "tree": "c08f1bcad8f619c5097208cbfa85170411033095",
      "parents": [
        "dc61b1d65e353d638b2445f71fb8e5b5630f2415",
        "21aa9af03d06cb1d19a3738e5cf12acff984e69b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 08 23:20:59 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 08 23:20:59 2010 +0200"
      },
      "message": "Merge branch \u0027sched-wq\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq into sched/core\n"
    },
    {
      "commit": "21aa9af03d06cb1d19a3738e5cf12acff984e69b",
      "tree": "e205a742a4a9baf098b4e3d428c04f4d3a065bca",
      "parents": [
        "9ed3811a6c0d6b66e6cd47a5d7b9136386dce743"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 08 21:40:37 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 08 21:40:37 2010 +0200"
      },
      "message": "sched: add hooks for workqueue\n\nConcurrency managed workqueue needs to know when workers are going to\nsleep and waking up.  Using these two hooks, cmwq keeps track of the\ncurrent concurrency level and throttles execution of new works if it\u0027s\ntoo high and wakes up another worker from the sleep hook if it becomes\ntoo low.\n\nThis patch introduces PF_WQ_WORKER to identify workqueue workers and\nadds the following two hooks.\n\n* wq_worker_waking_up(): called when a worker is woken up.\n\n* wq_worker_sleeping(): called when a worker is going to sleep and may\n  return a pointer to a local task which should be woken up.  The\n  returned task is woken up using try_to_wake_up_local() which is\n  simplified ttwu which is called under rq lock and can only wake up\n  local tasks.\n\nBoth hooks are currently defined as noop in kernel/workqueue_sched.h.\nLater cmwq implementation will replace them with proper\nimplementation.\n\nThese hooks are hard coded as they\u0027ll always be enabled.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ed3811a6c0d6b66e6cd47a5d7b9136386dce743",
      "tree": "6a1e92b3e51978c7e32f1afdf98b1966a3d65818",
      "parents": [
        "3a101d0548e925ab16ca6aaa8cf4f767d322ddb0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 03 15:08:03 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 08 21:40:36 2010 +0200"
      },
      "message": "sched: refactor try_to_wake_up()\n\nFactor ttwu_activate() and ttwu_woken_up() out of try_to_wake_up().\nThe factoring out doesn\u0027t affect try_to_wake_up() much\ncode-generation-wise.  Depending on configuration options, it ends up\ngenerating the same object code as before or slightly different one\ndue to different register assignment.\n\nThis is to help future implementation of try_to_wake_up_local().\n\nMike Galbraith suggested rename to ttwu_post_activation() from\nttwu_woken_up() and comment update in try_to_wake_up().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a101d0548e925ab16ca6aaa8cf4f767d322ddb0",
      "tree": "b90d8c5f2efe30fcfa49a00fdea037567c6cd46f",
      "parents": [
        "50a323b73069b169385a8ac65633dee837a7d13f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 08 21:40:36 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 08 21:40:36 2010 +0200"
      },
      "message": "sched: adjust when cpu_active and cpuset configurations are updated during cpu on/offlining\n\nCurrently, when a cpu goes down, cpu_active is cleared before\nCPU_DOWN_PREPARE starts and cpuset configuration is updated from a\ndefault priority cpu notifier.  When a cpu is coming up, it\u0027s set\nbefore CPU_ONLINE but cpuset configuration again is updated from the\nsame cpu notifier.\n\nFor cpu notifiers, this presents an inconsistent state.  Threads which\na CPU_DOWN_PREPARE notifier expects to be bound to the CPU can be\nmigrated to other cpus because the cpu is no more inactive.\n\nFix it by updating cpu_active in the highest priority cpu notifier and\ncpuset configuration in the second highest when a cpu is coming up.\nDown path is updated similarly.  This guarantees that all other cpu\nnotifiers see consistent cpu_active and cpuset configuration.\n\ncpuset_track_online_cpus() notifier is converted to\ncpuset_update_active_cpus() which just updates the configuration and\nnow called from cpuset_cpu_[in]active() notifiers registered from\nsched_init_smp().  If cpuset is disabled, cpuset_update_active_cpus()\ndegenerates into partition_sched_domains() making separate notifier\nfor !CONFIG_CPUSETS unnecessary.\n\nThis problem is triggered by cmwq.  During CPU_DOWN_PREPARE, hotplug\ncallback creates a kthread and kthread_bind()s it to the target cpu,\nand the thread is expected to run on that cpu.\n\n* Ingo\u0027s test discovered __cpuinit/exit markups were incorrect.\n  Fixed.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\n"
    },
    {
      "commit": "50a323b73069b169385a8ac65633dee837a7d13f",
      "tree": "020820efb3af12486981381a1e087c1907fdeeb8",
      "parents": [
        "3975d16760d4be7402d1067c548c30c427971331"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 08 21:40:36 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 08 21:40:36 2010 +0200"
      },
      "message": "sched: define and use CPU_PRI_* enums for cpu notifier priorities\n\nInstead of hardcoding priority 10 and 20 in sched and perf, collect\nthem into CPU_PRI_* enums.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "6113e45f831616de98c54a005260223b21bcb6b9",
      "tree": "0d56dbfae392f89b33c2ae6a36a5cc1ea1c1c988",
      "parents": [
        "84bb671dc46d77d665d2b5e74539e81b2129bb3e",
        "5168ae50a66e3ff7184c2b16d661bd6d70367e50"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 08 19:34:40 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 08 19:34:40 2010 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core\n"
    },
    {
      "commit": "dc61b1d65e353d638b2445f71fb8e5b5630f2415",
      "tree": "07d79b2d385a380207cd889ac764b57190421fd1",
      "parents": [
        "3975d16760d4be7402d1067c548c30c427971331"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 08 11:40:42 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 08 18:44:04 2010 +0200"
      },
      "message": "sched: Fix PROVE_RCU vs cpu_cgroup\n\nPROVE_RCU has a few issues with the cpu_cgroup because the scheduler\ntypically holds rq-\u003elock around the css rcu derefs but the generic\ncgroup code doesn\u0027t (and can\u0027t) know about that lock.\n\nProvide means to add extra checks to the css dereference and use that\nin the scheduler to annotate its users.\n\nThe addition of rq-\u003elock to these checks is correct because the\ncgroup_subsys::attach() method takes the rq-\u003elock for each task it\nmoves, therefore by holding that lock, we ensure the task is pinned to\nthe current cgroup and the RCU derefence is valid.\n\nThat leaves one genuine race in __sched_setscheduler() where we used\ntask_group() without holding any of the required locks and thus raced\nwith the cgroup code. Solve this by moving the check under the\nappropriate lock.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d1f74e20b5b064a130cd0743a256c2d3cfe84010",
      "tree": "b93ab590c24bb08f6db0dfc2a3ba60fa43af7f92",
      "parents": [
        "9dda696f0de87a2e5cfabb147e28c76b7d3c6846"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 02 21:52:29 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 03 19:09:41 2010 -0400"
      },
      "message": "tracing/sched: Make preempt_schedule() notrace\n\nThe function tracer code uses ftrace_preempt_disable() to disable\npreemption instead of normal preempt_disable(). But there\u0027s a slight\nrace condition that may cause it to lose a preemption check.\n\nThis was made to keep the function tracer from recursing on itself\nby disabling preemption then having the enable call the function tracer\nagain, causing infinite recursion.\n\nThe bug was assumed to happen if the call was just in schedule, but\nthis is incorrect. The bug is caused by preempt_schedule() which\nis called by preempt_enable(). The calling of preempt_enable() when\nNEED_RESCHED was set would call preempt_schedule() which would call\nthe function tracer again.\n\nBy making the preempt_schedule() and add_preempt_count() notrace\nthen this will prevent the inifinite recursion. This is because\nthe add_preempt_count() would stop the preempt_enable() in the\nfunction tracer from calling preempt_schedule() again.\n\nThe sub_preempt_count() is also made notrace just to keep it\nsymmetric.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e51fd5e22e12b39f49b1bb60b37b300b17378a43",
      "tree": "391500ff509dc30991db38e3d54eaccfe385d1cb",
      "parents": [
        "54e88fad223c4e1d94289611a90c7fe3ebe5631b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 31 12:37:30 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 01 09:27:16 2010 +0200"
      },
      "message": "sched: Fix wake_affine() vs RT tasks\n\nMike reports that since e9e9250b (sched: Scale down cpu_power due to RT\ntasks), wake_affine() goes funny on RT tasks due to them still having a\n!0 weight and wake_affine() still subtracts that from the rq weight.\n\nSince nobody should be using se-\u003eweight for RT tasks, set the value to\nzero. Also, since we now use -\u003ecpu_power to normalize rq weights to\naccount for RT cpu usage, add that factor into the imbalance computation.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1275316109.27810.22969.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b612a0553714c6b9744ad0d03f10cac78f3a84b1",
      "tree": "9dfb5cb5d13c187ff1f54448f8441512203625d0",
      "parents": [
        "52b0ace7dfe8f70350218017a95d7cab1eb41fbb",
        "2a8e5e3637e2fc058798f5d3626f525729ffaaaf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 08:56:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 08:56:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: clean up on forwarded aborted mds request\n  ceph: fix leak of osd authorizer\n  ceph: close out mds, osd connections before stopping auth\n  ceph: make lease code DN specific\n  fs/ceph: Use ERR_CAST\n  ceph: renew auth tickets before they expire\n  ceph: do not resend mon requests on auth ticket renewal\n  ceph: removed duplicated #includes\n  ceph: avoid possible null dereference\n  ceph: make mds requests killable, not interruptible\n  sched: add wait_for_completion_killable_timeout\n"
    },
    {
      "commit": "0aa12fb439838a85802ab8b7fbb9bcfc3e6e05cb",
      "tree": "c944cf9abba9a6afb3d1259140c73101d0e222a0",
      "parents": [
        "240ed68eb567d80dd6bab739341999a5ab0ad55d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:30 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:30 2010 -0700"
      },
      "message": "sched: add wait_for_completion_killable_timeout\n\nAdd missing _killable_timeout variant for wait_for_completion that will\nreturn when a timeout expires or the task is killed.\n\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCC: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "b7b8ff6373d4b910af081f76888395e6df53249d",
      "tree": "128a1b2cf026fb8b9791eaefb6f79f872999a5c6",
      "parents": [
        "4ada856fb0ee62f6fe3aac3de726deac0640d929"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:46 2010 -0700"
      },
      "message": "signals: kill the awful task_rq_unlock_wait() hack\n\nNow that task-\u003esignal can\u0027t go away we can revert the horrible hack added\nby ad474caca3e2a0550b7ce0706527ad5ab389a4d4 (\"fix for\naccount_group_exec_runtime(), make sure -\u003esignal can\u0027t be freed under\nrq-\u003elock\").\n\nAnd we can do more cleanups sched_stats.h/posix-cpu-timers.c later.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Roland McGrath \u003croland@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": "90b9a32d8f441369b2f97a765d2d957b531eb653",
      "tree": "3146d251a983ba12226e75c121613de6f051af8b",
      "parents": [
        "8b108c609adefd98577c35f0a41497a610041a6c",
        "4402c153cb9c549cd21d6007ef0dfac50c8d148d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 11:08:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 11:08:05 2010 -0700"
      },
      "message": "Merge branch \u0027kdb-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027kdb-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: (25 commits)\n  kdb,debug_core: Allow the debug core to receive a panic notification\n  MAINTAINERS: update kgdb, kdb, and debug_core info\n  debug_core,kdb: Allow the debug core to process a recursive debug entry\n  printk,kdb: capture printk() when in kdb shell\n  kgdboc,kdb: Allow kdb to work on a non open console port\n  kgdb: Add the ability to schedule a breakpoint via a tasklet\n  mips,kgdb: kdb low level trap catch and stack trace\n  powerpc,kgdb: Introduce low level trap catching\n  x86,kgdb: Add low level debug hook\n  kgdb: remove post_primary_code references\n  kgdb,docs: Update the kgdb docs to include kdb\n  kgdboc,keyboard: Keyboard driver for kdb with kgdb\n  kgdb: gdb \"monitor\" -\u003e kdb passthrough\n  sparc,sunzilog: Add console polling support for sunzilog serial driver\n  sh,sh-sci: Use NO_POLL_CHAR in the SCIF polled console code\n  kgdb,8250,pl011: Return immediately from console poll\n  kgdb: core changes to support kdb\n  kdb: core for kgdb back end (2 of 2)\n  kdb: core for kgdb back end (1 of 2)\n  kgdb,blackfin: Add in kgdb_arch_set_pc for blackfin\n  ...\n"
    }
  ],
  "next": "7a9b149212f3716c598afe973b6261fd58453b7a"
}
