)]}'
{
  "log": [
    {
      "commit": "2ca1a615835d9f4990f42102ab1f2ef434e7e89c",
      "tree": "726cf3d5f29a6c66c44e4bd68e7ebed2fd83d059",
      "parents": [
        "e12f0102ac81d660c9f801d0a0e10ccf4537a9de",
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n"
    },
    {
      "commit": "bb758e9637e5ddcff84a97177415499ae1fed498",
      "tree": "a4dbc2a0427a30fc9c54148c6ff7ecf21947e3ae",
      "parents": [
        "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
        "32e8d18683adb322c994d1a0fe02d66380991f45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:16:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:16:21 2008 -0800"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimers: fix warning in kernel/hrtimer.c\n  x86: make sure we really have an hpet mapping before using it\n  x86: enable HPET on Fujitsu u9200\n  linux/timex.h: cleanup for userspace\n  posix-timers: simplify de_thread()-\u003eexit_itimers() path\n  posix-timers: check -\u003eit_signal instead of -\u003eit_pid to validate the timer\n  posix-timers: use \"struct pid*\" instead of \"struct task_struct*\"\n  nohz: suppress needless timer reprogramming\n  clocksource, acpi_pm.c: put acpi_pm_read_slow() under CONFIG_PCI\n  nohz: no softirq pending warnings for offline cpus\n  hrtimer: removing all ur callback modes, fix\n  hrtimer: removing all ur callback modes, fix hotplug\n  hrtimer: removing all ur callback modes\n  x86: correct link to HPET timer specification\n  rtc-cmos: export second NVRAM bank\n\nFixed up conflicts in sound/drivers/pcsp/pcsp.c and sound/core/hrtimer.c\nmanually.\n"
    },
    {
      "commit": "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
      "tree": "85b21c8bb0e53005bd970d648ca093acfd0584a3",
      "parents": [
        "eca1bf5b4fab56d2feb1572d34d59fcd92ea7df3",
        "6638101c1124c19c8a65b1645e4ecd09e0572f3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "message": "Merge branch \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)\n  stacktrace: provide save_stack_trace_tsk() weak alias\n  rcu: provide RCU options on non-preempt architectures too\n  printk: fix discarding message when recursion_bug\n  futex: clean up futex_(un)lock_pi fault handling\n  \"Tree RCU\": scalable classic RCU implementation\n  futex: rename field in futex_q to clarify single waiter semantics\n  x86/swiotlb: add default swiotlb_arch_range_needs_mapping\n  x86/swiotlb: add default phys\u003c-\u003ebus conversion\n  x86: unify pci iommu setup and allow swiotlb to compile for 32 bit\n  x86: add swiotlb allocation functions\n  swiotlb: consolidate swiotlb info message printing\n  swiotlb: support bouncing of HighMem pages\n  swiotlb: factor out copy to/from device\n  swiotlb: add arch hook to force mapping\n  swiotlb: allow architectures to override phys\u003c-\u003ebus\u003c-\u003ephys conversions\n  swiotlb: add comment where we handle the overflow of a dma mask on 32 bit\n  rcu: fix rcutorture behavior during reboot\n  resources: skip sanity check of busy resources\n  swiotlb: move some definitions to header\n  swiotlb: allow architectures to override swiotlb pool allocation\n  ...\n\nFix up trivial conflicts in\n  arch/x86/kernel/Makefile\n  arch/x86/mm/init_32.c\n  include/linux/hardirq.h\nas per Ingo\u0027s suggestions.\n"
    },
    {
      "commit": "33edcf133ba93ecba2e4b6472e97b689895d805c",
      "tree": "327d7a20acef64005e7c5ccbfa1265be28aeb6ac",
      "parents": [
        "be4d638c1597580ed2294d899d9f1a2cd10e462c",
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 08:02:35 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 08:02:35 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "a39b863342b8aba52390092be95db58f6ed56061",
      "tree": "a952625e9815c0a4d7fe9f85c33908068513429a",
      "parents": [
        "b0f4b285d7ed174804658539129a834270f4829a",
        "4e202284e6ac1695df3eb4a0e549ea78addfb663"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:27:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:27:58 2008 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  sched: fix warning in fs/proc/base.c\n  schedstat: consolidate per-task cpu runtime stats\n  sched: use RCU variant of list traversal in for_each_leaf_rt_rq()\n  sched, cpuacct: export percpu cpuacct cgroup stats\n  sched, cpuacct: refactoring cpuusage_read / cpuusage_write\n  sched: optimize update_curr()\n  sched: fix wakeup preemption clock\n  sched: add missing arch_update_cpu_topology() call\n  sched: let arch_update_cpu_topology indicate if topology changed\n  sched: idle_balance() does not call load_balance_newidle()\n  sched: fix sd_parent_degenerate on non-numa smp machine\n  sched: add uid information to sched_debug for CONFIG_USER_SCHED\n  sched: move double_unlock_balance() higher\n  sched: update comment for move_task_off_dead_cpu\n  sched: fix inconsistency when redistribute per-cpu tg-\u003ecfs_rq shares\n  sched/rt: removed unneeded defintion\n  sched: add hierarchical accounting to cpu accounting controller\n  sched: include group statistics in /proc/sched_debug\n  sched: rename SCHED_NO_NO_OMIT_FRAME_POINTER \u003d\u003e SCHED_OMIT_FRAME_POINTER\n  sched: clean up SCHED_CPUMASK_ALLOC\n  ...\n"
    },
    {
      "commit": "b0f4b285d7ed174804658539129a834270f4829a",
      "tree": "be7f8dca58075aba2c6a137fcfd4d44c5c333efc",
      "parents": [
        "be9c5ae4eeec2e85527e95647348b8ea4eb25128",
        "5250d329e38cdf7580faeb9c53c17d3588d7d19c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (241 commits)\n  sched, trace: update trace_sched_wakeup()\n  tracing/ftrace: don\u0027t trace on early stage of a secondary cpu boot, v3\n  Revert \"x86: disable X86_PTRACE_BTS\"\n  ring-buffer: prevent false positive warning\n  ring-buffer: fix dangling commit race\n  ftrace: enable format arguments checking\n  x86, bts: memory accounting\n  x86, bts: add fork and exit handling\n  ftrace: introduce tracing_reset_online_cpus() helper\n  tracing: fix warnings in kernel/trace/trace_sched_switch.c\n  tracing: fix warning in kernel/trace/trace.c\n  tracing/ring-buffer: remove unused ring_buffer size\n  trace: fix task state printout\n  ftrace: add not to regex on filtering functions\n  trace: better use of stack_trace_enabled for boot up code\n  trace: add a way to enable or disable the stack tracer\n  x86: entry_64 - introduce FTRACE_ frame macro v2\n  tracing/ftrace: add the printk-msg-only option\n  tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp()\n  x86, bts: correctly report invalid bts records\n  ...\n\nFixed up trivial conflict in scripts/recordmcount.pl due to SH bits\nbeing already partly merged by the SH merge.\n"
    },
    {
      "commit": "be4d638c1597580ed2294d899d9f1a2cd10e462c",
      "tree": "2a4800b70c1e2a1249915f74f8e45f62de319457",
      "parents": [
        "9be3eec2c83848a1ca57ebad13c63c95d0df01e2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Dec 26 22:23:43 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Dec 26 22:23:43 2008 +1030"
      },
      "message": "cpumask: Replace cpu_coregroup_map with cpu_coregroup_mask\n\ncpu_coregroup_map returned a cpumask_t: it\u0027s going away.\n\n(Note, the sched part of this patch won\u0027t apply meaningfully to the\nsched tree, but I\u0027m posting it to show the goal).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "32e8d18683adb322c994d1a0fe02d66380991f45",
      "tree": "1c697f6d1c042dc560b096dca76680f4acf415b3",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "0a57b783018a77ca16097198844438bdff4d012e",
        "39c04b55240342d0742ac48538d3d8c71bfc0a94",
        "b2e3c0adec918ea22b6c9d7c76193dd3aaba9bd4",
        "001474491fabeca233168a8598f721c808040f90",
        "c29541b24fb2c6301021637229ae5347c877330a",
        "8187926bdae98648db24db3391c4efd21ec669b1",
        "a5a64498c194c82ecad3a2d67cff6231cda8d3dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hpet\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/rtc\u0027 into timers/core\n"
    },
    {
      "commit": "0b271ef4521756010675b1611bef20fd3096790d",
      "tree": "2c9d22a2c74122a9904e533df27f41d63ffef394",
      "parents": [
        "b19b3c74c7bbec45a848631b8f970ac110665a01",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28\u0027 into core/core\n"
    },
    {
      "commit": "468a15bb4cc61694495cc5ed7ffca29e87c79b69",
      "tree": "51274b853cc427666925f917203487a69d01c3d9",
      "parents": [
        "0ca59dd948a51c95d5a366d35f897bc5ef9df55d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Dec 16 08:07:03 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:10:21 2008 +0100"
      },
      "message": "sched, trace: update trace_sched_wakeup()\n\nImpact: extend the wakeup tracepoint with the info whether the wakeup was real\n\nAdd the information needed to distinguish \u0027real\u0027 wakeups from \u0027false\u0027\nwakeups.\n\nSigned-off-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "30cd324e9787ccc9a5ede59742d5409857550692",
      "tree": "e53027e0283119de0ef4c3a431b1d20cd43003fb",
      "parents": [
        "c71dd42db2c6f1637b92502a214587431c1a6ad2",
        "6d102bc68f3dd2ae0e305b09170b1751aa67baeb",
        "3d9101e92529e1ff6014f95a69afc82f37b9b13a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/ring-buffer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n\nConflicts:\n\tinclude/linux/ftrace.h\n"
    },
    {
      "commit": "c71dd42db2c6f1637b92502a214587431c1a6ad2",
      "tree": "778c7da5c7539cbab90cdbead19d6597529187a7",
      "parents": [
        "3bddb9a3246f6df5cf3b7655cb541ac10203bb71"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 01:09:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 01:05:38 2008 +0100"
      },
      "message": "tracing: fix warnings in kernel/trace/trace_sched_switch.c\n\nthese warnings:\n\n  kernel/trace/trace_sched_switch.c: In function ‘tracing_sched_register’:\n  kernel/trace/trace_sched_switch.c:96: warning: passing argument 1 of ‘register_trace_sched_wakeup_new’ from incompatible pointer type\n  kernel/trace/trace_sched_switch.c:112: warning: passing argument 1 of ‘unregister_trace_sched_wakeup_new’ from incompatible pointer type\n  kernel/trace/trace_sched_switch.c: In function ‘tracing_sched_unregister’:\n  kernel/trace/trace_sched_switch.c:121: warning: passing argument 1 of ‘unregister_trace_sched_wakeup_new’ from incompatible pointer type\n\nTrigger because sched_wakeup_new tracepoints need the same trace\nsignature as sched_wakeup - which was changed recently.\n\nFix it.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c2c48020ec0dd6ecd27e5a1298f73b40d85a595",
      "tree": "1a44f56e18012120aff0969094eebd572deb2ea3",
      "parents": [
        "e9515c3c9feecd74174c2998add0db51e02abb8d"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Tue Dec 16 23:41:22 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 18 13:54:01 2008 +0100"
      },
      "message": "schedstat: consolidate per-task cpu runtime stats\n\nImpact: simplify code\n\nWhen we turn on CONFIG_SCHEDSTATS, per-task cpu runtime is accumulated\ntwice. Once in task-\u003ese.sum_exec_runtime and once in sched_info.cpu_time.\nThese two stats are exactly the same.\n\nGiven that task-\u003ese.sum_exec_runtime is always accumulated by the core\nscheduler, sched_info can reuse that data instead of duplicate the accounting.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9515c3c9feecd74174c2998add0db51e02abb8d",
      "tree": "961e5fc9f0d01a901fd28c548b8f39037611a4ce",
      "parents": [
        "720f54988e17b33f3f477010b3a68ee872d20d5a"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Mon Dec 15 22:04:15 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 12:15:01 2008 +0100"
      },
      "message": "sched, cpuacct: export percpu cpuacct cgroup stats\n\nThis patch export per-cpu CPU cycle usage for a given cpuacct cgroup.\nThere is a need for a user space monitor daemon to track group CPU\nusage on per-cpu base.  It is also useful for monitoring CFS load\nbalancer behavior by tracking per CPU group usage.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "720f54988e17b33f3f477010b3a68ee872d20d5a",
      "tree": "ebb475d1a7af97926c1f469a57bef47c46e9ae98",
      "parents": [
        "34f28ecd0f4bdc733c681294d02d9fab5880591b"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Mon Dec 15 22:02:01 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 12:15:00 2008 +0100"
      },
      "message": "sched, cpuacct: refactoring cpuusage_read / cpuusage_write\n\nImpact: micro-optimize the code on 64-bit architectures\n\nIn the thread regarding to \u0027export percpu cpuacct cgroup stats\u0027\nhttp://lkml.org/lkml/2008/12/7/13\n\nakpm pointed out that current cpuacct code is inefficient.  This patch\nrefactoring the following:\n\n* make cpu_rq locking only on 32-bit\n* change iterator to each_present_cpu instead of each_possible_cpu to\n  make it hotplug friendly.\n\nIt\u0027s a bit of code churn, but I was rewarded with 160 byte code size saving\non x86-64 arch and zero code size change on i386.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "03e89e4574a680af15f59329b061f35d9813aff4",
      "tree": "2cf03e33021fbf8cf2aaf6ce99314eb45ed34dbc",
      "parents": [
        "d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Dec 16 08:45:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 16 09:45:38 2008 +0100"
      },
      "message": "sched: fix wakeup preemption clock\n\nImpact: sharpen the wakeup-granularity to always be against current scheduler time\n\nIt was possible to do the preemption check against an old time stamp.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "29c0177e6a4ac094302bed54a1d4bbb6b740a9ef",
      "tree": "d8ee57c5b40baa3f53d607b719344dd20f8c85a0",
      "parents": [
        "98a79d6a50181ca1ecf7400eda01d5dc1bc0dbf0"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:25 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Dec 13 21:20:25 2008 +1030"
      },
      "message": "cpumask: change cpumask_scnprintf, cpumask_parse_user, cpulist_parse, and cpulist_scnprintf to take pointers.\n\nImpact: change calling convention of existing cpumask APIs\n\nMost cpumask functions started with cpus_: these have been replaced by\ncpumask_ ones which take struct cpumask pointers as expected.\n\nThese four functions don\u0027t have good replacement names; fortunately\nthey\u0027re rarely used, so we just change them over.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: paulus@samba.org\nCc: mingo@redhat.com\nCc: tony.luck@intel.com\nCc: ralf@linux-mips.org\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: cl@linux-foundation.org\nCc: srostedt@redhat.com\n"
    },
    {
      "commit": "d65bd5ecb2bd166cea4952a59b7e16cc3ad6ef6c",
      "tree": "073c1da2f89dff262ace1aa90af3b6a1a48d4a33",
      "parents": [
        "ee79d1bdb6a10499e53f80b1e8d14110215178ba"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Dec 09 18:49:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:47:22 2008 +0100"
      },
      "message": "sched: add missing arch_update_cpu_topology() call\n\narch_reinit_sched_domains() used to call arch_update_cpu_topology()\nvia arch_init_sched_domains(). This call got lost with\ne761b7725234276a802322549cee5255305a0930 (\"cpu hotplug, sched: Introduce\ncpu_active_map and redo sched domain managment (take 2)\".\n\nSo we might end up with outdated and missing cpus in the cpu core\nmaps (architecture used to call arch_reinit_sched_domains if cpu\ntopology changed).\n\nThis adds a call to arch_update_cpu_topology in partition_sched_domains\nwhich gets called whenever scheduling domains get updated. Which is\nwhat is supposed to happen when cpu topology changes.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee79d1bdb6a10499e53f80b1e8d14110215178ba",
      "tree": "e9273d48cadb0b2ba77865e3405ad5e3e9664ff9",
      "parents": [
        "c1dfdc7597d051b09555d4ae2acb90403e238746"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Dec 09 18:49:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 13:47:21 2008 +0100"
      },
      "message": "sched: let arch_update_cpu_topology indicate if topology changed\n\nChange arch_update_cpu_topology so it returns 1 if the cpu topology changed\nand 0 if it didn\u0027t change. This will be useful for the next patch which adds\na call to this function in partition_sched_domains.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cbc34ed1ac36690f75fd272e19e7b4fc29aae5a2",
      "tree": "be0c1e0d4ed4eab1c9385198372dc64de50c9f1b",
      "parents": [
        "f3134de60624829a57741c1f3796847d4de165f6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Dec 10 08:08:22 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 12:08:26 2008 +0100"
      },
      "message": "sched: fix tracepoints in scheduler\n\nThe trace point only caught one of many places where a task changes cpu,\nput it in the right place to we get all of them.\n\nChange the signature while we\u0027re at it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c1dfdc7597d051b09555d4ae2acb90403e238746",
      "tree": "86aa49f5a2ab25459f9196dd6724bbe6645b1375",
      "parents": [
        "efbe027e95dc13ac343b6130948418d7ead7ddf1",
        "8b1fae4e4200388b64dd88065639413cb3f1051c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 10:29:35 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 10:29:35 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc8\u0027 into sched/core\n"
    },
    {
      "commit": "9a2bd244e18ffbb96c8b783210fda4eded7c7e6f",
      "tree": "19ac3da79ea2c7245549cf69e8207a23f635d04e",
      "parents": [
        "43714539eab42b2fa3653ea7bd667b36c2291b11"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Tue Dec 09 08:47:00 2008 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 09 19:27:03 2008 +0100"
      },
      "message": "sched: CPU remove deadlock fix\n\nImpact: fix possible deadlock in CPU hot-remove path\n\nThis patch fixes a possible deadlock scenario in the CPU remove path.\nmigration_call grabs rq-\u003elock, then wakes up everything on rq-\u003emigration_queue\nwith the lock held. Then one of the tasks on the migration queue ends up\ncalling tg_shares_up which then also tries to acquire the same rq-\u003elock.\n\n[c000000058eab2e0] c000000000502078 ._spin_lock_irqsave+0x98/0xf0\n[c000000058eab370] c00000000008011c .tg_shares_up+0x10c/0x20c\n[c000000058eab430] c00000000007867c .walk_tg_tree+0xc4/0xfc\n[c000000058eab4d0] c0000000000840c8 .try_to_wake_up+0xb0/0x3c4\n[c000000058eab590] c0000000000799a0 .__wake_up_common+0x6c/0xe0\n[c000000058eab640] c00000000007ada4 .complete+0x54/0x80\n[c000000058eab6e0] c000000000509fa8 .migration_call+0x5fc/0x6f8\n[c000000058eab7c0] c000000000504074 .notifier_call_chain+0x68/0xe0\n[c000000058eab860] c000000000506568 ._cpu_down+0x2b0/0x3f4\n[c000000058eaba60] c000000000506750 .cpu_down+0xa4/0x108\n[c000000058eabb10] c000000000507e54 .store_online+0x44/0xa8\n[c000000058eabba0] c000000000396260 .sysdev_store+0x3c/0x50\n[c000000058eabc10] c0000000001a39b8 .sysfs_write_file+0x124/0x18c\n[c000000058eabcd0] c00000000013061c .vfs_write+0xd0/0x1bc\n[c000000058eabd70] c0000000001308a4 .sys_write+0x68/0x114\n[c000000058eabe30] c0000000000086b4 syscall_exit+0x0/0x40\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "efbe027e95dc13ac343b6130948418d7ead7ddf1",
      "tree": "96666b3d26027656183a64e96ffa3babcf8bd184",
      "parents": [
        "5436499e6098759c2340f8b906ea52f993dc4efb"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Mon Dec 08 20:52:49 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 16:48:00 2008 +0100"
      },
      "message": "sched: idle_balance() does not call load_balance_newidle()\n\nImpact: fix SD_BALANCE_NEWIDLEand broaden its use\n\nload_balance_newidle() does not get called if SD_BALANCE_NEWIDLE is\nset at higher level domain (3-CPU) and not in low level domain (2-MC).\n\npulled_task is initialised to -1 and checked for non-zero which is\nalways true if the lowest level sched_domain does not have\nSD_BALANCE_NEWIDLE flag set.\n\nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5436499e6098759c2340f8b906ea52f993dc4efb",
      "tree": "5af189c8d0d8bf5bc6261a427c371bd4d8ba7474",
      "parents": [
        "4d117c5c6b00254e51c61ff5b506ccaba21a5a03"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Sun Dec 07 18:47:37 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 13:52:44 2008 +0100"
      },
      "message": "sched: fix sd_parent_degenerate on non-numa smp machine\n\nImpact: optimize the sched domains tree some more\n\nThe addition of SD_SERIALIZE flag added to SD_NODE_INIT prevented top level\ndummy numa sched_domain to be properly degenerated on non-numa smp machine.\nThe reason is that in sd_parent_degenerate(), it found that the child and\nparent does not have comon sched_domain flags due to SD_SERIALIZE.  However,\nfor non-numa smp box, the top level is a dummy with a single sched_group.\n\nFilter out SD_SERIALIZE if it is on non-numa machine to properly degenerate\ntop level node sched_domain.  this will cut back some of the sd domain walk\nin the load balancer code.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4d117c5c6b00254e51c61ff5b506ccaba21a5a03",
      "tree": "ecb9d3ee4bfd9610c459c1eb0c0357c2905f3ae4",
      "parents": [
        "6c415b9234a8c71f290e5d4fddc467f103f32719",
        "43714539eab42b2fa3653ea7bd667b36c2291b11"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 13:52:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 13:52:00 2008 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n"
    },
    {
      "commit": "b8307db2477f9c551e54e0c7b643ea349a3349cd",
      "tree": "88654f8bd73857bbd40f75013ce41d8882d16ce6",
      "parents": [
        "f0461d0146ee30927bc7efa2ae24ea8c6693b725",
        "061e41fdb5047b1fb161e89664057835935ca1d2"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 04 09:07:19 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 04 09:07:19 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc7\u0027 into tracing/core\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "6c415b9234a8c71f290e5d4fddc467f103f32719",
      "tree": "d7ba28aab68b5b38952ccc6256b7ecb701b23ed5",
      "parents": [
        "70574a996fc7a70c5586eb56bd92a544eccf18b6"
      ],
      "author": {
        "name": "Arun R Bharadwaj",
        "email": "arun@linux.vnet.ibm.com",
        "time": "Mon Dec 01 20:49:05 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 01 20:39:50 2008 +0100"
      },
      "message": "sched: add uid information to sched_debug for CONFIG_USER_SCHED\n\nImpact: extend information in /proc/sched_debug\n\nThis patch adds uid information in sched_debug for CONFIG_USER_SCHED\n\nSigned-off-by: Arun R Bharadwaj \u003carun@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af6d596fd603219b054c1c90fb16672a9fd441bd",
      "tree": "e3e5a85532079aedc9b0b194a319ec084b8a4449",
      "parents": [
        "1583715ddb61f822041807a0f18b3b4845e88c76"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 29 20:45:15 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 29 20:45:15 2008 +0100"
      },
      "message": "sched: prevent divide by zero error in cpu_avg_load_per_task, update\n\nRegarding the bug addressed in:\n\n  4cd4262: sched: prevent divide by zero error in cpu_avg_load_per_task\n\nLinus points out that the fix is not complete:\n\n\u003e There\u0027s nothing that keeps gcc from deciding not to reload\n\u003e rq-\u003enr_running.\n\u003e\n\u003e Of course, in _practice_, I don\u0027t think gcc ever will (if it decides\n\u003e that it will spill, gcc is likely going to decide that it will\n\u003e literally spill the local variable to the stack rather than decide to\n\u003e reload off the pointer), but it\u0027s a valid compiler optimization, and\n\u003e it even has a name (rematerialization).\n\u003e\n\u003e So I suspect that your patch does fix the bug, but it still leaves the\n\u003e fairly unlikely _potential_ for it to re-appear at some point.\n\u003e\n\u003e We have ACCESS_ONCE() as a macro to guarantee that the compiler\n\u003e doesn\u0027t rematerialize a pointer access. That also would clarify\n\u003e the fact that we access something unsafe outside a lock.\n\nSo make sure our nr_running value is immutable and cannot change\nafter we check it for nonzero.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70574a996fc7a70c5586eb56bd92a544eccf18b6",
      "tree": "6c0fbb9a9e9b65817316d1765217478bb6c88cbf",
      "parents": [
        "f1860c34b3ed829ac774647f266abf1074cd58cd"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Nov 28 22:08:00 2008 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 28 20:11:15 2008 +0100"
      },
      "message": "sched: move double_unlock_balance() higher\n\nMove double_lock_balance()/double_unlock_balance() higher to fix the following\nwith gcc-3.4.6:\n\n   CC      kernel/sched.o\n In file included from kernel/sched.c:1605:\n kernel/sched_rt.c: In function `find_lock_lowest_rq\u0027:\n kernel/sched_rt.c:914: sorry, unimplemented: inlining failed in call to \u0027double_unlock_balance\u0027: function body not available\n kernel/sched_rt.c:1077: sorry, unimplemented: called from here\n make[2]: *** [kernel/sched.o] Error 1\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f1860c34b3ed829ac774647f266abf1074cd58cd",
      "tree": "05f368f644c13a21d080ec258393037257e0495f",
      "parents": [
        "64b7482de253c10efa2589a6212e3d2093a3efc7",
        "4cd4262034849da01eb88659af677b69f8169f06"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 28 20:11:05 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 28 20:11:05 2008 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n"
    },
    {
      "commit": "4cd4262034849da01eb88659af677b69f8169f06",
      "tree": "eaab94e7fd4a436bcead7efd6684405252f336c4",
      "parents": [
        "ee2f6cc7f9ea2542ad46070ed62ba7aa04d08871"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 26 21:04:24 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 27 10:29:52 2008 +0100"
      },
      "message": "sched: prevent divide by zero error in cpu_avg_load_per_task\n\nImpact: fix divide by zero crash in scheduler rebalance irq\n\nWhile testing the branch profiler, I hit this crash:\n\ndivide error: 0000 [#1] PREEMPT SMP\n[...]\nRIP: 0010:[\u003cffffffff8024a008\u003e]  [\u003cffffffff8024a008\u003e] cpu_avg_load_per_task+0x50/0x7f\n[...]\nCall Trace:\n \u003cIRQ\u003e \u003c0\u003e [\u003cffffffff8024fd43\u003e] find_busiest_group+0x3e5/0xcaa\n [\u003cffffffff8025da75\u003e] rebalance_domains+0x2da/0xa21\n [\u003cffffffff80478769\u003e] ? find_next_bit+0x1b2/0x1e6\n [\u003cffffffff8025e2ce\u003e] run_rebalance_domains+0x112/0x19f\n [\u003cffffffff8026d7c2\u003e] __do_softirq+0xa8/0x232\n [\u003cffffffff8020ea7c\u003e] call_softirq+0x1c/0x3e\n [\u003cffffffff8021047a\u003e] do_softirq+0x94/0x1cd\n [\u003cffffffff8026d5eb\u003e] irq_exit+0x6b/0x10e\n [\u003cffffffff8022e6ec\u003e] smp_apic_timer_interrupt+0xd3/0xff\n [\u003cffffffff8020e4b3\u003e] apic_timer_interrupt+0x13/0x20\n\nThe code for cpu_avg_load_per_task has:\n\n\tif (rq-\u003enr_running)\n\t\trq-\u003eavg_load_per_task \u003d rq-\u003eload.weight / rq-\u003enr_running;\n\nThe runqueue lock is not held here, and there is nothing that prevents\nthe rq-\u003enr_running from going to zero after it passes the if condition.\n\nThe branch profiler simply made the race window bigger.\n\nThis patch saves off the rq-\u003enr_running to a local variable and uses that\nfor both the condition and the division.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nPeter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fb52607afcd0629776f1dc9e657647ceae81dd50",
      "tree": "7bf43b41ff8510d3098c089913cce56a9049f0fd",
      "parents": [
        "509dceef6470442d8c7b8a43ec34125205840b3c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 25 21:07:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 26 01:59:45 2008 +0100"
      },
      "message": "tracing/function-return-tracer: change the name into function-graph-tracer\n\nImpact: cleanup\n\nThis patch changes the name of the \"return function tracer\" into\nfunction-graph-tracer which is a more suitable name for a tracing\nwhich makes one able to retrieve the ordered call stack during\nthe code flow.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca109491f612aab5c8152207631c0444f63da97f",
      "tree": "46d0a90e79c75fc039bda7d01862062e0ac39900",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Nov 25 12:43:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 25 15:45:46 2008 +0100"
      },
      "message": "hrtimer: removing all ur callback modes\n\nImpact: cleanup, move all hrtimer processing into hardirq context\n\nThis is an attempt at removing some of the hrtimer complexity by\nreducing the number of callback modes to 1.\n\nThis means that all hrtimer callback functions will be ran from HARD-irq\ncontext.\n\nI went through all the 30 odd hrtimer callback functions in the kernel\nand saw only one that I\u0027m not quite sure of, which is the one in\nnet/can/bcm.c - hence I\u0027m CC-ing the folks responsible for that code.\n\nFurthermore, the hrtimer core now calls callbacks directly with IRQs\ndisabled in case you try to enqueue an expired timer. If this timer is a\nperiodic timer (which should use hrtimer_forward() to advance its time)\nthen it might be possible to end up in an inf. recursive loop due to the\nfact that hrtimer_forward() doesn\u0027t round up to the next timer\ngranularity, and therefore keeps on calling the callback - obviously\nthis needs a fix.\n\nAside from that, this seems to compile and actually boot on my dual core\ntest box - although I\u0027m sure there are some bugs in, me not hitting any\nmakes me certain :-)\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b19b3c74c7bbec45a848631b8f970ac110665a01",
      "tree": "2966e612c7b902964cf82bedc5d9e523505228b5",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8",
        "6003ab0bad4cc56f3c4fadf62a0d23a967b9c53b",
        "42569c39917a08e8de1e8b5685463be7b74baebd",
        "7918baa555140989eeee1270f48533987d48fdba",
        "29cbda77a67cf263d636feea65d3bbc9c7de2e24",
        "2b5fe6de58276d0b5a7c884d5dbfc300ca47db78",
        "b0788caf7af773b6c2374590dabd3a205f0918a8",
        "8dd2337470d2ead6835982ed856d988f9e062140"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:44:55 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:44:55 2008 +0100"
      },
      "message": "Merge branches \u0027core/debug\u0027, \u0027core/futexes\u0027, \u0027core/locking\u0027, \u0027core/rcu\u0027, \u0027core/signal\u0027, \u0027core/urgent\u0027 and \u0027core/xen\u0027 into core/core\n"
    },
    {
      "commit": "64b7482de253c10efa2589a6212e3d2093a3efc7",
      "tree": "0745dd3684cbe9c17b95b601bad3605c22459f41",
      "parents": [
        "957ad0166e9f76a8561dafa5e14ef5bd3f5e9a3b",
        "50ee91765e25e7967a7b69cd5cc2bcab85e2eeb8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:37:12 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 24 17:37:12 2008 +0100"
      },
      "message": "Merge branch \u0027sched/rt\u0027 into sched/core\n"
    },
    {
      "commit": "82f60f0bc854aada696f27d863c03bef91f1509d",
      "tree": "521fbccfc12f6c8a36f261b20eacbc84a4a31add",
      "parents": [
        "f201ae2356c74bcae130b2177b3dca903ea98071"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 09:18:56 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 09:19:35 2008 +0100"
      },
      "message": "tracing/function-return-tracer: clean up task start/exit callbacks\n\nImpact: cleanup\n\nEliminate #ifdefs in core code by using empty inline functions.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f201ae2356c74bcae130b2177b3dca903ea98071",
      "tree": "c4b1b43fbe0a4594cb86749b2e7098fe15eb86ba",
      "parents": [
        "a0a70c735ef714fe1b6777b571630c3d50c7b008"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 23 06:22:56 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 09:17:26 2008 +0100"
      },
      "message": "tracing/function-return-tracer: store return stack into task_struct and allocate it dynamically\n\nImpact: use deeper function tracing depth safely\n\nSome tests showed that function return tracing needed a more deeper depth\nof function calls. But it could be unsafe to store these return addresses\nto the stack.\n\nSo these arrays will now be allocated dynamically into task_struct of current\nonly when the tracer is activated.\n\nTypical scheme when tracer is activated:\n- allocate a return stack for each task in global list.\n- fork: allocate the return stack for the newly created task\n- exit: free return stack of current\n- idle init: same as fork\n\nI chose a default depth of 50. I don\u0027t have overruns anymore.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "957ad0166e9f76a8561dafa5e14ef5bd3f5e9a3b",
      "tree": "551a3e47438f88769f0fb2425ad4ad4b4df557cf",
      "parents": [
        "fc02e90c34bacd5d7bc77b832c65a8f06e1bd60e"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Fri Nov 21 01:30:36 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 21 08:57:28 2008 +0100"
      },
      "message": "sched: update comment for move_task_off_dead_cpu\n\nImpact: cleanup\n\nThis commit:\n\ncommit f7b4cddcc5aca03e80e357360c9424dfba5056c2\nAuthor: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nDate:   Tue Oct 16 23:30:56 2007 -0700\n\n    do CPU_DEAD migrating under read_lock(tasklist) instead of write_lock_irq(ta\n\n    Currently move_task_off_dead_cpu() is called under\n    write_lock_irq(tasklist).  This means it can\u0027t use task_lock() which is\n    needed to improve migrating to take task\u0027s -\u003ecpuset into account.\n\n    Change the code to call move_task_off_dead_cpu() with irqs enabled, and\n    change migrate_live_tasks() to use read_lock(tasklist).\n\n...forgot to update the comment in front of move_task_off_dead_cpu.\n\nReference: http://lkml.org/lkml/2008/6/23/135\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec4e0e2fe018992d980910db901637c814575914",
      "tree": "58f5df8581387afc90774ee2d1923302ae209b3c",
      "parents": [
        "3ac3ba0b396fd99550e08034b0e4c27fdf39c252"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Tue Nov 18 22:41:57 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 19 18:39:37 2008 +0100"
      },
      "message": "sched: fix inconsistency when redistribute per-cpu tg-\u003ecfs_rq shares\n\nImpact: make load-balancing more consistent\n\nIn the update_shares() path leading to tg_shares_up(), the calculation of\nper-cpu cfs_rq shares is rather erratic even under moderate task wake up\nrate.  The problem is that the per-cpu tg-\u003ecfs_rq load weight used in the\nsd_rq_weight aggregation and actual redistribution of the cfs_rq-\u003eshares\nare collected at different time.  Under moderate system load, we\u0027ve seen\nquite a bit of variation on the cfs_rq-\u003eshares and ultimately wildly\naffects sched_entity\u0027s load weight.\n\nThis patch caches the result of initial per-cpu load weight when doing the\nsum calculation, and then pass it down to update_group_shares_cpu() for\nredistributing per-cpu cfs_rq shares.  This allows consistent total cfs_rq\nshares across all CPUs. It also simplifies the rounding and zero load\nweight check.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9676e73a9e0cbdc521e1ebf4e13e6e5aada34247",
      "tree": "b5ea1cace6c4f2f57fcebfc42418b7f53fee84e5",
      "parents": [
        "5a209c2d58e70f9bc415b9cdf0e3b9aaefb70371",
        "86fa2f60674540df0b34f5c547ed0c1cf3a8f212",
        "6d5b43a67accf6793ed259f6534b4bd53b1e5696"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 19 10:04:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 19 10:04:25 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n\nConflicts:\n\tkernel/trace/ftrace.c\n\n[ We conflicted here because we backported a few fixes to\n  tracing/urgent - which has different internal APIs. ]\n"
    },
    {
      "commit": "3ac3ba0b396fd99550e08034b0e4c27fdf39c252",
      "tree": "f9f69fac41d66540a37a33808714d055d702328f",
      "parents": [
        "934352f214b3251eb0793c1209d346595a661d80",
        "7f0f598a0069d1ab072375965a4b69137233169c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 19 09:44:37 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 19 09:44:37 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nConflicts:\n\tkernel/Makefile\n"
    },
    {
      "commit": "700018e0a77b4113172257fcdaa1c58e27a5074f",
      "tree": "60ea1cc7682b19203e1caab15ebb2285153eeee7",
      "parents": [
        "ad133ba3dc283300e5b62b5b7211d2f39fbf6ee7"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 18 14:02:03 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 18 08:44:51 2008 +0100"
      },
      "message": "cpuset: fix regression when failed to generate sched domains\n\nImpact: properly rebuild sched-domains on kmalloc() failure\n\nWhen cpuset failed to generate sched domains due to kmalloc()\nfailure, the scheduler should fallback to the single partition\n\u0027fallback_doms\u0027 and rebuild sched domains, but now it only\ndestroys but not rebuilds sched domains.\n\nThe regression was introduced by:\n\n| commit dfb512ec4834116124da61d6c1ee10fd0aa32bd6\n| Author: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\n| Date:   Fri Aug 29 13:11:41 2008 -0700\n|\n|    sched: arch_reinit_sched_domains() must destroy domains to force rebuild\n\nAfter the above commit, partition_sched_domains(0, NULL, NULL) will\nonly destroy sched domains and partition_sched_domains(1, NULL, NULL)\nwill create the default sched domain.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74fcd524e808975dd546dac847119f1995a7c622",
      "tree": "9b6d2aa46509926a7922183ba728bb0300bfbc1e",
      "parents": [
        "ad133ba3dc283300e5b62b5b7211d2f39fbf6ee7"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Nov 17 15:39:52 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 17 16:55:53 2008 +0100"
      },
      "message": "account_steal_time: kill the unneeded account_group_system_time()\n\nImpact: remove unnecessary accounting call\n\nI don\u0027t actually understand account_steal_time() and I failed to find the\ncommit which added account_group_system_time(), but this looks bogus.\nIn any case rq-\u003eidle must be single-threaded, so it can\u0027t have -\u003etotals.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7e066fb870fcd1025ec3ba7bbde5d541094f4ce1",
      "tree": "52acda06de25c029b9834110d7bf6b4abc50353b",
      "parents": [
        "32f85742778dfc2c74975cf0b9f5bdb13470cb32"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Nov 14 17:47:47 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 16 09:01:36 2008 +0100"
      },
      "message": "tracepoints: add DECLARE_TRACE() and DEFINE_TRACE()\n\nImpact: API *CHANGE*. Must update all tracepoint users.\n\nAdd DEFINE_TRACE() to tracepoints to let them declare the tracepoint\nstructure in a single spot for all the kernel. It helps reducing memory\nconsumption, especially when declaring a lot of tracepoints, e.g. for\nkmalloc tracing.\n\n*API CHANGE WARNING*: now, DECLARE_TRACE() must be used in headers for\ntracepoint declarations rather than DEFINE_TRACE(). This is the sane way\nto do it. The name previously used was misleading.\n\nUpdates scheduler instrumentation to follow this API change.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b828925652340277a889cbc11b2d0637f7cdaf7",
      "tree": "32fcb3d3e466fc419fad2d3717956a5b5ad3d35a",
      "parents": [
        "3a3b7ce9336952ea7b9564d976d068a238976c9d",
        "58e20d8d344b0ee083febb18c2b021d2427e56ca"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/keys/internal.h\n\tsecurity/keys/process_keys.c\n\tsecurity/keys/request_key.c\n\nFixed conflicts above by using the non \u0027tsk\u0027 versions.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "c69e8d9c01db2adc503464993c358901c9af9de4",
      "tree": "bed94aaa9aeb7a7834d1c880f72b62a11a752c78",
      "parents": [
        "86a264abe542cfececb4df129bc45a0338d8cdb9"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:19 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:19 2008 +1100"
      },
      "message": "CRED: Use RCU to access another task\u0027s creds and to release a task\u0027s own creds\n\nUse RCU to access another task\u0027s creds and to release a task\u0027s own creds.\nThis means that it will be possible for the credentials of a task to be\nreplaced without another task (a) requiring a full lock to read them, and (b)\nseeing deallocated memory.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b6dff3ec5e116e3af6f537d4caedcad6b9e5082a",
      "tree": "9e76f972eb7ce9b84e0146c8e4126a3f86acb428",
      "parents": [
        "15a2460ed0af7538ca8e6c610fe607a2cd9da142"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "message": "CRED: Separate task security context from task_struct\n\nSeparate the task security context from task_struct.  At this point, the\nsecurity data is temporarily embedded in the task_struct with two pointers\npointing to it.\n\nNote that the Alpha arch is altered as it refers to (E)UID and (E)GID in\nentry.S via asm-offsets.\n\nWith comment fixes Signed-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "76aac0e9a17742e60d408be1a706e9aaad370891",
      "tree": "e873a000d9c96209726e0958e311f005c13b2ed5",
      "parents": [
        "b103c59883f1ec6e4d548b25054608cb5724453c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:12 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:12 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the core kernel\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: linux-audit@redhat.com\nCc: containers@lists.linux-foundation.org\nCc: linux-mm@kvack.org\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "5cbd54ef470d880fc37fbe4b21eb514806d51e0d",
      "tree": "db9a73e605e0a2e7cfa13bd9697a113b5f6649eb",
      "parents": [
        "a2d477778e82a60a0b7114cefdb70aa43af28782"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 20:05:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 20:05:50 2008 +0100"
      },
      "message": "sched: fix init_idle()\u0027s use of sched_clock()\n\nMaciej Rutecki reported:\n\n\u003e I have this bug during suspend to disk:\n\u003e\n\u003e [  188.592151] Enabling non-boot CPUs ...\n\u003e [  188.592151] SMP alternatives: switching to SMP code\n\u003e [  188.666058] BUG: using smp_processor_id() in preemptible\n\u003e [00000000]\n\u003e code: suspend_to_disk/2934\n\u003e [  188.666064] caller is native_sched_clock+0x2b/0x80\n\nWhich, as noted by Linus, was caused by me, via:\n\n  7cbaef9c \"sched: optimize sched_clock() a bit\"\n\nMove the rq locking a bit earlier in the initialization sequence,\nthat will make the sched_clock() call in init_idle() non-preemptible.\n\nReported-by: Maciej Rutecki \u003cmaciej.rutecki@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "708b8eae0fd532af73ea8350e6dcc10255ff7376",
      "tree": "f336436934fd79bc91aff7112a9beb10bc4e839f",
      "parents": [
        "d98d38f2014ab79f28c126ff175d034891f7aefc",
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 12:39:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 12:39:21 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into core/locking\n"
    },
    {
      "commit": "a2d477778e82a60a0b7114cefdb70aa43af28782",
      "tree": "52fb05ee2d63765ddddcf4a2e06f310510607735",
      "parents": [
        "f21f237cf55494c3a4209de323281a3b0528da10"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Nov 12 16:19:00 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 12 12:33:50 2008 +0100"
      },
      "message": "sched: fix stale value in average load per task\n\nImpact: fix load balancer load average calculation accuracy\n\ncpu_avg_load_per_task() returns a stale value when nr_running is 0.\nIt returns an older stale (caculated when nr_running was non zero) value.\n\nThis patch returns and sets rq-\u003eavg_load_per_task to zero when nr_running\nis 0.\n\nCompile and boot tested on a x86_64 box.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "934352f214b3251eb0793c1209d346595a661d80",
      "tree": "375ac56485c20f7b7cf783c3ca2980a76dc94fce",
      "parents": [
        "ff9b48c3598732926fa09afd7f526981c32a48cc"
      ],
      "author": {
        "name": "Bharata B Rao",
        "email": "bharata@linux.vnet.ibm.com",
        "time": "Mon Nov 10 20:41:13 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 12:13:28 2008 +0100"
      },
      "message": "sched: add hierarchical accounting to cpu accounting controller\n\nImpact: improve CPU time accounting of tasks under the cpu accounting controller\n\nAdd hierarchical accounting to cpu accounting controller and include\ncpuacct documentation.\n\nCurrently, while charging the task\u0027s cputime to its accounting group,\nthe accounting group hierarchy isn\u0027t updated. This patch charges the cputime\nof a task to its accounting group and all its parent accounting groups.\n\nReported-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Bharata B Rao \u003cbharata@linux.vnet.ibm.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad474caca3e2a0550b7ce0706527ad5ab389a4d4",
      "tree": "6d4e5cbcee3a85230317a33d66655ece0c873f5c",
      "parents": [
        "5ac5c4d604bf894ef672a7971d03fefdc7ea7e49"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Nov 10 15:39:30 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 11 08:01:43 2008 +0100"
      },
      "message": "fix for account_group_exec_runtime(), make sure -\u003esignal can\u0027t be freed under rq-\u003elock\n\nImpact: fix hang/crash on ia64 under high load\n\nThis is ugly, but the simplest patch by far.\n\nUnlike other similar routines, account_group_exec_runtime() could be\ncalled \"implicitly\" from within scheduler after exit_notify(). This\nmeans we can race with the parent doing release_task(), we can\u0027t just\ncheck -\u003esignal !\u003d NULL.\n\nChange __exit_signal() to do spin_unlock_wait(\u0026task_rq(tsk)-\u003elock)\nbefore __cleanup_signal() to make sure -\u003esignal can\u0027t be freed under\ntask_rq(tsk)-\u003elock. Note that task_rq_unlock_wait() doesn\u0027t care\nabout the case when tsk changes cpu/rq under us, this should be OK.\n\nThanks to Ingo who nacked my previous buggy patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nReported-by: Doug Chapman \u003cdoug.chapman@hp.com\u003e\n"
    },
    {
      "commit": "5ac5c4d604bf894ef672a7971d03fefdc7ea7e49",
      "tree": "ee7b71de46c0c71dec9e9ebb0efd2e66ce1c7a6d",
      "parents": [
        "f7160c7573615ec82c691e294cf80d920b5d588d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 10 10:46:32 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 10 10:51:51 2008 +0100"
      },
      "message": "sched: clean up debug info\n\nImpact: clean up and fix debug info printout\n\nWhile looking over the sched_debug code I noticed that we printed the rq\nschedstats for every cfs_rq, ammend this.\n\nAlso change nr_spead_over into an int, and fix a little buglet in\nmin_vruntime printing.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6d21cd62516a9697cb7ec33cc52e6b814fb65a13",
      "tree": "0dad11ae40299f59f89436e13647700a3dc3047b",
      "parents": [
        "258594a138f4ca9adf214f5272592d7f21def610"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Nov 07 17:03:18 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 10:30:35 2008 +0100"
      },
      "message": "sched: clean up SCHED_CPUMASK_ALLOC\n\nImpact: cleanup\n\nThe #if/#endif is ugly. Change SCHED_CPUMASK_ALLOC and\nSCHED_CPUMASK_FREE to static inline functions.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "258594a138f4ca9adf214f5272592d7f21def610",
      "tree": "d97ee71c997b0412f79b9ec4150cb52ce838fe13",
      "parents": [
        "a87d091434ed2a34d647979ab12084139ee1fe41",
        "ca3273f9646694e0419cfb9d6c12deb1c9aff27c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 10:29:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 10:29:58 2008 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n"
    },
    {
      "commit": "ca3273f9646694e0419cfb9d6c12deb1c9aff27c",
      "tree": "53e0b28edddd5c29691c9ccc8a7f3c8c11ee9c83",
      "parents": [
        "f29c9b1ccb52904ee442a933cf3dee628f9f4e62"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Nov 07 14:47:21 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 08:29:58 2008 +0100"
      },
      "message": "sched: fix memory leak in a failure path\n\nImpact: fix rare memory leak in the sched-domains manual reconfiguration code\n\nIn the failure path, rd is not attached to a sched domain,\nso it causes a leak.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f29c9b1ccb52904ee442a933cf3dee628f9f4e62",
      "tree": "836b4383a89a5aac64e50afd752a48b4bb0c167a",
      "parents": [
        "4bab0ea1d42dd1927af9df6fbf0003fc00617c50"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Nov 06 09:45:16 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 07 08:29:57 2008 +0100"
      },
      "message": "sched: fix a bug in sched domain degenerate\n\nImpact: re-add incorrectly eliminated sched domain layers\n\n(1) on i386 with SCHED_SMT and SCHED_MC enabled\n\t# mount -t cgroup -o cpuset xxx /mnt\n\t# echo 0 \u003e /mnt/cpuset.sched_load_balance\n\t# mkdir /mnt/0\n\t# echo 0 \u003e /mnt/0/cpuset.cpus\n\t# dmesg\n\tCPU0 attaching sched-domain:\n\t domain 0: span 0 level CPU\n\t  groups: 0\n\n(2) on i386 with SCHED_MC enabled but SCHED_SMT disabled\n\t# same with (1)\n\t# dmesg\n\tCPU0 attaching NULL sched-domain.\n\nThe bug is that some sched domains may be skipped unintentionally when\ndegenerating (optimizing) sched domains.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cf7f8690e864c6fe11e77202dd847fa60f483418",
      "tree": "9f0e3cca10a550698c3761c3ee5de6496ecf1e78",
      "parents": [
        "e113a745f693af196c8081b328bf42def086989b"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Wed Nov 05 18:57:14 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 06 22:12:09 2008 +0100"
      },
      "message": "sched, lockdep: inline double_unlock_balance()\n\nWe have a test case which measures the variation in the amount of time\nneeded to perform a fixed amount of work on the preempt_rt kernel. We\nstarted seeing deterioration in it\u0027s performance recently. The test\nshould never take more than 10 microseconds, but we started 5-10%\nfailure rate.\n\nUsing elimination method, we traced the problem to commit\n1b12bbc747560ea68bcc132c3d05699e52271da0 (lockdep: re-annotate\nscheduler runqueues).\n\nWhen LOCKDEP is disabled, this patch only adds an additional function\ncall to double_unlock_balance(). Hence I inlined double_unlock_balance()\nand the problem went away. Here is a patch to make this change.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4793241be408b3926ee00c704d7da3b3faf3a05f",
      "tree": "d74144510d5258e5e941a8499538c3a0cdc868a7",
      "parents": [
        "d95f98d0691d3aba5e35850011946a08c9b36428"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 04 21:25:09 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 05 10:30:14 2008 +0100"
      },
      "message": "sched: backward looking buddy\n\nImpact: improve/change/fix wakeup-buddy scheduling\n\nCurrently we only have a forward looking buddy, that is, we prefer to\nschedule to the task we last woke up, under the presumption that its\ngoing to consume the data we just produced, and therefore will have\ncache hot benefits.\n\nThis allows co-waking producer/consumer task pairs to run ahead of the\npack for a little while, keeping their cache warm. Without this, we\nwould interleave all pairs, utterly trashing the cache.\n\nThis patch introduces a backward looking buddy, that is, suppose that\nin the above scenario, the consumer preempts the producer before it\ncan go to sleep, we will therefore miss the wakeup from consumer to\nproducer (its already running, after all), breaking the cycle and\nreverting to the cache-trashing interleaved schedule pattern.\n\nThe backward buddy will try to schedule back to the task that woke us\nup in case the forward buddy is not available, under the assumption\nthat the last task will be the one with the most cache hot task around\nbarring current.\n\nThis will basically allow a task to continue after it got preempted.\n\nIn order to avoid starvation, we allow either buddy to get wakeup_gran\nahead of the pack.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "faa2f98f856e89d1afb6e4a91707284d242e816e",
      "tree": "3674a562130b89bf127c188102af6335cc5c4469",
      "parents": [
        "a17e2260926f681a0eb983c1e3cb859ba2064bce"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 04 16:20:23 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 10:25:13 2008 +0100"
      },
      "message": "sched: add sanity check in partition_sched_domains()\n\nImpact: cleanup, add debug check\n\nIt\u0027s wrong to make dattr_new \u003d NULL if doms_new \u003d\u003d NULL, it introduces\nmemory leak if dattr_new !\u003d NULL. Fortunately dattr_new is always NULL\nin this case. So remove the code and add a sanity check.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a17e2260926f681a0eb983c1e3cb859ba2064bce",
      "tree": "bce98b23d8acf7d55270823c0ccc9f7963bf8a24",
      "parents": [
        "0a0db8f5c9d4bbb9bbfcc2b6cb6bce2d0ef4d73d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 04 16:19:13 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 10:23:42 2008 +0100"
      },
      "message": "sched: remove redundant call to unregister_sched_domain_sysctl()\n\nImpact: cleanup\n\nThe sysctl has been unregistered by partition_sched_domains().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eefd796a8e831408ce17e633d73d70430748c47a",
      "tree": "cad65036abcd7f151d723b18e5c93b9115e82ff0",
      "parents": [
        "8bb8c4386d08f2cc5d871d22f220d35032213f84"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Nov 04 16:15:37 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 04 10:21:49 2008 +0100"
      },
      "message": "sched debug: remove sd_level_to_string()\n\nImpact: cleanup\n\nJust use the newly introduced sd-\u003ename.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34f3a814eef8069a24e5b3ebcf27aba9dabac2ea",
      "tree": "a25f326c8192b4f7942201e9b7da9b8fd5ad101b",
      "parents": [
        "eab172294d5e24464f332dd8e94a57a9819c81c4"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Oct 30 15:23:32 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 30 11:38:35 2008 +0100"
      },
      "message": "sched: switch sched_features to seqfile\n\nImpact: cleanup\n\nSo handling of sched_features read is simplified.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eab172294d5e24464f332dd8e94a57a9819c81c4",
      "tree": "f8f577d52aa83b76cd7f044a8327f236bb35f835",
      "parents": [
        "e946217e4fdaa67681bbabfa8e6b18641921f750"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Oct 29 17:03:22 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 29 11:53:26 2008 +0100"
      },
      "message": "sched: cleanup for alloc_rt/fair_sched_group()\n\nImpact: cleanup\n\nRemove checking parent \u003d\u003d NULL. It won\u0027t be NULLL, because we dynamically\ncreate sub task_group only, and sub task_group always has its parent.\n(root task_group is statically defined)\n\nAlso replace kmalloc_node(GFP_ZERO) with kzalloc_node().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d1a76187a5be4f89c6cb19d800cb5fb7aac735c5",
      "tree": "2fac3ffbfffc7560eeef8364b541d0d7a0057920",
      "parents": [
        "c7e78cff6b7518212247fb20b1dc6411540dc9af",
        "0173a3265b228da319ceb9c1ec6a5682fd1b2d92"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 28 16:54:49 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 28 16:54:49 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28-rc2\u0027 into core/locking\n\nConflicts:\n\tarch/um/include/asm/system.h\n"
    },
    {
      "commit": "3f3a490480d8ab96e0fe30a41f80f14e6a0c579d",
      "tree": "addbfb1207d816b1e1f5e4ab75f95a08c7b15202",
      "parents": [
        "464b75273f64be7c81fee975bd6ca9593df3427b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 24 11:06:16 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 24 12:51:03 2008 +0200"
      },
      "message": "sched: virtual time buddy preemption\n\nSince we moved wakeup preemption back to virtual time, it makes sense to move\nthe buddy stuff back as well. The purpose of the buddy scheduling is to allow\na quickly scheduling pair of tasks to run away from the group as far as a\nregular busy task would be allowed under wakeup preemption.\n\nThis has the advantage that the pair can ping-pong for a while, enjoying\ncache-hotness. Without buddy scheduling other tasks would interleave destroying\nthe cache.\n\nAlso, it saves a word in cfs_rq.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "01c8c57d668d94f1036d9ab11a22aa24ca16a35d",
      "tree": "a5bad4df146982e55bdd9dba73912f6bace036df",
      "parents": [
        "8c82a17e9c924c0e9f13e75e4c2f6bca19a4b516"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 24 11:06:12 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 24 12:50:59 2008 +0200"
      },
      "message": "sched: fix a find_busiest_group buglet\n\nIn one of the group load balancer patches:\n\n\tcommit 408ed066b11cf9ee4536573b4269ee3613bd735e\n\tAuthor: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n\tDate:   Fri Jun 27 13:41:28 2008 +0200\n\tSubject: sched: hierarchical load vs find_busiest_group\n\nThe following change:\n\n-               if (max_load - this_load + SCHED_LOAD_SCALE_FUZZ \u003e\u003d\n+               if (max_load - this_load + 2*busiest_load_per_task \u003e\u003d\n                                        busiest_load_per_task * imbn) {\n\nmade the condition always true, because imbn is [1,2].\nTherefore, remove the 2*, and give the it a fair chance.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "88ed86fee6651033de9b7038dac7869a9f19775a",
      "tree": "38b638d2e7cba110ec271275738f221feb7e0a37",
      "parents": [
        "3856d30ded1fe43c6657927ebad402d25cd128f4",
        "59c7572e82d69483a66eaa67b46548baeb69ecf4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 12:04:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 12:04:37 2008 -0700"
      },
      "message": "Merge branch \u0027proc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc\n\n* \u0027proc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc: (35 commits)\n  proc: remove fs/proc/proc_misc.c\n  proc: move /proc/vmcore creation to fs/proc/vmcore.c\n  proc: move pagecount stuff to fs/proc/page.c\n  proc: move all /proc/kcore stuff to fs/proc/kcore.c\n  proc: move /proc/schedstat boilerplate to kernel/sched_stats.h\n  proc: move /proc/modules boilerplate to kernel/module.c\n  proc: move /proc/diskstats boilerplate to block/genhd.c\n  proc: move /proc/zoneinfo boilerplate to mm/vmstat.c\n  proc: move /proc/vmstat boilerplate to mm/vmstat.c\n  proc: move /proc/pagetypeinfo boilerplate to mm/vmstat.c\n  proc: move /proc/buddyinfo boilerplate to mm/vmstat.c\n  proc: move /proc/vmallocinfo to mm/vmalloc.c\n  proc: move /proc/slabinfo boilerplate to mm/slub.c, mm/slab.c\n  proc: move /proc/slab_allocators boilerplate to mm/slab.c\n  proc: move /proc/interrupts boilerplate code to fs/proc/interrupts.c\n  proc: move /proc/stat to fs/proc/stat.c\n  proc: move rest of /proc/partitions code to block/genhd.c\n  proc: move /proc/cpuinfo code to fs/proc/cpuinfo.c\n  proc: move /proc/devices code to fs/proc/devices.c\n  proc: move rest of /proc/locks to fs/locks.c\n  ...\n"
    },
    {
      "commit": "1f6d6e8ebe73ba9d9d4c693f7f6f50f661dbd6e4",
      "tree": "be7a2d20b1728da5a0d844a6f4cd382b2c2569fb",
      "parents": [
        "db563fc2e80534f98c7f9121a6f7dfe41f177a79",
        "268a3dcfea2077fca60d3715caa5c96f9b5e6ea7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:53:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:53:02 2008 -0700"
      },
      "message": "Merge branch \u0027v28-range-hrtimers-for-linus-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027v28-range-hrtimers-for-linus-v2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits)\n  hrtimers: add missing docbook comments to struct hrtimer\n  hrtimers: simplify hrtimer_peek_ahead_timers()\n  hrtimers: fix docbook comments\n  DECLARE_PER_CPU needs linux/percpu.h\n  hrtimers: fix typo\n  rangetimers: fix the bug reported by Ingo for real\n  rangetimer: fix BUG_ON reported by Ingo\n  rangetimer: fix x86 build failure for the !HRTIMERS case\n  select: fix alpha OSF wrapper\n  select: fix alpha OSF wrapper\n  hrtimer: peek at the timer queue just before going idle\n  hrtimer: make the futex() system call use the per process slack value\n  hrtimer: make the nanosleep() syscall use the per process slack\n  hrtimer: fix signed/unsigned bug in slack estimator\n  hrtimer: show the timer ranges in /proc/timer_list\n  hrtimer: incorporate feedback from Peter Zijlstra\n  hrtimer: add a hrtimer_start_range() function\n  hrtimer: another build fix\n  hrtimer: fix build bug found by Ingo\n  hrtimer: make select() and poll() use the hrtimer range feature\n  ...\n"
    },
    {
      "commit": "133e887f90208d339088dd60cb1d08a72ba27288",
      "tree": "4f6bab9d13df7fac50bc7d699d8486f441deb428",
      "parents": [
        "e82cff752f57810a2259415ad2e9087c2d69484c",
        "0c4b83da58ec2e96ce9c44c211d6eac5f9dae478"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 09:37:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 09:37:16 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: disable the hrtick for now\n  sched: revert back to per-rq vruntime\n  sched: fair scheduler should not resched rt tasks\n  sched: optimize group load balancer\n  sched: minor fast-path overhead reduction\n  sched: fix the wrong mask_len, cleanup\n  sched: kill unused scheduler decl.\n  sched: fix the wrong mask_len\n  sched: only update rq-\u003eclock while holding rq-\u003elock\n"
    },
    {
      "commit": "b5aadf7f14c1acc94956aa257e018e9de3881f41",
      "tree": "5add08715374d105dc16f4135e2445e4a3b65a17",
      "parents": [
        "3b5d5c6b0ccba733a313f8752ebc3f8015628ba3"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Oct 06 13:23:43 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 23 18:06:12 2008 +0400"
      },
      "message": "proc: move /proc/schedstat boilerplate to kernel/sched_stats.h\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "268a3dcfea2077fca60d3715caa5c96f9b5e6ea7",
      "tree": "c2232774508424e677e27f296090a68c775e4669",
      "parents": [
        "c4bd822e7b12a9008241d76db45b665f2fef180c",
        "592aa999d6a272856c9bfbdaac0cfba1bb37c24c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 22 09:48:06 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 22 09:48:06 2008 +0200"
      },
      "message": "Merge branch \u0027timers/range-hrtimers\u0027 into v28-range-hrtimers-for-linus-v2\n\nConflicts:\n\n\tkernel/time/tick-sched.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "92b29b86fe2e183d44eb467e5e74a5f718ef2e43",
      "tree": "1bac8a1aa11d47322b66d10ec3a370016d843d06",
      "parents": [
        "b9d7ccf56be1ac77b71a284a1c0e6337f9a7aff0",
        "98d9c66ab07471006fd7910cb16453581c41a3e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:35:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:35:07 2008 -0700"
      },
      "message": "Merge branch \u0027tracing-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-v28-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (131 commits)\n  tracing/fastboot: improve help text\n  tracing/stacktrace: improve help text\n  tracing/fastboot: fix initcalls disposition in bootgraph.pl\n  tracing/fastboot: fix bootgraph.pl initcall name regexp\n  tracing/fastboot: fix issues and improve output of bootgraph.pl\n  tracepoints: synchronize unregister static inline\n  tracepoints: tracepoint_synchronize_unregister()\n  ftrace: make ftrace_test_p6nop disassembler-friendly\n  markers: fix synchronize marker unregister static inline\n  tracing/fastboot: add better resolution to initcall debug/tracing\n  trace: add build-time check to avoid overrunning hex buffer\n  ftrace: fix hex output mode of ftrace\n  tracing/fastboot: fix initcalls disposition in bootgraph.pl\n  tracing/fastboot: fix printk format typo in boot tracer\n  ftrace: return an error when setting a nonexistent tracer\n  ftrace: make some tracers reentrant\n  ring-buffer: make reentrant\n  ring-buffer: move page indexes into page headers\n  tracing/fastboot: only trace non-module initcalls\n  ftrace: move pc counter in irqtrace\n  ...\n\nManually fix conflicts:\n - init/main.c: initcall tracing\n - kernel/module.c: verbose level vs tracepoints\n - scripts/bootgraph.pl: fallout from cherry-picking commits.\n"
    },
    {
      "commit": "ffda12a17a324103e9900fa1035309811eecbfe5",
      "tree": "79fe8aae79a41b467f2cdd055036b3017642a9f6",
      "parents": [
        "b0aa51b999c449e5e3f9faa1ee406e052d407fe7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 17 19:27:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 20 14:05:02 2008 +0200"
      },
      "message": "sched: optimize group load balancer\n\nI noticed that tg_shares_up() unconditionally takes rq-locks for all cpus\nin the sched_domain. This hurts.\n\nWe need the rq-locks whenever we change the weight of the per-cpu group sched\nentities. To allevate this a little, only change the weight when the new\nweight is at least shares_thresh away from the old value.\n\nThis avoids the rq-lock for the top level entries, since those will never\nbe re-weighted, and fuzzes the lower level entries a little to gain performance\nin semi-stable situations.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c465a76af658b443075d6efee1c3131257643020",
      "tree": "63c28c9fab02dedec7f03cee4a3ef7fe4dc1c072",
      "parents": [
        "2d42244ae71d6c7b0884b5664cf2eda30fb2ae68",
        "1b02469088ac7a13d7e622b618b7410d0f1ce5ec",
        "fb02fbc14d17837b4b7b02dbb36142c16a7bf208",
        "d40e944c25fb4642adb2a4c580a48218a9f3f824",
        "1508487e7f16d992ad23cabd3712563ff912f413",
        "322acf6585f3c4e82ee32a246b0483ca0f6ad3f4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/debug\u0027 into v28-timers-for-linus\n"
    },
    {
      "commit": "651dab4264e4ba0e563f5ff56f748127246e9065",
      "tree": "016630974bdcb00fe529b673f96d389e0fd6dc94",
      "parents": [
        "40b8606253552109815786e5d4b0de98782d31f5",
        "2e532d68a2b3e2aa6b19731501222069735c741c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Oct 17 09:20:26 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Oct 17 09:20:26 2008 -0700"
      },
      "message": "Merge commit \u0027linus/master\u0027 into merge-linus\n\nConflicts:\n\n\tarch/x86/kvm/i8254.c\n"
    },
    {
      "commit": "8cd162ce230b154e564a1285bb5f89fcf73f0dce",
      "tree": "aaace0250b44a77d71cd650edaa395d9b3f891e7",
      "parents": [
        "5b16a2212f1840b63d6cc476b26ff9349dab185e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Oct 15 20:37:23 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 15 20:43:27 2008 +0200"
      },
      "message": "sched: only update rq-\u003eclock while holding rq-\u003elock\n\nVatsa noticed rq-\u003eclock going funny and tracked it down to an update_rq_clock()\noutside a rq-\u003elock section.\n\nThis is a problem because things like double_rq_lock() update the rq-\u003eclock\nvalue for both rqs. Therefore disabling interrupts isn\u0027t strong enough.\n\nReported-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a16b6075843325dc402edf80c1662838b929aff",
      "tree": "124e49d8c0196f3c6eb7aa09a7c4c3c3157fff7a",
      "parents": [
        "4a0897526bbc5c6ac0df80b16b8c60339e717ae2"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Fri Jul 18 12:16:17 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 14 10:30:52 2008 +0200"
      },
      "message": "tracing, sched: LTTng instrumentation - scheduler\n\nInstrument the scheduler activity (sched_switch, migration, wakeups,\nwait for a task, signal delivery) and process/thread\ncreation/destruction (fork, exit, kthread stop). Actually, kthread\ncreation is not instrumented in this patch because it is architecture\ndependent. It allows to connect tracers such as ftrace which detects\nscheduling latencies, good/bad scheduler decisions. Tools like LTTng can\nexport this scheduler information along with instrumentation of the rest\nof the kernel activity to perform post-mortem analysis on the scheduler\nactivity.\n\nAbout the performance impact of tracepoints (which is comparable to\nmarkers), even without immediate values optimizations, tests done by\nHideo Aoki on ia64 show no regression. His test case was using hackbench\non a kernel where scheduler instrumentation (about 5 events in code\nscheduler code) was added. See the \"Tracepoints\" patch header for\nperformance result detail.\n\nChangelog :\n\n- Change instrumentation location and parameter to match ftrace\n  instrumentation, previously done with kernel markers.\n\n[ mingo@elte.hu: conflict resolutions ]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: \u0027Peter Zijlstra\u0027 \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a5d8c3483a6e19aca95ef6a2c5890e33bfa5b293",
      "tree": "7ace24573f220d799815fe7ad344ca11c262a8ba",
      "parents": [
        "2fb7635c4cea310992a39580133099dd99ad151c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 09 11:35:51 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 09 17:13:06 2008 +0200"
      },
      "message": "sched debug: add name to sched_domain sysctl entries\n\nadd /proc/sys/kernel/sched_domain/cpu0/domain0/name, to make\nit easier to see which specific scheduler domain remained at\nthat entry.\n\nSince we process the scheduler domain tree and\nsimplify it, it\u0027s not always immediately clear during debugging\nwhich domain came from where.\n\ndepends on CONFIG_SCHED_DEBUG\u003dy.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "34b3ede2353604ec9861c1d900b2a835ff85de47",
      "tree": "c7661ffe4143f5df331b6b2e4813aa48fdd91ca5",
      "parents": [
        "2c10c22af088ab5d94fae93ce3fe6436b2a208b4"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Oct 06 09:27:00 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 08:13:34 2008 +0200"
      },
      "message": "sched: remove redundant code in cpu_cgroup_create()\n\ncss will be initialized by cgroup core.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c10c22af088ab5d94fae93ce3fe6436b2a208b4",
      "tree": "db27721001f194327ddbdcd6c983c4ec68b77c00",
      "parents": [
        "f6121f4f8708195e88cbdf8dd8d171b226b3f858",
        "fec6ed1d1f9b78a6acb4a3eb2c46c812ac2e96f0"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 08:13:18 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 06 08:13:18 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/devel\n"
    },
    {
      "commit": "7317d7b87edb41a9135e30be1ec3f7ef817c53dd",
      "tree": "e8375c49cbeb8012e55967f325be99b01ab66648",
      "parents": [
        "6918bc5c830e890681eabb3c6cb6b8d117a52d14"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Tue Sep 30 20:50:27 2008 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 30 12:56:25 2008 +0200"
      },
      "message": "sched: improve preempt debugging\n\nThis patch helped me out with a problem I recently had....\n\nBasically, when the kernel lock is held, then preempt_count underflow does not\nget detected until it is released which may be a long time (and arbitrarily,\neg at different points it may be rescheduled). If the bkl is released at\nschedule, the resulting output is actually fairly cryptic...\n\nWith any other lock that elevates preempt_count, it is illegal to schedule\nunder it (which would get found pretty quickly). bkl allows scheduling with\npreempt_count elevated, which makes underflows hard to debug.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1508487e7f16d992ad23cabd3712563ff912f413",
      "tree": "d8e341de10ec868c4f8d4129aa04eadd33f37ca9",
      "parents": [
        "7086efe1c1536f6bc160e7d60a9bfd645b91f279"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 30 08:28:17 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 30 08:28:17 2008 +0200"
      },
      "message": "timers: fix itimer/many thread hang, fix\n\nfix bogus rq dereference: v3 removed the locking but also removed the rq\ninitialization.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ccc7dadf736639da86f3e0c86832c11a66fc8221",
      "tree": "3f1c0df0a291fec4a10d72cc1ab278ad81e697c5",
      "parents": [
        "b00c1a99e7758f794923c61e5cd55268d61c9469"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 15:47:42 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 29 17:09:14 2008 +0200"
      },
      "message": "hrtimer: prevent migration of per CPU hrtimers\n\nImpact: per CPU hrtimers can be migrated from a dead CPU\n\nThe hrtimer code has no knowledge about per CPU timers, but we need to\nprevent the migration of such timers and warn when such a timer is\nactive at migration time.\n\nExplicitely mark the timers as per CPU and use a more understandable\nmode descriptor for the interrupts safe unlocked callback mode, which\nis used by hrtimer_sleeper and the scheduler code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7086efe1c1536f6bc160e7d60a9bfd645b91f279",
      "tree": "a5facb5a01052452547ab9a9a47a0260537127fb",
      "parents": [
        "31d9284569e38fb97117497af3e8047a6a3c86f0"
      ],
      "author": {
        "name": "Frank Mayhar",
        "email": "fmayhar@google.com",
        "time": "Fri Sep 12 09:54:39 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 27 20:04:45 2008 +0200"
      },
      "message": "timers: fix itimer/many thread hang, v3\n\n- fix UP lockup\n- another set of UP/SMP cleanups and simplifications\n\nSigned-off-by: Frank Mayhar \u003cfmayhar@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4653f803e6e0d970ffeac0efd2c01743eb6c5228",
      "tree": "5de138ab4aa31c2df68062209f0b166a94739843",
      "parents": [
        "78333cdd0e472180743d35988e576d6ecc6f6ddb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 23 15:33:44 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:23:16 2008 +0200"
      },
      "message": "sched: more sanity checks on the bandwidth settings\n\nWhile playing around with it, I noticed we missed some sanity checks.\nAlso add some comments while we\u0027re there.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "63e5c39859a41591662466028c4d1281c033c05a",
      "tree": "1fbb0c2b76673e9557688ee607aa61d92855bebe",
      "parents": [
        "695698500912c4479ddf4723e492de3970ff8530",
        "fa748203175de7c08f2df80e5a0eeca40329b5e2",
        "c8bfff6dd4d41834f4952cbc49e28e31906a6188"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:23:05 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 16:23:05 2008 +0200"
      },
      "message": "Merge branches \u0027sched/urgent\u0027 and \u0027sched/rt\u0027 into sched/devel\n"
    },
    {
      "commit": "bb34d92f643086d546b49cef680f6f305ed84414",
      "tree": "275887040c96971e133fa20d99517c1fcea76415",
      "parents": [
        "5ce73a4a5a4893a1aa4cdeed1b1a5a6de42c43b6"
      ],
      "author": {
        "name": "Frank Mayhar",
        "email": "fmayhar@google.com",
        "time": "Fri Sep 12 09:54:39 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 13:38:44 2008 +0200"
      },
      "message": "timers: fix itimer/many thread hang, v2\n\nThis is the second resubmission of the posix timer rework patch, posted\na few days ago.\n\nThis includes the changes from the previous resubmittion, which addressed\nOleg Nesterov\u0027s comments, removing the RCU stuff from the patch and\nun-inlining the thread_group_cputime() function for SMP.\n\nIn addition, per Ingo Molnar it simplifies the UP code, consolidating much\nof it with the SMP version and depending on lower-level SMP/UP handling to\ntake care of the differences.\n\nIt also cleans up some UP compile errors, moves the scheduler stats-related\nmacros into kernel/sched_stats.h, cleans up a merge error in\nkernel/fork.c and has a few other minor fixes and cleanups as suggested\nby Oleg and Ingo. Thanks for the review, guys.\n\nSigned-off-by: Frank Mayhar \u003cfmayhar@google.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "006c75f146e58e080d2b2725a6664f71886e112b",
      "tree": "63d4e651021422aa1b316568661c6a104aeb2ba1",
      "parents": [
        "caea8a03702c147e8ae90da0801e7ba8297b1d46"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Sep 22 14:55:46 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 11:02:31 2008 +0200"
      },
      "message": "sched: clarify ifdef tangle\n\n- Add some comments to try to make the ifdef puzzle a bit clearer\n\n- Explicitly inline one of the three init_hrtick() implementations.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa748203175de7c08f2df80e5a0eeca40329b5e2",
      "tree": "bead1aac37160b8232218bd947188a6ff5df2596",
      "parents": [
        "cec5eb7be3a104fffd27ca967ee8e15a123050e2"
      ],
      "author": {
        "name": "Rakib Mullick",
        "email": "rakib.mullick@gmail.com",
        "time": "Mon Sep 22 14:55:45 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 23 11:02:13 2008 +0200"
      },
      "message": "sched: fix init_hrtick() section mismatch warning\n\nLD      kernel/built-in.o\nWARNING: kernel/built-in.o(.text+0x326): Section mismatch in reference\nfrom the function init_hrtick() to the variable\n.cpuinit.data:hotplug_hrtick_nb.8\nThe function init_hrtick() references\nthe variable __cpuinitdata hotplug_hrtick_nb.8.\nThis is often because init_hrtick lacks a __cpuinitdata\nannotation or the annotation of hotplug_hrtick_nb.8 is wrong.\n\nSigned-off-by: Md.Rakib H. Mullick \u003crakib.mullick@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15afe09bf496ae10c989e1a375a6b5da7bd3e16e",
      "tree": "4565659d1084e357eea42e6321a4d304ac950faa",
      "parents": [
        "09b22a2f678ae733801b888c44756d0abd686b8a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Sep 20 23:38:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 22 16:28:32 2008 +0200"
      },
      "message": "sched: wakeup preempt when small overlap\n\nLin Ming reported a 10% OLTP regression against 2.6.27-rc4.\n\nThe difference seems to come from different preemption agressiveness,\nwhich affects the cache footprint of the workload and its effective\ncache trashing.\n\nAggresively preempt a task if its avg overlap is very small, this should\navoid the task going to sleep and find it still running when we schedule\nback to it - saving a wakeup.\n\nReported-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f06febc96ba8e0af80bcc3eaec0a109e88275fac",
      "tree": "46dba9432ef25d2eae9434ff2df638c7a268c0f1",
      "parents": [
        "6bfb09a1005193be5c81ebac9f3ef85210142650"
      ],
      "author": {
        "name": "Frank Mayhar",
        "email": "fmayhar@google.com",
        "time": "Fri Sep 12 09:54:39 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Sep 14 16:25:35 2008 +0200"
      },
      "message": "timers: fix itimer/many thread hang\n\nOverview\n\nThis patch reworks the handling of POSIX CPU timers, including the\nITIMER_PROF, ITIMER_VIRT timers and rlimit handling.  It was put together\nwith the help of Roland McGrath, the owner and original writer of this code.\n\nThe problem we ran into, and the reason for this rework, has to do with using\na profiling timer in a process with a large number of threads.  It appears\nthat the performance of the old implementation of run_posix_cpu_timers() was\nat least O(n*3) (where \"n\" is the number of threads in a process) or worse.\nEverything is fine with an increasing number of threads until the time taken\nfor that routine to run becomes the same as or greater than the tick time, at\nwhich point things degrade rather quickly.\n\nThis patch fixes bug 9906, \"Weird hang with NPTL and SIGPROF.\"\n\nCode Changes\n\nThis rework corrects the implementation of run_posix_cpu_timers() to make it\nrun in constant time for a particular machine.  (Performance may vary between\none machine and another depending upon whether the kernel is built as single-\nor multiprocessor and, in the latter case, depending upon the number of\nrunning processors.)  To do this, at each tick we now update fields in\nsignal_struct as well as task_struct.  The run_posix_cpu_timers() function\nuses those fields to make its decisions.\n\nWe define a new structure, \"task_cputime,\" to contain user, system and\nscheduler times and use these in appropriate places:\n\nstruct task_cputime {\n\tcputime_t utime;\n\tcputime_t stime;\n\tunsigned long long sum_exec_runtime;\n};\n\nThis is included in the structure \"thread_group_cputime,\" which is a new\nsubstructure of signal_struct and which varies for uniprocessor versus\nmultiprocessor kernels.  For uniprocessor kernels, it uses \"task_cputime\" as\na simple substructure, while for multiprocessor kernels it is a pointer:\n\nstruct thread_group_cputime {\n\tstruct task_cputime totals;\n};\n\nstruct thread_group_cputime {\n\tstruct task_cputime *totals;\n};\n\nWe also add a new task_cputime substructure directly to signal_struct, to\ncache the earliest expiration of process-wide timers, and task_cputime also\nreplaces the it_*_expires fields of task_struct (used for earliest expiration\nof thread timers).  The \"thread_group_cputime\" structure contains process-wide\ntimers that are updated via account_user_time() and friends.  In the non-SMP\ncase the structure is a simple aggregator; unfortunately in the SMP case that\nsimplicity was not achievable due to cache-line contention between CPUs (in\none measured case performance was actually _worse_ on a 16-cpu system than\nthe same test on a 4-cpu system, due to this contention).  For SMP, the\nthread_group_cputime counters are maintained as a per-cpu structure allocated\nusing alloc_percpu().  The timer functions update only the timer field in\nthe structure corresponding to the running CPU, obtained using per_cpu_ptr().\n\nWe define a set of inline functions in sched.h that we use to maintain the\nthread_group_cputime structure and hide the differences between UP and SMP\nimplementations from the rest of the kernel.  The thread_group_cputime_init()\nfunction initializes the thread_group_cputime structure for the given task.\nThe thread_group_cputime_alloc() is a no-op for UP; for SMP it calls the\nout-of-line function thread_group_cputime_alloc_smp() to allocate and fill\nin the per-cpu structures and fields.  The thread_group_cputime_free()\nfunction, also a no-op for UP, in SMP frees the per-cpu structures.  The\nthread_group_cputime_clone_thread() function (also a UP no-op) for SMP calls\nthread_group_cputime_alloc() if the per-cpu structures haven\u0027t yet been\nallocated.  The thread_group_cputime() function fills the task_cputime\nstructure it is passed with the contents of the thread_group_cputime fields;\nin UP it\u0027s that simple but in SMP it must also safely check that tsk-\u003esignal\nis non-NULL (if it is it just uses the appropriate fields of task_struct) and,\nif so, sums the per-cpu values for each online CPU.  Finally, the three\nfunctions account_group_user_time(), account_group_system_time() and\naccount_group_exec_runtime() are used by timer functions to update the\nrespective fields of the thread_group_cputime structure.\n\nNon-SMP operation is trivial and will not be mentioned further.\n\nThe per-cpu structure is always allocated when a task creates its first new\nthread, via a call to thread_group_cputime_clone_thread() from copy_signal().\nIt is freed at process exit via a call to thread_group_cputime_free() from\ncleanup_signal().\n\nAll functions that formerly summed utime/stime/sum_sched_runtime values from\nfrom all threads in the thread group now use thread_group_cputime() to\nsnapshot the values in the thread_group_cputime structure or the values in\nthe task structure itself if the per-cpu structure hasn\u0027t been allocated.\n\nFinally, the code in kernel/posix-cpu-timers.c has changed quite a bit.\nThe run_posix_cpu_timers() function has been split into a fast path and a\nslow path; the former safely checks whether there are any expired thread\ntimers and, if not, just returns, while the slow path does the heavy lifting.\nWith the dedicated thread group fields, timers are no longer \"rebalanced\" and\nthe process_timer_rebalance() function and related code has gone away.  All\nsumming loops are gone and all code that used them now uses the\nthread_group_cputime() inline.  When process-wide timers are set, the new\ntask_cputime structure in signal_struct is used to cache the earliest\nexpiration; this is checked in the fast path.\n\nPerformance\n\nThe fix appears not to add significant overhead to existing operations.  It\ngenerally performs the same as the current code except in two cases, one in\nwhich it performs slightly worse (Case 5 below) and one in which it performs\nvery significantly better (Case 2 below).  Overall it\u0027s a wash except in those\ntwo cases.\n\nI\u0027ve since done somewhat more involved testing on a dual-core Opteron system.\n\nCase 1: With no itimer running, for a test with 100,000 threads, the fixed\n\tkernel took 1428.5 seconds, 513 seconds more than the unfixed system,\n\tall of which was spent in the system.  There were twice as many\n\tvoluntary context switches with the fix as without it.\n\nCase 2: With an itimer running at .01 second ticks and 4000 threads (the most\n\tan unmodified kernel can handle), the fixed kernel ran the test in\n\teight percent of the time (5.8 seconds as opposed to 70 seconds) and\n\thad better tick accuracy (.012 seconds per tick as opposed to .023\n\tseconds per tick).\n\nCase 3: A 4000-thread test with an initial timer tick of .01 second and an\n\tinterval of 10,000 seconds (i.e. a timer that ticks only once) had\n\tvery nearly the same performance in both cases:  6.3 seconds elapsed\n\tfor the fixed kernel versus 5.5 seconds for the unfixed kernel.\n\nWith fewer threads (eight in these tests), the Case 1 test ran in essentially\nthe same time on both the modified and unmodified kernels (5.2 seconds versus\n5.8 seconds).  The Case 2 test ran in about the same time as well, 5.9 seconds\nversus 5.4 seconds but again with much better tick accuracy, .013 seconds per\ntick versus .025 seconds per tick for the unmodified kernel.\n\nSince the fix affected the rlimit code, I also tested soft and hard CPU limits.\n\nCase 4: With a hard CPU limit of 20 seconds and eight threads (and an itimer\n\trunning), the modified kernel was very slightly favored in that while\n\tit killed the process in 19.997 seconds of CPU time (5.002 seconds of\n\twall time), only .003 seconds of that was system time, the rest was\n\tuser time.  The unmodified kernel killed the process in 20.001 seconds\n\tof CPU (5.014 seconds of wall time) of which .016 seconds was system\n\ttime.  Really, though, the results were too close to call.  The results\n\twere essentially the same with no itimer running.\n\nCase 5: With a soft limit of 20 seconds and a hard limit of 2000 seconds\n\t(where the hard limit would never be reached) and an itimer running,\n\tthe modified kernel exhibited worse tick accuracy than the unmodified\n\tkernel: .050 seconds/tick versus .028 seconds/tick.  Otherwise,\n\tperformance was almost indistinguishable.  With no itimer running this\n\ttest exhibited virtually identical behavior and times in both cases.\n\nIn times past I did some limited performance testing.  those results are below.\n\nOn a four-cpu Opteron system without this fix, a sixteen-thread test executed\nin 3569.991 seconds, of which user was 3568.435s and system was 1.556s.  On\nthe same system with the fix, user and elapsed time were about the same, but\nsystem time dropped to 0.007 seconds.  Performance with eight, four and one\nthread were comparable.  Interestingly, the timer ticks with the fix seemed\nmore accurate:  The sixteen-thread test with the fix received 149543 ticks\nfor 0.024 seconds per tick, while the same test without the fix received 58720\nfor 0.061 seconds per tick.  Both cases were configured for an interval of\n0.01 seconds.  Again, the other tests were comparable.  Each thread in this\ntest computed the primes up to 25,000,000.\n\nI also did a test with a large number of threads, 100,000 threads, which is\nimpossible without the fix.  In this case each thread computed the primes only\nup to 10,000 (to make the runtime manageable).  System time dominated, at\n1546.968 seconds out of a total 2176.906 seconds (giving a user time of\n629.938s).  It received 147651 ticks for 0.015 seconds per tick, still quite\naccurate.  There is obviously no comparable test without the fix.\n\nSigned-off-by: Frank Mayhar \u003cfmayhar@google.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "09b22a2f678ae733801b888c44756d0abd686b8a",
      "tree": "6ca52d4011ce6b11c6450d3a574ea6a53cc0d339",
      "parents": [
        "3ba35573ad9a149a3af19625b502679283382f6b",
        "adee14b2e1557d0a8559f29681732d05a89dfc35"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 11 13:37:28 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 11 13:37:28 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.27-rc6\u0027 into sched/devel\n"
    },
    {
      "commit": "ec5d498991e87c74730509508b25c3959192b7e7",
      "tree": "fb5e9eb769ea7a6468f3c9de3c5d9865ba2d70de",
      "parents": [
        "baf25731e54d06eb13dc4eda78c6dc7da4ce84e8"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Wed Sep 10 17:00:19 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 11 09:39:18 2008 +0200"
      },
      "message": "sched: fix deadlock in setting scheduler parameter to zero\n\nAndrei Gusev wrote:\n\n\u003e I played witch scheduler settings. After doing something like:\n\u003e echo -n 1000000 \u003esched_rt_period_us\n\u003e\n\u003e command is locked. I found in kernel.log:\n\u003e\n\u003e Sep 11 00:39:34 zaratustra\n\u003e Sep 11 00:39:34 zaratustra Pid: 4495, comm: bash Tainted: G        W\n\u003e (2.6.26.3 #12)\n\u003e Sep 11 00:39:34 zaratustra EIP: 0060:[\u003cc0213fc7\u003e] EFLAGS: 00210246 CPU: 0\n\u003e Sep 11 00:39:34 zaratustra EIP is at div64_u64+0x57/0x80\n\u003e Sep 11 00:39:34 zaratustra EAX: 0000389f EBX: 00000000 ECX: 00000000\n\u003e EDX: 00000000\n\u003e Sep 11 00:39:34 zaratustra ESI: d9800000 EDI: d9800000 EBP: 0000389f\n\u003e ESP: ea7a6edc\n\u003e Sep 11 00:39:34 zaratustra DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\n\u003e Sep 11 00:39:34 zaratustra Process bash (pid: 4495, ti\u003dea7a6000\n\u003e task\u003dea744000 task.ti\u003dea7a6000)\n\u003e Sep 11 00:39:34 zaratustra Stack: 00000000 000003e8 d9800000 0000389f\n\u003e c0119042 00000000 00000000 00000001\n\u003e Sep 11 00:39:34 zaratustra 00000000 00000000 ea7a6f54 00010000 00000000\n\u003e c04d2e80 00000001 000e7ef0\n\u003e Sep 11 00:39:34 zaratustra c01191a3 00000000 00000000 ea7a6fa0 00000001\n\u003e ffffffff c04d2e80 ea5b2480\n\u003e Sep 11 00:39:34 zaratustra Call Trace:\n\u003e Sep 11 00:39:34 zaratustra [\u003cc0119042\u003e] __rt_schedulable+0x52/0x130\n\u003e Sep 11 00:39:34 zaratustra [\u003cc01191a3\u003e] sched_rt_handler+0x83/0x120\n\u003e Sep 11 00:39:34 zaratustra [\u003cc01a76a6\u003e] proc_sys_call_handler+0xb6/0xd0\n\u003e Sep 11 00:39:34 zaratustra [\u003cc01a76c0\u003e] proc_sys_write+0x0/0x20\n\u003e Sep 11 00:39:34 zaratustra [\u003cc01a76d9\u003e] proc_sys_write+0x19/0x20\n\u003e Sep 11 00:39:34 zaratustra [\u003cc016cc68\u003e] vfs_write+0xa8/0x140\n\u003e Sep 11 00:39:34 zaratustra [\u003cc016cdd1\u003e] sys_write+0x41/0x80\n\u003e Sep 11 00:39:34 zaratustra [\u003cc0103051\u003e] sysenter_past_esp+0x6a/0x91\n\u003e Sep 11 00:39:34 zaratustra \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e Sep 11 00:39:34 zaratustra Code: c8 41 0f ad f3 d3 ee f6 c1 20 0f 45 de\n\u003e 31 f6 0f ad ef d3 ed f6 c1 20 0f 45 fd 0f 45 ee 31 c9 39 eb 89 fe 89 ea\n\u003e 77 08 89 e8 31 d2 \u003cf7\u003e f3 89 c1 89 f0 8b 7c 24 08 f7 f3 8b 74 24 04 89\n\u003e ca 8b 1c 24\n\u003e Sep 11 00:39:34 zaratustra EIP: [\u003cc0213fc7\u003e] div64_u64+0x57/0x80 SS:ESP\n\u003e 0068:ea7a6edc\n\u003e Sep 11 00:39:34 zaratustra ---[ end trace 4eaa2a86a8e2da22 ]---\n\nfix the boundary condition.\n\nsysctl_sched_rt_period\u003d0 makes exception at to_ratio().\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "291c54ff764d12ecc9a916cb478a0bbb45c5990e",
      "tree": "bb89231e59e51520d91f102663b793bd34125c41",
      "parents": [
        "49048622eae698e5c4ae61f7e71200f265ccc529",
        "dfb512ec4834116124da61d6c1ee10fd0aa32bd6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 21:03:16 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 21:03:16 2008 +0200"
      },
      "message": "Merge branch \u0027sched/cpuset\u0027 into sched/urgent\n"
    },
    {
      "commit": "dfb512ec4834116124da61d6c1ee10fd0aa32bd6",
      "tree": "ea4f847f2a29face1b5774c6d44ec41bf92e302b",
      "parents": [
        "cf417141cbb3a4ceb5cca15b2c1f099bd0a6603c"
      ],
      "author": {
        "name": "Max Krasnyansky",
        "email": "maxk@qualcomm.com",
        "time": "Fri Aug 29 13:11:41 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 19:22:15 2008 +0200"
      },
      "message": "sched: arch_reinit_sched_domains() must destroy domains to force rebuild\n\nWhat I realized recently is that calling rebuild_sched_domains() in\narch_reinit_sched_domains() by itself is not enough when cpusets are enabled.\npartition_sched_domains() code is trying to avoid unnecessary domain rebuilds\nand will not actually rebuild anything if new domain masks match the old ones.\n\nWhat this means is that doing\n     echo 1 \u003e /sys/devices/system/cpu/sched_mc_power_savings\non a system with cpusets enabled will not take affect untill something changes\nin the cpuset setup (ie new sets created or deleted).\n\nThis patch fixes restore correct behaviour where domains must be rebuilt in\norder to enable MC powersaving flags.\n\nTest on quad-core Core2 box with both CONFIG_CPUSETS and !CONFIG_CPUSETS.\nAlso tested on dual-core Core2 laptop. Lockdep is happy and things are working\nas expected.\n\nSigned-off-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nTested-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f79d852ed30a06eebf7497afe9334a726db3d40",
      "tree": "0057281f17501b635d3d88cda9a14203706f5dcc",
      "parents": [
        "aef745fca016aea45adae5c98e8698904dd8ad51",
        "70bb08962ea9bd50797ae9f16b2493f5f7c65053"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 16:51:57 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Sep 06 16:51:57 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/devel\n"
    }
  ],
  "next": "c8bfff6dd4d41834f4952cbc49e28e31906a6188"
}
