)]}'
{
  "log": [
    {
      "commit": "625f2a378e5a10f45fdc37932fc9f8a21676de9e",
      "tree": "1bf966a8e65463cdcc313c559533f032657c9dcf",
      "parents": [
        "d3bf52e998056a6002b2aecfe1d25486376382ac"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Apr 22 11:19:10 2011 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Apr 24 13:18:38 2011 +0200"
      },
      "message": "sched: Get rid of lock_depth\n\nNeil Brown pointed out that lock_depth somehow escaped the BKL\nremoval work.  Let\u0027s get rid of it now.\n\nNote that the perf scripting utilities still have a bunch of\ncode for dealing with common_lock_depth in tracepoints; I have\nleft that in place in case anybody wants to use that code with\nolder kernels.\n\nSuggested-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110422111910.456c0e84@bike.lwn.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3bf52e998056a6002b2aecfe1d25486376382ac",
      "tree": "68c5f3f2a66c29a6928ea03f245bea7ad05f8609",
      "parents": [
        "42ac9e87fdd89b77fa2ca0a5226023c1c2d83226"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Wed Apr 20 21:27:32 2011 +0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 21 11:41:36 2011 +0200"
      },
      "message": "sched: Remove obsolete comment from scheduler_tick()\n\nscheduler_tick() is no longer called by fork code - this got discarded\na long time ago by commit bc947631d1d532 (\"sched: improve efficiency\nof sched_fork()\").\n\nSo, remove the comment which still claims otherwise.\n\nSigned-off-by: Rakib Mullick \u003crakib.mullick@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/BANLkTimO4iGP0QpaHO1HHF1QOnVcQpc0cw@mail.gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "42ac9e87fdd89b77fa2ca0a5226023c1c2d83226",
      "tree": "dfdb1b720347a40f24a89a3e9c2727ae26ad5f01",
      "parents": [
        "057f3fadb347e9c51b07e1b277bbdda79f976768",
        "f0e615c3cb72b42191b558c130409335812621d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 21 11:39:21 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 21 11:39:28 2011 +0200"
      },
      "message": "Merge commit \u0027v2.6.39-rc4\u0027 into sched/core\n\nMerge reason: Pick up upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "057f3fadb347e9c51b07e1b277bbdda79f976768",
      "tree": "12f637ad30129245ef51836df1d134257d827dd5",
      "parents": [
        "2f36825b176f67e5c5228aa33d828bc39718811f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Apr 18 11:24:34 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 19 10:56:54 2011 +0200"
      },
      "message": "sched: Fix sched_domain iterations vs. RCU\n\nVladis Kletnieks reported a new RCU debug warning in the scheduler.\n\nSince commit dce840a08702b (\"sched: Dynamically allocate sched_domain/\nsched_group data-structures\") the sched_domain trees are protected by\nRCU instead of RCU-sched.\n\nThis means that we need to include rcu_read_lock() protection when we\niterate them since disabling preemption doesn\u0027t suffice anymore.\n\nReported-by: Valdis.Kletnieks@vt.edu\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1302882741.2388.241.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2f36825b176f67e5c5228aa33d828bc39718811f",
      "tree": "065130f8eb74a419d8ddf1856ccc64ee7b195843",
      "parents": [
        "69c80f3e9d3c569f8a3cee94ba1a324b5a7fa6b9"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Thu Apr 14 10:30:53 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 19 10:08:38 2011 +0200"
      },
      "message": "sched: Next buddy hint on sleep and preempt path\n\nWhen a task in a taskgroup sleeps, pick_next_task starts all the way back at\nthe root and picks the task/taskgroup with the min vruntime across all\nrunnable tasks.\n\nBut when there are many frequently sleeping tasks across different taskgroups,\nit makes better sense to stay with same taskgroup for its slice period (or\nuntil all tasks in the taskgroup sleeps) instead of switching cross taskgroup\non each sleep after a short runtime.\n\nThis helps specifically where taskgroups corresponds to a process with\nmultiple threads. The change reduces the number of CR3 switches in this case.\n\nExample:\n\nTwo taskgroups with 2 threads each which are running for 2ms and\nsleeping for 1ms. Looking at sched:sched_switch shows:\n\nBEFORE: taskgroup_1 threads [5004, 5005], taskgroup_2 threads [5016, 5017]\n      cpu-soaker-5004  [003]  3683.391089\n      cpu-soaker-5016  [003]  3683.393106\n      cpu-soaker-5005  [003]  3683.395119\n      cpu-soaker-5017  [003]  3683.397130\n      cpu-soaker-5004  [003]  3683.399143\n      cpu-soaker-5016  [003]  3683.401155\n      cpu-soaker-5005  [003]  3683.403168\n      cpu-soaker-5017  [003]  3683.405170\n\nAFTER: taskgroup_1 threads [21890, 21891], taskgroup_2 threads [21934, 21935]\n      cpu-soaker-21890 [003]   865.895494\n      cpu-soaker-21935 [003]   865.897506\n      cpu-soaker-21934 [003]   865.899520\n      cpu-soaker-21935 [003]   865.901532\n      cpu-soaker-21934 [003]   865.903543\n      cpu-soaker-21935 [003]   865.905546\n      cpu-soaker-21891 [003]   865.907548\n      cpu-soaker-21890 [003]   865.909560\n      cpu-soaker-21891 [003]   865.911571\n      cpu-soaker-21890 [003]   865.913582\n      cpu-soaker-21891 [003]   865.915594\n      cpu-soaker-21934 [003]   865.917606\n\nSimilar problem is there when there are multiple taskgroups and say a task A\npreempts currently running task B of taskgroup_1. On schedule, pick_next_task\ncan pick an unrelated task on taskgroup_2. Here it would be better to give some\npreference to task B on pick_next_task.\n\nA simple (may be extreme case) benchmark I tried was tbench with 2 tbench\nclient processes with 2 threads each running on a single CPU. Avg throughput\nacross 5 50 sec runs was:\n\n BEFORE: 105.84 MB/sec\n AFTER:  112.42 MB/sec\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1302802253-25760-1-git-send-email-venki@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "69c80f3e9d3c569f8a3cee94ba1a324b5a7fa6b9",
      "tree": "d802b0ade642dcad187384da9b5312d90e47ea45",
      "parents": [
        "6ddafdaab3f809b110ada253d2f2d4910ebd3ac5"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venki@google.com",
        "time": "Wed Apr 13 18:21:09 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 19 10:08:37 2011 +0200"
      },
      "message": "sched: Make set_*_buddy() work on non-task entities\n\nMake set_*_buddy() work on non-task sched_entity, to facilitate the\nuse of next_buddy to cache a group entity in cases where one of the\ntasks within that entity sleeps or gets preempted.\n\nset_skip_buddy() was incorrectly comparing the policy of task that is\nyielding to be not equal to SCHED_IDLE. Yielding should happen even\nwhen task yielding is SCHED_IDLE. This change removes the policy check\non the yielding task.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1302744070-30079-2-git-send-email-venki@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c78193e9c7bcbf25b8237ad0dec82f805c4ea69b",
      "tree": "1d0c3c90770acb003af06d727b794eb002d58ec7",
      "parents": [
        "a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:35:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:35:30 2011 -0700"
      },
      "message": "next_pidmap: fix overflow condition\n\nnext_pidmap() just quietly accepted whatever \u0027last\u0027 pid that was passed\nin, which is not all that safe when one of the users is /proc.\n\nAdmittedly the proc code should do some sanity checking on the range\n(and that will be the next commit), but that doesn\u0027t mean that the\nhelper functions should just do that pidmap pointer arithmetic without\nchecking the range of its arguments.\n\nSo clamp \u0027last\u0027 to PID_MAX_LIMIT.  The fact that we then do \"last+1\"\ndoesn\u0027t really matter, the for-loop does check against the end of the\npidmap array properly (it\u0027s only the actual pointer arithmetic overflow\ncase we need to worry about, and going one bit beyond isn\u0027t going to\noverflow).\n\n[ Use PID_MAX_LIMIT rather than pid_max as per Eric Biederman ]\n\nReported-by: Tavis Ormandy \u003ctaviso@cmpxchg8b.com\u003e\nAnalyzed-by: Robert Święcki \u003crobert@swiecki.net\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ddafdaab3f809b110ada253d2f2d4910ebd3ac5",
      "tree": "366bb7513511a05b6e11ab89bfe3b2dbd1d62a03",
      "parents": [
        "3905c54f2bd2c6f937f87307987ca072eabc3e7b",
        "bd8e7dded88a3e1c085c333f19ff31387616f71a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 18 14:53:18 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 18 14:53:33 2011 +0200"
      },
      "message": "Merge branch \u0027sched/locking\u0027 into sched/core\n\nMerge reason: the rq locking changes are stable,\n              propagate them into the .40 queue.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d733ed6c34be3aef0517a04e4103eed6b369ec50",
      "tree": "b49723304c48c2f877b9cb284a4b39361934c670",
      "parents": [
        "08150c533c57981054324b9e87dbf686006d890f",
        "49cac01e1fa74174d72adb0e872504a7fefd7c01"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 10:33:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 10:33:41 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: make unplug timer trace event correspond to the schedule() unplug\n  block: let io_schedule() flush the plug inline\n"
    },
    {
      "commit": "fdfc552abe2c465ab91b84fb65f36d86c6737ab4",
      "tree": "8c581c34fcf7e462783b9ce404901ee8ad4a6490",
      "parents": [
        "0ebc115da3ed67409792eb8de46361a5c673f072",
        "0cd9c6494ee5c19aef085152bc37f3a4e774a9e1",
        "e566b76ed30768140df8f0023904aed5a41244f7",
        "b30aef17f71cf9e24b10c11cbb5e5f0ebe8a85ab",
        "92f73a62a100d2068e8f327e573da01529184c18",
        "5bbc097d890409d8eff4e3f1d26f11a9d6b7c07e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 09:45:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 16 09:45:08 2011 -0700"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027perf-fixes-for-linus\u0027, \u0027sched-fixes-for-linus\u0027, \u0027timer-fixes-for-linus\u0027 and \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_event: Fix cgrp event scheduling bug in perf_enable_on_exec()\n  perf: Fix a build error with some GCC versions\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix erroneous all_pinned logic\n  sched: Fix sched-domain avg_load calculation\n\n* \u0027timer-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  RTC: rtc-mrst: follow on to the change of rtc_device_register()\n  RTC: add missing \"return 0\" in new alarm func for rtc-bfin.c\n  RTC: Fix s3c compile error due to missing s3c_rtc_setpie\n  RTC: Fix early irqs caused by calling rtc_set_alarm too early\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, amd: Disable GartTlbWlkErr when BIOS forgets it\n  x86, NUMA: Fix fakenuma boot failure\n  x86/mrst: Fix boot crash caused by incorrect pin to irq mapping\n  x86/ce4100: Add reg property to bridges\n"
    },
    {
      "commit": "49cac01e1fa74174d72adb0e872504a7fefd7c01",
      "tree": "a1ab1974eceea3179a604413955ad8369ba715d7",
      "parents": [
        "a237c1c5bc5dc5c76a21be922dca4826f3eca8ca"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:51:05 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:51:05 2011 +0200"
      },
      "message": "block: make unplug timer trace event correspond to the schedule() unplug\n\nIt\u0027s a pretty close match to what we had before - the timer triggering\nwould mean that nobody unplugged the plug in due time, in the new\nscheme this matches very closely what the schedule() unplug now is.\nIt\u0027s essentially the difference between an explicit unplug (IO unplug)\nor an implicit unplug (timer unplug, we scheduled with pending IO\nqueued).\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "a237c1c5bc5dc5c76a21be922dca4826f3eca8ca",
      "tree": "a216c9a6d9e870b84424938e9e0b4722dc8634cd",
      "parents": [
        "5853b4f06f7b9b56f37f457d7923f7b96496074e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:27:55 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Sat Apr 16 13:27:55 2011 +0200"
      },
      "message": "block: let io_schedule() flush the plug inline\n\nLinus correctly observes that the most important dispatch cases\nare now done from kblockd, this isn\u0027t ideal for latency reasons.\nThe original reason for switching dispatches out-of-line was to\navoid too deep a stack, so by _only_ letting the \"accidental\"\nflush directly in schedule() be guarded by offload to kblockd,\nwe should be able to get the best of both worlds.\n\nSo add a blk_schedule_flush_plug() that offloads to kblockd,\nand only use that from the schedule() path.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "5853b4f06f7b9b56f37f457d7923f7b96496074e",
      "tree": "8cf850e91b26af25071f00055fa89fb924796de6",
      "parents": [
        "a970f5d513163a305d46f330d0a7d2dd4c4506f1",
        "f6603783f9f099bf7a83b3f6c689bbbf74f0e96e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 08:01:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 15 08:01:13 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: only force kblockd unplugging from the schedule() path\n  block: cleanup the block plug helper functions\n  block, blk-sysfs: Use the variable directly instead of a function call\n  block: move queue run on unplug to kblockd\n  block: kill queue_sync_plugs()\n  block: readd plug trace event\n  block: add callback function for unplug notification\n  block: add comment on why we save and disable interrupts in flush_plug_list()\n  block: fixup block IO unplug trace call\n  block: remove block_unplug_timer() trace point\n  block: splice plug list to local context\n"
    },
    {
      "commit": "0cd9c6494ee5c19aef085152bc37f3a4e774a9e1",
      "tree": "5d24e41c96d4d80e92213520dd98d05695bc0c03",
      "parents": [
        "a6360dd37e1a144ed11e6548371bade559a1e4df"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhart@linux.intel.com",
        "time": "Thu Apr 14 15:41:57 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Apr 15 16:34:32 2011 +0200"
      },
      "message": "futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup\n\nThe FLAGS_HAS_TIMEOUT flag was not getting set, causing the restart_block to\nrestart futex_wait() without a timeout after a signal.\n\nCommit b41277dc7a18ee332d in 2.6.38 introduced the regression by accidentally\nremoving the the FLAGS_HAS_TIMEOUT assignment from futex_wait() during the setup\nof the restart block. Restore the originaly behavior.\n\nFixes: https://bugzilla.kernel.org/show_bug.cgi?id\u003d32922\n\nReported-by: Tim Smith \u003ctsmith201104@yahoo.com\u003e\nReported-by: Torsten Hilbrich \u003ctorsten.hilbrich@secunet.com\u003e\nSigned-off-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: stable@kernel.org\nLink: http://lkml.kernel.org/r/%3Cdaac0eb3af607f72b9a4d3126b2ba8fb5ed3b883.1302820917.git.dvhart%40linux.intel.com%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bd8e7dded88a3e1c085c333f19ff31387616f71a",
      "tree": "3dc947138fd33416b53411244de5d6c9dc08a5fa",
      "parents": [
        "317f394160e9beb97d19a84c39b7e5eb3d7815a8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:59 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:41 2011 +0200"
      },
      "message": "sched: Remove need_migrate_task()\n\nOleg noticed that need_migrate_task() doesn\u0027t need the -\u003eon_cpu check\nnow that ttwu() doesn\u0027t do remote enqueues for !-\u003eon_rq \u0026\u0026 -\u003eon_cpu,\nso remove the helper and replace the single instance with a direct\n-\u003eon_rq test.\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152729.556674812@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "317f394160e9beb97d19a84c39b7e5eb3d7815a8",
      "tree": "486f268e9ec010744c17333f0f543da9d3909ff4",
      "parents": [
        "c05fbafba1c5482bee399b360288fa405415e126"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:58 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:41 2011 +0200"
      },
      "message": "sched: Move the second half of ttwu() to the remote cpu\n\nNow that we\u0027ve removed the rq-\u003elock requirement from the first part of\nttwu() and can compute placement without holding any rq-\u003elock, ensure\nwe execute the second half of ttwu() on the actual cpu we want the\ntask to run on.\n\nThis avoids having to take rq-\u003elock and doing the task enqueue\nremotely, saving lots on cacheline transfers.\n\nAs measured using: http://oss.oracle.com/~mason/sembench.c\n\n  $ for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; do echo performance \u003e $i; done\n  $ echo 4096 32000 64 128 \u003e /proc/sys/kernel/sem\n  $ ./sembench -t 2048 -w 1900 -o 0\n\n  unpatched: run time 30 seconds 647278 worker burns per second\n  patched:   run time 30 seconds 816715 worker burns per second\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152729.515897185@chello.nl\n"
    },
    {
      "commit": "c05fbafba1c5482bee399b360288fa405415e126",
      "tree": "d693cfca73670d17e755fa785e108e65842223c3",
      "parents": [
        "23f41eeb42ce7f6f1210904e49e84718f02cb61c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:40 2011 +0200"
      },
      "message": "sched: Restructure ttwu() some more\n\nFactor our helper functions to make the inner workings of try_to_wake_up()\nmore obvious, this also allows for adding remote queues.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152729.475848012@chello.nl\n"
    },
    {
      "commit": "23f41eeb42ce7f6f1210904e49e84718f02cb61c",
      "tree": "7273b47e0e33bfe9188abea3a7dd9f5514f720b5",
      "parents": [
        "b84cb5df1f9ad6da3f214c638d5fb08d0c99de1f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:56 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:40 2011 +0200"
      },
      "message": "sched: Rename ttwu_post_activation() to ttwu_do_wakeup()\n\nThe ttwu_post_activation() code does the core wakeup, it sets TASK_RUNNING\nand performs wakeup-preemption, so give is a more descriptive name.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152729.434609705@chello.nl\n"
    },
    {
      "commit": "b84cb5df1f9ad6da3f214c638d5fb08d0c99de1f",
      "tree": "cd7053563e72bdf6b5b5cb8ca6a6d646c914680a",
      "parents": [
        "e4a52bcb9a18142d79e231b6733cabdbf2e67c1f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:55 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:40 2011 +0200"
      },
      "message": "sched: Remove rq argument from ttwu_stat()\n\nIn order to call ttwu_stat() without holding rq-\u003elock we must remove\nits rq argument. Since we need to change rq stats, account to the\nlocal rq instead of the task rq, this is safe since we have IRQs\ndisabled.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152729.394638826@chello.nl\n"
    },
    {
      "commit": "e4a52bcb9a18142d79e231b6733cabdbf2e67c1f",
      "tree": "fcf29647bb6416d826237b90f233b34a169953ab",
      "parents": [
        "8f42ced974df7d5af2de4cf5ea21fe978c7e4478"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:54 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:39 2011 +0200"
      },
      "message": "sched: Remove rq-\u003elock from the first half of ttwu()\n\nCurrently ttwu() does two rq-\u003elock acquisitions, once on the task\u0027s\nold rq, holding it over the p-\u003estate fiddling and load-balance pass.\nThen it drops the old rq-\u003elock to acquire the new rq-\u003elock.\n\nBy having serialized ttwu(), p-\u003esched_class, p-\u003ecpus_allowed with\np-\u003epi_lock, we can now drop the whole first rq-\u003elock acquisition.\n\nThe p-\u003epi_lock serializing concurrent ttwu() calls protects p-\u003estate,\nwhich we will set to TASK_WAKING to bridge possible p-\u003epi_lock to\nrq-\u003elock gaps and serialize set_task_cpu() calls against\ntask_rq_lock().\n\nThe p-\u003epi_lock serialization of p-\u003esched_class allows us to call\nscheduling class methods without holding the rq-\u003elock, and the\nserialization of p-\u003ecpus_allowed allows us to do the load-balancing\nbits without races.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152729.354401150@chello.nl\n"
    },
    {
      "commit": "8f42ced974df7d5af2de4cf5ea21fe978c7e4478",
      "tree": "514ee978491dc62ee727308be1f228987c47eb54",
      "parents": [
        "ab2515c4b98f7bc4fa11cad9fa0f811d63a72a26"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:53 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:39 2011 +0200"
      },
      "message": "sched: Drop rq-\u003elock from sched_exec()\n\nSince we can now call select_task_rq() and set_task_cpu() with only\np-\u003epi_lock held, and sched_exec() load-balancing has always been\noptimistic, drop all rq-\u003elock usage.\n\nOleg also noted that need_migrate_task() will always be true for\ncurrent, so don\u0027t bother calling that at all.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152729.314204889@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ab2515c4b98f7bc4fa11cad9fa0f811d63a72a26",
      "tree": "cf70c60583a3e3dd5e6cb47193e3db9a4620608b",
      "parents": [
        "0122ec5b02f766c355b3168df53a6c038a24fa0d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:52 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:38 2011 +0200"
      },
      "message": "sched: Drop rq-\u003elock from first part of wake_up_new_task()\n\nSince p-\u003epi_lock now protects all things needed to call\nselect_task_rq() avoid the double remote rq-\u003elock acquisition and rely\non p-\u003epi_lock.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152729.273362517@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0122ec5b02f766c355b3168df53a6c038a24fa0d",
      "tree": "5fa335e80a0110a14e3b9de98780149283f73bbe",
      "parents": [
        "2acca55ed98ad9b9aa25e7e587ebe306c0313dc7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:51 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:38 2011 +0200"
      },
      "message": "sched: Add p-\u003epi_lock to task_rq_lock()\n\nIn order to be able to call set_task_cpu() while either holding\np-\u003epi_lock or task_rq(p)-\u003elock we need to hold both locks in order to\nstabilize task_rq().\n\nThis makes task_rq_lock() acquire both locks, and have\n__task_rq_lock() validate that p-\u003epi_lock is held. This increases the\nlocking overhead for most scheduler syscalls but allows reduction of\nrq-\u003elock contention for some scheduler hot paths (ttwu).\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152729.232781355@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2acca55ed98ad9b9aa25e7e587ebe306c0313dc7",
      "tree": "b06fcc57dc284ccf8dcbda90370fd08250887421",
      "parents": [
        "a8e4f2eaecc9bfa4954adf79a04f4f22fddd829c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:50 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:37 2011 +0200"
      },
      "message": "sched: Also serialize ttwu_local() with p-\u003epi_lock\n\nSince we now serialize ttwu() using p-\u003epi_lock, we also need to\nserialize ttwu_local() using that, otherwise, once we drop the\nrq-\u003elock from ttwu() it can race with ttwu_local().\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152729.192366907@chello.nl\n"
    },
    {
      "commit": "a8e4f2eaecc9bfa4954adf79a04f4f22fddd829c",
      "tree": "b470d8a12be46bcc2a6be6a1c26be7028d6af1dd",
      "parents": [
        "3fe1698b7fe05aeb063564e71e40d09f28d8e80c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:49 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:37 2011 +0200"
      },
      "message": "sched: Delay task_contributes_to_load()\n\nIn prepratation of having to call task_contributes_to_load() without\nholding rq-\u003elock, we need to store the result until we do and can\nupdate the rq accounting accordingly.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152729.151523907@chello.nl\n"
    },
    {
      "commit": "3fe1698b7fe05aeb063564e71e40d09f28d8e80c",
      "tree": "d068bd6a075cd85c64a040cf9fc8e661f8be00a8",
      "parents": [
        "74f8e4b2335de45485b8d5b31a504747f13c8070"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:48 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:37 2011 +0200"
      },
      "message": "sched: Deal with non-atomic min_vruntime reads on 32bits\n\nIn order to avoid reading partial updated min_vruntime values on 32bit\nimplement a seqcount like solution.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152729.111378493@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74f8e4b2335de45485b8d5b31a504747f13c8070",
      "tree": "f8f8ba3e346239c44177d09620e65b18870d911f",
      "parents": [
        "7608dec2ce2004c234339bef8c8074e5e601d0e9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:47 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:36 2011 +0200"
      },
      "message": "sched: Remove rq argument to sched_class::task_waking()\n\nIn preparation of calling this without rq-\u003elock held, remove the\ndependency on the rq argument.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152729.071474242@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7608dec2ce2004c234339bef8c8074e5e601d0e9",
      "tree": "a855754a4fa3de6fe0d287c9d94d58d7bd6e8978",
      "parents": [
        "013fdb8086acaae5f8eb96f9ad48fcd98882ac46"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:46 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:36 2011 +0200"
      },
      "message": "sched: Drop the rq argument to sched_class::select_task_rq()\n\nIn preparation of calling select_task_rq() without rq-\u003elock held, drop\nthe dependency on the rq argument.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152729.031077745@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "013fdb8086acaae5f8eb96f9ad48fcd98882ac46",
      "tree": "dfc5cf5dcdfaa593f836b08642609cc32b0d5936",
      "parents": [
        "fd2f4419b4cbe8fe90796df9617c355762afd6a4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:45 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:35 2011 +0200"
      },
      "message": "sched: Serialize p-\u003ecpus_allowed and ttwu() using p-\u003epi_lock\n\nCurrently p-\u003epi_lock already serializes p-\u003esched_class, also put\np-\u003ecpus_allowed and try_to_wake_up() under it, this prepares the way\nto do the first part of ttwu() without holding rq-\u003elock.\n\nBy having p-\u003esched_class and p-\u003ecpus_allowed serialized by p-\u003epi_lock,\nwe prepare the way to call select_task_rq() without holding rq-\u003elock.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152728.990364093@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fd2f4419b4cbe8fe90796df9617c355762afd6a4",
      "tree": "9eefa7f46c7163f00adb416ff4b9db97653d2665",
      "parents": [
        "d7c01d27ab767a30d672d1fd657aa8336ebdcbca"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:44 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:35 2011 +0200"
      },
      "message": "sched: Provide p-\u003eon_rq\n\nProvide a generic p-\u003eon_rq because the p-\u003ese.on_rq semantics are\nunfavourable for lockless wakeups but needed for sched_fair.\n\nIn particular, p-\u003eon_rq is only cleared when we actually dequeue the\ntask in schedule() and not on any random dequeue as done by things\nlike __migrate_task() and __sched_setscheduler().\n\nThis also allows us to remove p-\u003ese usage from !sched_fair code.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152728.949545047@chello.nl\n"
    },
    {
      "commit": "d7c01d27ab767a30d672d1fd657aa8336ebdcbca",
      "tree": "ff7e1bd2cdbc26f56b034bb63a5443f4f96690fb",
      "parents": [
        "893633817f5b58f5227365d74344e0170a718213"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:43 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:34 2011 +0200"
      },
      "message": "sched: Clean up ttwu() stats\n\nCollect all ttwu() stat code into a single function and ensure its\nalways called for an actual wakeup (changing p-\u003estate to\nTASK_RUNNING).\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152728.908177058@chello.nl\n"
    },
    {
      "commit": "893633817f5b58f5227365d74344e0170a718213",
      "tree": "32270e47d1c60b2a60a3318cc9e1113f05963c3d",
      "parents": [
        "c2f7115e2e52a6c187b8c1f54f0e4970bb677be0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:34 2011 +0200"
      },
      "message": "sched: Change the ttwu() success details\n\ntry_to_wake_up() would only return a success when it would have to\nplace a task on a rq, change that to every time we change p-\u003estate to\nTASK_RUNNING, because that\u0027s the real measure of wakeups.\n\nThis results in that success is always true for the tracepoints.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152728.866866929@chello.nl\n"
    },
    {
      "commit": "c2f7115e2e52a6c187b8c1f54f0e4970bb677be0",
      "tree": "1f975d91404c79a4962bd70cc70a005f0cba9a4a",
      "parents": [
        "c6eb3dda25892f1f974f5420f63e6721aab02f6f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Apr 13 13:28:56 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:33 2011 +0200"
      },
      "message": "sched: Move wq_worker_waking to the correct site\n\nwq_worker_waking_up() needs to match wq_worker_sleeping(), since the\nlatter is only called on deactivate, move the former near activate.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nLink: http://lkml.kernel.org/n/top-t3m7n70n9frmv4pv2n5fwmov@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6eb3dda25892f1f974f5420f63e6721aab02f6f",
      "tree": "b9be3e193dcfeda3589832be10189085cde496c5",
      "parents": [
        "3ca7a440da394808571dad32d33d3bc0389982e6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:41 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:33 2011 +0200"
      },
      "message": "mutex: Use p-\u003eon_cpu for the adaptive spin\n\nSince we now have p-\u003eon_cpu unconditionally available, use it to\nre-implement mutex_spin_on_owner.\n\nRequested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110405152728.826338173@chello.nl\n"
    },
    {
      "commit": "3ca7a440da394808571dad32d33d3bc0389982e6",
      "tree": "ed749666030d201249f62a8dcb93224271d43241",
      "parents": [
        "184748cc50b2dceb8287f9fb657eda48ff8fcfe7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 17:23:40 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:52:32 2011 +0200"
      },
      "message": "sched: Always provide p-\u003eon_cpu\n\nAlways provide p-\u003eon_cpu so that we can determine if its on a cpu\nwithout having to lock the rq.\n\nReviewed-by: Frank Rowand \u003cfrank.rowand@am.sony.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110405152728.785452014@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4c98f8bbeafee12c979c90743f6fda94f7515c7",
      "tree": "3dda24b8a2ec42ab7b42845cb68c8b6e1b0d501f",
      "parents": [
        "f4ad9bd208c98f32a6f9136618e0b8bebe3fb370",
        "85f2e689a5c8fb6ed8fdbee00109e7f6e5fefcb6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:50:37 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 14 08:51:07 2011 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/locking\n\nMerge reason: Pick up this upstream commit:\n\n  6631e635c65d: block: don\u0027t flush plugged IO on forced preemtion scheduling\n\nAs it modifies the scheduler and we\u0027ll queue up dependent patches.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6631e635c65dc33cb798cc2f51d0ddd69ada6319",
      "tree": "c71585118b3ddd42b1bf666fef9f96e60b79f757",
      "parents": [
        "a626ca6a656450e9f4df91d0dda238fff23285f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 13 08:08:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 13 08:08:20 2011 -0700"
      },
      "message": "block: don\u0027t flush plugged IO on forced preemtion scheduling\n\nWe really only want to unplug the pending IO when the process actually\ngoes to sleep.  So move the test for flushing the plug up to the place\nwhere we actually deactivate the task - where we have properly checked\nfor preemption and for the process really sleeping.\n\nAcked-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "94b5eb28b41cc79d9713696e0005ae167b5afd1b",
      "tree": "404680c86a360bfe623b5a287ee87dd5263b5a8e",
      "parents": [
        "d9c97833179036408e53ef5f3f5c7eaf781769bc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:12:19 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:12:19 2011 +0200"
      },
      "message": "block: fixup block IO unplug trace call\n\nIt was removed with the on-stack plugging, readd it and track the\ndepth of requests added when flushing the plug.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d9c97833179036408e53ef5f3f5c7eaf781769bc",
      "tree": "3c0a6d7942f61fcdbeb029664400c3a9b7d65494",
      "parents": [
        "109b81296c63228578d4760794d8dd46e02eddfb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:06:33 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 12 10:06:33 2011 +0200"
      },
      "message": "block: remove block_unplug_timer() trace point\n\nWe no longer have an unplug timer running, so no point in keeping\nthe trace point.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d419e4c0f7584ffc5c72d9aeeaac485cc756ebcf",
      "tree": "6ba462ef5bf4ecc3abed7f1459199259e00c6ab4",
      "parents": [
        "1f112cee07b314e244ee9e71d9c1e6950dc13327"
      ],
      "author": {
        "name": "Shriram Rajagopalan",
        "email": "rshriram@cs.ubc.ca",
        "time": "Mon Apr 11 22:54:48 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:48 2011 +0200"
      },
      "message": "fix XEN_SAVE_RESTORE Kconfig dependencies\n\nMake XEN_SAVE_RESTORE select HIBERNATE_CALLBACKS.\nRemove XEN_SAVE_RESTORE dependency from PM_SLEEP.\n\nSigned-off-by: Shriram Rajagopalan \u003crshriram@cs.ubc.ca\u003e\nAcked-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "1f112cee07b314e244ee9e71d9c1e6950dc13327",
      "tree": "e089e646c78701e37b4ebe00db36082e47cab2d5",
      "parents": [
        "b42282e5a05018ecdc0d63a4ad530b0999785912"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "message": "PM / Hibernate: Introduce CONFIG_HIBERNATE_CALLBACKS\n\nXen save/restore is going to use hibernate device callbacks for\nquiescing devices and putting them back to normal operations and it\nwould need to select CONFIG_HIBERNATION for this purpose.  However,\nthat also would cause the hibernate interfaces for user space to be\nenabled, which might confuse user space, because the Xen kernels\ndon\u0027t support hibernation.  Moreover, it would be wasteful, as it\nwould make the Xen kernels include a substantial amount of code that\nthey would never use.\n\nTo address this issue introduce new power management Kconfig option\nCONFIG_HIBERNATE_CALLBACKS, such that it will only select the code\nthat is necessary for the hibernate device callbacks to work and make\nCONFIG_HIBERNATION select it.  Then, Xen save/restore will be able to\nselect CONFIG_HIBERNATE_CALLBACKS without dragging the entire\nhibernate code along with it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: Shriram Rajagopalan \u003crshriram@cs.ubc.ca\u003e\n"
    },
    {
      "commit": "60495e7760d8ee364695006af37309b0755e0e17",
      "tree": "1c842c0797a6a6b0066b18f296661fcf77cd0d0a",
      "parents": [
        "54ab4ff4316eb329d2c1acc110fbc623d2966931"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:10:04 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 14:09:32 2011 +0200"
      },
      "message": "sched: Dynamic sched_domain::level\n\nRemove the SD_LV_ enum and use dynamic level assignments.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.969433965@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54ab4ff4316eb329d2c1acc110fbc623d2966931",
      "tree": "61632ef9c87adb930e96e2a63d2027a571b58038",
      "parents": [
        "d069b916f7b50021d41d6ce498f86da32a7afaec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:10:03 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 14:09:31 2011 +0200"
      },
      "message": "sched: Move sched domain storage into the topology list\n\nIn order to remove the last dependency on the statid domain levels,\nmove the sd_data storage into the topology structure.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.924926412@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d069b916f7b50021d41d6ce498f86da32a7afaec",
      "tree": "a8ebe91930f393edf737d2c08540a1dd218c94d6",
      "parents": [
        "2c402dc3bb502e9dd74fce72c14d293fcef4719d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:10:02 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 14:09:29 2011 +0200"
      },
      "message": "sched: Reverse the topology list\n\nIn order to get rid of static sched_domain::level assignments, reverse\nthe topology iteration.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.876506131@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c402dc3bb502e9dd74fce72c14d293fcef4719d",
      "tree": "50b54fa22739e13685bb1e4f54a37551749f4ad4",
      "parents": [
        "eb7a74e6cd936c00749e2921b9e058631d986648"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:10:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 14:09:27 2011 +0200"
      },
      "message": "sched: Unify the sched_domain build functions\n\nSince all the __build_$DOM_sched_domain() functions do pretty much the\nsame thing, unify them.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.826347257@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb7a74e6cd936c00749e2921b9e058631d986648",
      "tree": "3efb7b3d2560a4121226900edb433c7f2c50684c",
      "parents": [
        "d3081f52f29da1ba6c27685519a9222b39eac763"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:10:00 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 14:09:26 2011 +0200"
      },
      "message": "sched: Stuff the sched_domain creation in a data-structure\n\nIn order to make the topology contruction fully dynamic, remove the\nstill hard-coded list of possible domains and stick them in a\ndata-structure.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.770335383@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3081f52f29da1ba6c27685519a9222b39eac763",
      "tree": "5968de6895d304c0762b6c5788bb892bb6bdd2e3",
      "parents": [
        "4cb988395da6e16627a8be69729e50cd72ebb23e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:59 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 14:09:24 2011 +0200"
      },
      "message": "sched: Create proper cpu_$DOM_mask() functions\n\nIn order to unify the sched domain creation more, create proper\ncpu_$DOM_mask() functions for those domains that didn\u0027t already have\none.\n\nUse the sched_domains_tmpmask for the weird NUMA domain span.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.717702108@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4cb988395da6e16627a8be69729e50cd72ebb23e",
      "tree": "17a655fbac5348de9a70ad8726354fa878bc66cb",
      "parents": [
        "f96225fd51893b6650cffd5427f13f6b1b356488"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:58 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 14:05:00 2011 +0200"
      },
      "message": "sched: Avoid allocations in sched_domain_debug()\n\nSince we\u0027re all serialized by sched_domains_mutex we can use\nsched_domains_tmpmask and avoid having to do allocations. This means\nwe can use sched_domains_debug() for cpu_attach_domain() again.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.664347467@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f96225fd51893b6650cffd5427f13f6b1b356488",
      "tree": "24ce12cef2bf87dbcedb3f413b6301ba6215a531",
      "parents": [
        "7dd04b730749f957c116f363524fd622b05e5141"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:23 2011 +0200"
      },
      "message": "sched: Create persistent sched_domains_tmpmask\n\nSince sched domain creation is fully serialized by the\nsched_domains_mutex we can create a single persistent tmpmask to use\nduring domain creation.\n\nThis removes the need for s_data::send_covered.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.607287405@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7dd04b730749f957c116f363524fd622b05e5141",
      "tree": "cfadbf894d653a44f774ebdeb1487f049657d7d0",
      "parents": [
        "bf28b253266ebd73c331dde24d64606afde32ceb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:56 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:22 2011 +0200"
      },
      "message": "sched: Remove some dead code\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.553814623@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf28b253266ebd73c331dde24d64606afde32ceb",
      "tree": "7378b3c9fd37ecfdca30fa074f706624f8807f8e",
      "parents": [
        "3bd65a80affb9768b91f03c56dba46ee79525f9b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:55 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:22 2011 +0200"
      },
      "message": "sched: Remove nodemask allocation\n\nThere\u0027s only one nodemask user left so remove it with a direct\ncomputation and save some memory and reduce some code-flow\ncomplexity.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.505608966@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3bd65a80affb9768b91f03c56dba46ee79525f9b",
      "tree": "7c62ee65e2fcd936c35eb6e6196e41b2313a332d",
      "parents": [
        "3859173d43658d51a749bc0201b943922577d39c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:54 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:21 2011 +0200"
      },
      "message": "sched: Simplify NODE/ALLNODES domain creation\n\nDon\u0027t treat ALLNODES/NODE different for difference\u0027s sake. Simply\nalways create the ALLNODES domain and let the sd_degenerate() checks\nkill it when its redundant. This simplifies the code flow.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.455464579@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a6c75f2f8d988ecfecf971f98f1cb6fc4de522fe",
      "tree": "0524765c72bd13c0d4190c2dc17ac1a01c9269ad",
      "parents": [
        "822ff793c34a5d4c8b5f3f9ce932602233d96464"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:52 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:20 2011 +0200"
      },
      "message": "sched: Avoid using sd-\u003elevel\n\nDon\u0027t use sd-\u003elevel for identifying properties of the domain.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.350174079@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "822ff793c34a5d4c8b5f3f9ce932602233d96464",
      "tree": "7148403303e74f4fa74dd29696908df2a751cd1b",
      "parents": [
        "dce840a08702bd13a9a186e07e63d1ef82256b5e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:51 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:20 2011 +0200"
      },
      "message": "sched: Simplify the free path some\n\nIf we check the root_domain reference count we can see if its been\nused or not, use this observation to simplify some of the return\npaths.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.298339503@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dce840a08702bd13a9a186e07e63d1ef82256b5e",
      "tree": "168bb98aed7f5761ebe31aa92c34959e9d0f238a",
      "parents": [
        "a9c9a9b6bff27ac9c746344a9c1a19bf3327002c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:50 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:19 2011 +0200"
      },
      "message": "sched: Dynamically allocate sched_domain/sched_group data-structures\n\nInstead of relying on static allocations for the sched_domain and\nsched_group trees, dynamically allocate and RCU free them.\n\nAllocating this dynamically also allows for some build_sched_groups()\nsimplification since we can now (like with other simplifications) rely\non the sched_domain tree instead of hard-coded knowledge.\n\nOne tricky to note is that detach_destroy_domains() needs to hold\nrcu_read_lock() over the entire tear-down, per-cpu is not sufficient\nsince that can lead to partial sched_group existance (could possibly\nbe solved by doing the tear-down backwards but this is much more\nrobust).\n\nA concequence of the above is that we can no longer print the\nsched_domain debug stuff from cpu_attach_domain() since that might now\nrun with preemption disabled (due to classic RCU etc.) and\nsched_domain_debug() does some GFP_KERNEL allocations.\n\nAnother thing to note is that we now fully rely on normal RCU and not\nRCU-sched, this is because with the new and exiting RCU flavours we\ngrew over the years BH doesn\u0027t necessarily hold off RCU-sched grace\nperiods (-rt is known to break this). This would in fact already cause\nus grief since we do sched_domain/sched_group iterations from softirq\ncontext.\n\nThis patch is somewhat larger than I would like it to be, but I didn\u0027t\nfind any means of shrinking/splitting this.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.245307941@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9c9a9b6bff27ac9c746344a9c1a19bf3327002c",
      "tree": "5257413293a39f8a2812961611425db1d8173189",
      "parents": [
        "21d42ccfd6c6c11f96c2acfd32a85cfc33514d3a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:49 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:19 2011 +0200"
      },
      "message": "sched: Simplify sched_groups_power initialization\n\nAgain, instead of relying on knowing the possible domains and their\norder, simply rely on the sched_domain tree and whatever domains are\npresent in there to initialize the sched_group cpu_power.\n\nNote: we need to iterate the CPU mask backwards because of the\ncpumask_first() condition for iterating up the tree. By iterating the\nmask backwards we ensure all groups of a domain are set-up before\nstarting on the parent groups that rely on its children to be\ncompletely done.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.187335414@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "21d42ccfd6c6c11f96c2acfd32a85cfc33514d3a",
      "tree": "49ad88cedc18409b7943bbaa1ef9fa75f8699f34",
      "parents": [
        "1cf51902546d60b8a7a6aba2dd557bd4ba8840ea"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:48 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:19 2011 +0200"
      },
      "message": "sched: Simplify finding the lowest sched_domain\n\nInstead of relying on knowing the build order and various CONFIG_\nflags simply remember the bottom most sched_domain when we created the\ndomain hierarchy.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.134511046@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1cf51902546d60b8a7a6aba2dd557bd4ba8840ea",
      "tree": "438eee650197f32cfd8cd6e2551c38f2c7f9d620",
      "parents": [
        "3739494e08da50c8a68d65eed5ba3012a54b40d4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:47 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:18 2011 +0200"
      },
      "message": "sched: Simplify sched_group creation\n\nInstead of calling build_sched_groups() for each possible sched_domain\nwe might have created, note that we can simply iterate the\nsched_domain tree and call it for each sched_domain present.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.077862519@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3739494e08da50c8a68d65eed5ba3012a54b40d4",
      "tree": "017c352276b7e1bc800b7fa08bf6da78c56b8e82",
      "parents": [
        "cd4ea6ae3982f6861da3b510e69cbc194f331d83"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:46 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:18 2011 +0200"
      },
      "message": "sched: Clean up some ALLNODES code\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122942.025636011@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd4ea6ae3982f6861da3b510e69cbc194f331d83",
      "tree": "7ca7e19bf9be55102768f7c1ab2bd76643e6524b",
      "parents": [
        "a06dadbec5c5df0bf3a35f33616f67d10ca9ba28"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:45 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:17 2011 +0200"
      },
      "message": "sched: Change NODE sched_domain group creation\n\nThe NODE sched_domain is \u0027special\u0027 in that it allocates sched_groups\nper CPU, instead of sharing the sched_groups between all CPUs.\n\nWhile this might have some benefits on large NUMA and avoid remote\nmemory accesses when iterating the sched_groups, this does break\ncurrent code that assumes sched_groups are shared between all\nsched_domains (since the dynamic cpu_power patches).\n\nSo refactor the NODE groups to behave like all other groups.\n\n(The ALLNODES domain again shared its groups across the CPUs for some\nreason).\n\nIf someone does measure a performance decrease due to this change we\nneed to revisit this and come up with another way to have both dynamic\ncpu_power and NUMA work nice together.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122941.978111700@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a06dadbec5c5df0bf3a35f33616f67d10ca9ba28",
      "tree": "bd30d8b4e54f49567baf286bb42c63d30a4c9662",
      "parents": [
        "d274cb30f4a08045492d3f0c47cdf1a25668b1f5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:44 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:17 2011 +0200"
      },
      "message": "sched: Simplify build_sched_groups()\n\nNotice that the mask being computed is the same as the domain span we\njust computed. By using the domain_span we can avoid some mask\nallocations and computations.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122941.925028189@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d274cb30f4a08045492d3f0c47cdf1a25668b1f5",
      "tree": "11e11302a1f708fe6154046026b2e56447366bcd",
      "parents": [
        "c4a8849af939082052d8117f9ea3e170a99ff232"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:43 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:16 2011 +0200"
      },
      "message": "sched: Simplify -\u003ecpu_power initialization\n\nThe code in update_group_power() does what init_sched_groups_power()\ndoes and more, so remove the special init_ code and call the generic\ncode instead.\n\nAlso move the sd-\u003espan_weight initialization because\nupdate_group_power() needs it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122941.875856012@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c4a8849af939082052d8117f9ea3e170a99ff232",
      "tree": "845dac046d187c58643f987aac4a4eebeebbb88f",
      "parents": [
        "f4ad9bd208c98f32a6f9136618e0b8bebe3fb370"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Apr 07 14:09:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 12:58:16 2011 +0200"
      },
      "message": "sched: Remove obsolete arch_ prefixes\n\nNon weak static functions clearly are not arch specific, so remove the\narch_ prefix.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20110407122941.820460566@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f4ad9bd208c98f32a6f9136618e0b8bebe3fb370",
      "tree": "1cefacea2cc5d95f148a0036b1b13996ba8ed04f",
      "parents": [
        "b30aef17f71cf9e24b10c11cbb5e5f0ebe8a85ab"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Fri Apr 08 12:53:09 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 11:08:55 2011 +0200"
      },
      "message": "sched: Eliminate dead code from wakeup_gran()\n\ncalc_delta_fair() checks NICE_0_LOAD already, delete duplicate check.\n\nSigned-off-by: Shaohua Li\u003cshaohua.li@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLink: http://lkml.kernel.org/r/1302238389.3981.92.camel@sli10-conroe\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b30aef17f71cf9e24b10c11cbb5e5f0ebe8a85ab",
      "tree": "0e5e0e0d1d93edf934f58b116ee0c4e81db01e72",
      "parents": [
        "b0432d8f162c7d5d9537b4cb749d44076b76a783"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Fri Apr 08 12:20:16 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 11:08:54 2011 +0200"
      },
      "message": "sched: Fix erroneous all_pinned logic\n\nThe scheduler load balancer has specific code to deal with cases of\nunbalanced system due to lots of unmovable tasks (for example because of\nhard CPU affinity). In those situation, it excludes the busiest CPU that\nhas pinned tasks for load balance consideration such that it can perform\nsecond 2nd load balance pass on the rest of the system.\n\nThis all works as designed if there is only one cgroup in the system.\n\nHowever, when we have multiple cgroups, this logic has false positives and\ntriggers multiple load balance passes despite there are actually no pinned\ntasks at all.\n\nThe reason it has false positives is that the all pinned logic is deep in\nthe lowest function of can_migrate_task() and is too low level:\n\nload_balance_fair() iterates each task group and calls balance_tasks() to\nmigrate target load. Along the way, balance_tasks() will also set a\nall_pinned variable. Given that task-groups are iterated, this all_pinned\nvariable is essentially the status of last group in the scanning process.\nTask group can have number of reasons that no load being migrated, none\ndue to cpu affinity. However, this status bit is being propagated back up\nto the higher level load_balance(), which incorrectly think that no tasks\nwere moved.  It kick off the all pinned logic and start multiple passes\nattempt to move load onto puller CPU.\n\nTo fix this, move the all_pinned aggregation up at the iterator level.\nThis ensures that the status is aggregated over all task-groups, not just\nlast one in the list.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/BANLkTi\u003dernzNawaR5tJZEsV_QVnfxqXmsQ@mail.gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b0432d8f162c7d5d9537b4cb749d44076b76a783",
      "tree": "98b94ec55f6d18935aedbc9ab898705ad252b939",
      "parents": [
        "4263a2f1dad8c8e7ce2352a0cbc882c2b0c044a9"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Thu Apr 07 17:23:22 2011 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 11:08:54 2011 +0200"
      },
      "message": "sched: Fix sched-domain avg_load calculation\n\nIn function find_busiest_group(), the sched-domain avg_load isn\u0027t\ncalculated at all if there is a group imbalance within the domain. This\nwill cause erroneous imbalance calculation.\n\nThe reason is that calculate_imbalance() sees sds-\u003eavg_load \u003d 0 and it\nwill dump entire sds-\u003emax_load into imbalance variable, which is used\nlater on to migrate entire load from busiest CPU to the puller CPU.\n\nThis has two really bad effect:\n\n1. stampede of task migration, and they won\u0027t be able to break out\n   of the bad state because of positive feedback loop: large load\n   delta -\u003e heavier load migration -\u003e larger imbalance and the cycle\n   goes on.\n\n2. severe imbalance in CPU queue depth.  This causes really long\n   scheduling latency blip which affects badly on application that\n   has tight latency requirement.\n\nThe fix is to have kernel calculate domain avg_load in both cases. This\nwill ensure that imbalance calculation is always sensible and the target\nis usually half way between busiest and puller CPU.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/20110408002322.3A0D812217F@elm.corp.google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e566b76ed30768140df8f0023904aed5a41244f7",
      "tree": "5d8fa756453cb6f60554c6c253a3cf2a01945628",
      "parents": [
        "621d26567fd0c222f419e3b5ddf39e529e0fdcb3"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Wed Apr 06 02:54:54 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 11 11:07:55 2011 +0200"
      },
      "message": "perf_event: Fix cgrp event scheduling bug in perf_enable_on_exec()\n\nThere is a bug in perf_event_enable_on_exec() when cgroup events are\nactive on a CPU: the cgroup events may be scheduled twice causing event\nstate corruptions which eventually may lead to kernel panics.\n\nThe reason is that the function needs to first schedule out the cgroup\nevents, just like for the per-thread events. The cgroup event are\nscheduled back in automatically from the perf_event_context_sched_in()\nfunction.\n\nThe patch also adds a WARN_ON_ONCE() is perf_cgroup_switch() to catch any\nbogus state.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110406005454.GA1062@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f9fa0bc1fabe1d861e46d80ecbe7e85da359195c",
      "tree": "7d90bcd4b78f22a72ea4d3102b8e2714b78d1e43",
      "parents": [
        "bb3c90f0de7b34995b5e35cf5dc97a3d428b3761"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Apr 08 10:53:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 08 11:05:24 2011 -0700"
      },
      "message": "signal.c: fix erroneous syscall kernel-doc\n\nFix erroneous syscall kernel-doc comments in kernel/signal.c.\n\nReported-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b9686ff4ddfdf45662024edd567920e6db87beb",
      "tree": "1d7e1d735121ea3c44ab72a24506151e4e88a36e",
      "parents": [
        "df9b29d13e043e134e65b9f66b68fa7eae5db8f0",
        "f994d99cf140dbb637e49882891c89b3fd84becd",
        "49c022e657fbe661460d191fbe776a387132e2b3",
        "09552b2696896dbb715be0caf91b23276f9139ba",
        "4f5058c3b71ed5930bb2b478c4d5dbc799dd9ad1",
        "f64fac86f9cd375743ed34385efc8a7732fa8e7b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 12:12:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 12:12:58 2011 -0700"
      },
      "message": "Merge branches \u0027x86-fixes-for-linus\u0027, \u0027sched-fixes-for-linus\u0027, \u0027timers-fixes-for-linus\u0027, \u0027irq-fixes-for-linus\u0027 and \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-32, fpu: Fix FPU exception handling on non-SSE systems\n  x86, hibernate: Initialize mmu_cr4_features during boot\n  x86-32, NUMA: Fix ACPI NUMA init broken by recent x86-64 change\n  x86: visws: Fixup irq overhaul fallout\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Clean up rebalance_domains() load-balance interval calculation\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86/mrst/vrtc: Fix boot crash in mrst_rtc_init()\n  rtc, x86/mrst/vrtc: Fix boot crash in rtc_read_alarm()\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Fix cpumask leak in __setup_irq()\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf probe: Fix listing incorrect line number with inline function\n  perf probe: Fix to find recursively inlined function\n  perf probe: Fix multiple --vars options behavior\n  perf probe: Fix to remove redundant close\n  perf probe: Fix to ensure function declared file\n"
    },
    {
      "commit": "42933bac11e811f02200c944d8562a15f8ec4ff0",
      "tree": "fcdd9afe56eb0e746565ddd1f92f22d36678b843",
      "parents": [
        "2b9accbee563f535046ff2cd382d0acaa92e130c",
        "25985edcedea6396277003854657b5f3cb31a628"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 07 11:14:49 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6\n\n* \u0027for-linus2\u0027 of git://git.profusion.mobi/users/lucas/linux-2.6:\n  Fix common misspellings\n"
    },
    {
      "commit": "49c022e657fbe661460d191fbe776a387132e2b3",
      "tree": "487b713816a5ff3d81437aeecf111ffa414f6ede",
      "parents": [
        "b2a8b4b81966094703088a7bc76a313af841924d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Apr 05 10:14:25 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Apr 05 10:29:36 2011 +0200"
      },
      "message": "sched: Clean up rebalance_domains() load-balance interval calculation\n\nInstead of the possible multiple-evaluation of num_online_cpus()\nin rebalance_domains() that Linus reported, avoid it altogether\nin the normal case since it\u0027s implemented with a Hamming weight\nfunction over a cpu bitmask which can be darn expensive for those\nwith big iron.\n\nThis also makes it cleaner, smaller and documents the code.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1301991265.2225.12.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41c57892a2895865afc89ff1a21f91a0f1506f66",
      "tree": "ca637f0e7f4ec93b9c6f58c5868c27305a58da43",
      "parents": [
        "5aba085ededa6c5a1ff465e2aebc3e8eb00a7567"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Apr 04 15:00:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 17:51:46 2011 -0700"
      },
      "message": "kernel/signal.c: add kernel-doc notation to syscalls\n\nAdd kernel-doc to syscalls in signal.c.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5aba085ededa6c5a1ff465e2aebc3e8eb00a7567",
      "tree": "61037c7906bc6334823bc75d1fa0b990aeadcea3",
      "parents": [
        "21b86bd5a838ee882d36d354185e29650b0757dd"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Apr 04 14:59:31 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 17:51:46 2011 -0700"
      },
      "message": "kernel/signal.c: fix typos and coding style\n\nGeneral coding style and comment fixes; no code changes:\n\n - Use multi-line-comment coding style.\n - Put some function signatures completely on one line.\n - Hyphenate some words.\n - Spell Posix as POSIX.\n - Correct typos \u0026 spellos in some comments.\n - Drop trailing whitespace.\n - End sentences with periods.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "148086bb64694cc91624bab2a550d50f800eb4b7",
      "tree": "77e208ccee6fc97c608f6d827e2605345bf3b20d",
      "parents": [
        "4da7e90e653d67dfd405868246d316b04852e2d5",
        "3436ae1298cb22d722a6520fc97f112dd767a9e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:58 2011 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix rebalance interval calculation\n  sched, doc: Beef up load balancing description\n  sched: Leave sched_setscheduler() earlier if possible, do not disturb SCHED_FIFO tasks\n"
    },
    {
      "commit": "4da7e90e653d67dfd405868246d316b04852e2d5",
      "tree": "735707a0b9f0c212776717ec8bc95735ff6a1d01",
      "parents": [
        "fb9a7d76da108d120efb2258ea83b18dbbb2ecdd",
        "fd1edb3aa2c1d92618d8f0c6d15d44ea41fcac6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:36:40 2011 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Fix task_struct reference leak\n  perf: Fix task context scheduling\n  perf: mmap 512 kiB by default\n  perf: Rebase max unprivileged mlock threshold on top of page size\n  perf tools: Fix NO_NEWT\u003d1 python build error\n  perf symbols: Properly align symbol_conf.priv_size\n  perf tools: Emit clearer message for sys_perf_event_open ENOENT return\n  perf tools: Fixup exit path when not able to open events\n  perf symbols: Fix vsyscall symbol lookup\n  oprofile, x86: Allow setting EDGE/INV/CMASK for counter events\n"
    },
    {
      "commit": "4352d9d44b935e4d000be6ec89ddb55c2bf35f24",
      "tree": "26b9d37f5a41b4c01d800a444ad230eafb48e47a",
      "parents": [
        "b3b896c73b4b04b506816a09994192e3a54f0fef"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Mon Apr 04 08:31:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 04 08:31:23 2011 -0700"
      },
      "message": "ntp: fix non privileged system time shifting\n\nThe ADJ_SETOFFSET bit added in commit 094aa188 (\"ntp: Add ADJ_SETOFFSET\nmode bit\") also introduced a way for any user to change the system time.\nSneaky or buggy calls to adjtimex() could set\n\n    ADJ_OFFSET_SS_READ | ADJ_SETOFFSET\n\nwhich would result in a successful call to timekeeping_inject_offset().\nThis patch fixes the issue by adding the capability check.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f5058c3b71ed5930bb2b478c4d5dbc799dd9ad1",
      "tree": "5c756cbcd329d62fb95744185b54c952eed903df",
      "parents": [
        "78fca1b95837a44983608302e89c7258981be9b3"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Sat Apr 02 19:39:35 2011 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 02 21:26:20 2011 +0200"
      },
      "message": "genirq: Fix cpumask leak in __setup_irq()\n\nThe allocated cpumask should be freed in __setup_irq().\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nLKML-Reference: \u003c1301744375-6812-1-git-send-email-dfeng@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c0bb9e45f3a7f67fc358946727bc3d5f23d0f55d",
      "tree": "55b320cd26722eb6e201110b4aceddfa15983722",
      "parents": [
        "76d479a7caff58b1e5f31d80805f7f65f9177696"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Aug 25 10:22:58 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Apr 01 16:14:30 2011 +1100"
      },
      "message": "kdump: Allow shrinking of kdump region to be overridden\n\nOn ppc64 the crashkernel region almost always overlaps an area of firmware.\nThis works fine except when using the sysfs interface to reduce the kdump\nregion. If we free the firmware area we are guaranteed to crash.\n\nRename free_reserved_phys_range to crash_free_reserved_phys_range and make\nit a weak function so we can override it.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "fd1edb3aa2c1d92618d8f0c6d15d44ea41fcac6a",
      "tree": "ae456f2e42966042790809d7590c31736aa05557",
      "parents": [
        "ab711fe08297de1485fff0a366e6db8828cafd6a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 28 13:13:56 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:02:56 2011 +0200"
      },
      "message": "perf: Fix task_struct reference leak\n\nsys_perf_event_open() had an imbalance in the number of task refs it\ntook causing memory leakage\n\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: stable@kernel.org # .37+\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": "20443384fe090c5f8aeb016e7e85659c5bbdd69f",
      "tree": "c023e471d96f1c7d5e344f4b6ae7bfb8db0e1937",
      "parents": [
        "652d78fd7a9ebd881290d6bbbc85925c06b907b4"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 31 03:33:29 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:02:54 2011 +0200"
      },
      "message": "perf: Rebase max unprivileged mlock threshold on top of page size\n\nEnsure we allow 512 kiB + 1 page for user control without\nassuming a 4096 bytes page size.\n\nReported-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1301535209-9679-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3436ae1298cb22d722a6520fc97f112dd767a9e1",
      "tree": "ba05a2b0a80157f9eb19e34b0ac54b9dd279600b",
      "parents": [
        "e2495b577324938f0209b4f895c5f205c7e47854"
      ],
      "author": {
        "name": "Sisir Koppaka",
        "email": "sisir.koppaka@gmail.com",
        "time": "Sat Mar 26 18:22:55 2011 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:00:37 2011 +0200"
      },
      "message": "sched: Fix rebalance interval calculation\n\nThe interval for checking scheduling domains if they are due to be\nbalanced currently depends on boot state NR_CPUS, which may not\naccurately reflect the number of online CPUs at the time of check.\n\nThus replace NR_CPUS with num_online_cpus().\n\n (ed: Should only affect those who set NR_CPUS really high, such as 4096\n      or so :-)\n\nSigned-off-by: Sisir Koppaka \u003csisir.koppaka@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cAANLkTikqHWid2Q93F5U5Qw5snJH8C5PXoa7J6\u003d6hYO94@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a51e91981870d013fcfcc08b0117997edbcbc7a7",
      "tree": "6e673d3b27f6150dd2723d773a8704657e5bb261",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Dario Faggioli",
        "email": "raistlin@linux.it",
        "time": "Thu Mar 24 14:00:18 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 31 13:00:34 2011 +0200"
      },
      "message": "sched: Leave sched_setscheduler() earlier if possible, do not disturb SCHED_FIFO tasks\n\nsched_setscheduler() (in sched.c) is called in order of changing the\nscheduling policy and/or the real-time priority of a task. Thus,\nif we find out that neither of those are actually being modified, it\nis possible to return earlier and save the overhead of a full\ndeactivate+activate cycle of the task in question.\n\nBeside that, if we have more than one SCHED_FIFO task with the same\npriority on the same rq (which means they share the same priority queue)\nhaving one of them changing its position in the priority queue because of\na sched_setscheduler (as it happens by means of the deactivate+activate)\nthat does not actually change the priority violates POSIX which states,\nfor SCHED_FIFO:\n\n  \"If a thread whose policy or priority has been modified by\n   pthread_setschedprio() is a running thread or is runnable, the effect on\n   its position in the thread list depends on the direction of the\n   modification, as follows: a. \u003c...\u003e b. If the priority is unchanged, the\n   thread does not change position in the thread list. c. \u003c...\u003e\"\n\n     http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_08.html\n\n (ed: And the POSIX specification here does, briefly and somewhat unexpectedly,\n      match what common sense tells us as well. )\n\nSigned-off-by: Dario Faggioli \u003craistlin@linux.it\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1300971618.3960.82.camel@Palantir\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "78c89825649a9a5ed526c507603196f467d781a5",
      "tree": "eb2485baf085f7a6820c6b9030dfa3d733591aa3",
      "parents": [
        "e282326600f31ab38d8814fd6deb277a48850c35"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 30 14:13:23 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 30 14:13:23 2011 +0200"
      },
      "message": "genirq: Remove the now obsolete config options and select statements\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "353c8ed44f8f7414be614685ed29d1e23f5fa76b",
      "tree": "215ed76c15b6d95f7444fc845635253628dc33ba",
      "parents": [
        "0ce790e7d736cedc563e1fb4e998babf5a4dbc3d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 22:18:28 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 22:24:05 2011 +0200"
      },
      "message": "genirq: Fix misnamed label in handle_edge_eoi_irq\n\nReported-by: michael@ellerman.id.au\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: linuxppc-dev@lists.ozlabs.org\n"
    },
    {
      "commit": "851d7cf647e0d31668eb5dc496f7698a2f6136b4",
      "tree": "15a292814827ef43cbfa6d28e41c7058bf71ebf7",
      "parents": [
        "0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 02:51:13 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:50:32 2011 +0200"
      },
      "message": "genirq: Remove move_*irq leftovers\n\nAll users converted to new interface.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1",
      "tree": "b4b0cb4b619368bc93ff883f4b667e05a185549b",
      "parents": [
        "dced35aeb0367dda2636ee9ee914bda14510dcc9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 13:32:20 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:48:19 2011 +0200"
      },
      "message": "genirq: Remove compat code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a6e120ed42004d6051fff7c3233e2554f12ccecb",
      "tree": "dd0210b2f78a5fca1b24fe8211d5dbaac9434a6b",
      "parents": [
        "a9eb076b21425929ce543978db03265d9db210de"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 25 22:20:51 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:47:58 2011 +0200"
      },
      "message": "alpha: Use generic show_interrupts()\n\nThe only subtle difference is that alpha uses ACTUAL_NR_IRQS and\nprints the IRQF_DISABLED flag.\n\nChange the generic implementation to deal with ACTUAL_NR_IRQS if\ndefined.\n\nThe IRQF_DISABLED printing is pointless, as we nowadays run all\ninterrupts with irqs disabled.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cd22c0e44b105aecd78e5f9e77abab3a1b8dc00c",
      "tree": "98be0a3bdb0fcc9ff7f31e774a4c69d655d19041",
      "parents": [
        "89078d572eb9ce8d4c04264b8b0ba86de0d74c8f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 11:36:05 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 11:36:05 2011 +0200"
      },
      "message": "genirq: Fix harmless typo\n\nThe late night fixup missed to convert the data type from irq_desc to\nirq_data, which results in a harmless but annoying warning.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e5217fb8ae5527e95cff9474f7b3c0d8e3a35fea",
      "tree": "eb85a4b7b02fb49a3534a976f79a3798393f7fc6",
      "parents": [
        "5ede9ddfba424b5dad96e7ccd55607875a64ff6c",
        "8ec4ad2bebd1dd7e782bd1a1ac4c5e17ceb2ff81",
        "0ef5ca1e1f0de71300142b8f730f26ded6a0c2f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 17:39:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 17:39:54 2011 -0700"
      },
      "message": "Merge branches \u0027irq-cleanup-for-linus\u0027 and \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-cleanup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  vlynq: Convert irq functions\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq; Fix cleanup fallout\n  genirq: Fix typo and remove unused variable\n  genirq: Fix new kernel-doc warnings\n  genirq: Add setter for AFFINITY_SET in irq_data state\n  genirq: Provide setter inline for IRQD_IRQ_INPROGRESS\n  genirq: Remove handle_IRQ_event\n  arm: Ns9xxx: Remove private irq flow handler\n  powerpc: cell: Use the core flow handler\n  genirq: Provide edge_eoi flow handler\n  genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data\n  genirq: Split irq_set_affinity() so it can be called with lock held.\n  genirq: Add chip flag for restricting cpu_on/offline calls\n  genirq: Add chip hooks for taking CPUs on/off line.\n  genirq: Add irq disabled flag to irq_data state\n  genirq: Reserve the irq when calling irq_set_chip()\n"
    },
    {
      "commit": "0ef5ca1e1f0de71300142b8f730f26ded6a0c2f3",
      "tree": "f8eb0e5e63b7d3115c27f110e59a762fd871d693",
      "parents": [
        "a6aeddd1c4e464a2150f97ca2d1c3d68cfbd9296"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 21:59:37 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 01:41:22 2011 +0200"
      },
      "message": "genirq; Fix cleanup fallout\n\nI missed the CONFIG_GENERIC_PENDING_IRQ dependency in the affinity\nrelated functions and the IRQ_LEVEL propagation into irq_data\nstate. Did not pop up on my main test platforms. :(\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: David Daney \u003cddaney@caviumnetworks.com\u003e\n"
    },
    {
      "commit": "243b422af9ea9af4ead07a8ad54c90d4f9b6081a",
      "tree": "bdcd77b51cce8bd2ed5fcc41c6b430a8d6a9d74f",
      "parents": [
        "5847098cd896c92819800e17e983bf6530035209"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 28 14:13:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 28 15:45:44 2011 -0700"
      },
      "message": "Relax si_code check in rt_sigqueueinfo and rt_tgsigqueueinfo\n\nCommit da48524eb206 (\"Prevent rt_sigqueueinfo and rt_tgsigqueueinfo\nfrom spoofing the signal code\") made the check on si_code too strict.\nThere are several legitimate places where glibc wants to queue a\nnegative si_code different from SI_QUEUE:\n\n - This was first noticed with glibc\u0027s aio implementation, which wants\n   to queue a signal with si_code SI_ASYNCIO; the current kernel\n   causes glibc\u0027s tst-aio4 test to fail because rt_sigqueueinfo()\n   fails with EPERM.\n\n - Further examination of the glibc source shows that getaddrinfo_a()\n   wants to use SI_ASYNCNL (which the kernel does not even define).\n   The timer_create() fallback code wants to queue signals with SI_TIMER.\n\nAs suggested by Oleg Nesterov \u003coleg@redhat.com\u003e, loosen the check to\nforbid only the problematic SI_TKILL case.\n\nReported-by: Klaus Dittrich \u003ckladit@arcor.de\u003e\nAcked-by: Julien Tinnes \u003cjln@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6aeddd1c4e464a2150f97ca2d1c3d68cfbd9296",
      "tree": "18350cbcc8aa5619e98e5f56750828da300db537",
      "parents": [
        "30398bf6c684a77274dbdabf7efc1f24e4a99028"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 20:28:56 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 20:28:56 2011 +0200"
      },
      "message": "genirq: Fix typo and remove unused variable\n\nSigh, I\u0027m overworked.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "30398bf6c684a77274dbdabf7efc1f24e4a99028",
      "tree": "d4ee5d514a53fbb8186bdbc726a525bb488c7dcf",
      "parents": [
        "ee38c04b58983a236b43bae71b2415d38bceaf75"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Mar 18 09:33:56 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 20:13:57 2011 +0200"
      },
      "message": "genirq: Fix new kernel-doc warnings\n\nFix new irq-related kernel-doc warnings in 2.6.38:\n\nWarning(kernel/irq/manage.c:149): No description found for parameter \u0027mask\u0027\nWarning(kernel/irq/manage.c:149): Excess function parameter \u0027cpumask\u0027 description in \u0027irq_set_affinity\u0027\nWarning(include/linux/irq.h:161): No description found for parameter \u0027state_use_accessors\u0027\nWarning(include/linux/irq.h:161): Excess struct/union/enum/typedef member \u0027state_use_accessor\u0027 description in \u0027irq_data\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nLKML-Reference: \u003c20110318093356.b939558d.randy.dunlap@oracle.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "33b054b867b84015173a38d9cd9ff513b6498818",
      "tree": "341f935d57af66fe82d384940b577fa9215ce5e6",
      "parents": [
        "6829310548a76d343205029bb41c14e75bf6a7fb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:27:31 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:55:11 2011 +0200"
      },
      "message": "genirq: Remove handle_IRQ_event\n\nLast user gone.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0521c8fbb3da45c2a58cd551ca6e9644983f6028",
      "tree": "d2ed3452a75f1d3ff516cd02c86f4371db81e06e",
      "parents": [
        "32f4125ebffee4f3c4dbc6a437fc656129eb9e60"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:13:24 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:55:11 2011 +0200"
      },
      "message": "genirq: Provide edge_eoi flow handler\n\nThis is a replacment for the cell flow handler which is in the way of\ncleanups. Must be selected to avoid general bloat.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "32f4125ebffee4f3c4dbc6a437fc656129eb9e60",
      "tree": "d64c6bb7ba40c33734896303734416ea5b4f3290",
      "parents": [
        "c2d0c555c22242c3a76e366074c4d83ef9fa3b8c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 14:10:52 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:55:10 2011 +0200"
      },
      "message": "genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data\n\nWe really need these flags for some of the interrupt chips. Move it\nfrom internal state to irq_data and provide proper accessors.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: David Daney \u003cddaney@caviumnetworks.com\u003e\n"
    },
    {
      "commit": "c2d0c555c22242c3a76e366074c4d83ef9fa3b8c",
      "tree": "7426945b566129163639229fa0a5f420cdce13a8",
      "parents": [
        "b3d422329f2e061d66af4f933ef316e50e5edcac"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Mar 25 12:38:50 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:59 2011 +0200"
      },
      "message": "genirq: Split irq_set_affinity() so it can be called with lock held.\n\nThe .irq_cpu_online() and .irq_cpu_offline() functions may need to\nadjust affinity, but they are called with the descriptor lock held.\nCreate __irq_set_affinity_locked() which is called with the lock held.\nMake irq_set_affinity() just a wrapper that acquires the lock.\n\n[ tglx: Changed the argument to irq_data, added a !desc check and\n        moved the !irq_set_affinity check where it belongs ]\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: linux-mips@linux-mips.org\nCc: ralf@linux-mips.org\nLKML-Reference: \u003c1301081931-11240-4-git-send-email-ddaney@caviumnetworks.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b3d422329f2e061d66af4f933ef316e50e5edcac",
      "tree": "530100dd1733e24a017f4b3df4959c667369d236",
      "parents": [
        "0fdb4b259ed3e91b687ac26848202f5e7c217e62"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 16:05:36 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:58 2011 +0200"
      },
      "message": "genirq: Add chip flag for restricting cpu_on/offline calls\n\nAdd a flag which indicates that the on/offline callback should only be\ncalled on enabled interrupts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0fdb4b259ed3e91b687ac26848202f5e7c217e62",
      "tree": "52503c0c5c35f95ab88a9867fc46c43fc7d9c200",
      "parents": [
        "801a0e9ae36e9b487092e31699d28c0b9a21ad52"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Mar 25 12:38:49 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:58 2011 +0200"
      },
      "message": "genirq: Add chip hooks for taking CPUs on/off line.\n\n[ tglx: Removed the enabled argument as this is now available in\nirq_data ]\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: linux-mips@linux-mips.org\nCc: ralf@linux-mips.org\nLKML-Reference: \u003c1301081931-11240-3-git-send-email-ddaney@caviumnetworks.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    }
  ],
  "next": "801a0e9ae36e9b487092e31699d28c0b9a21ad52"
}
