)]}'
{
  "log": [
    {
      "commit": "093a07e2fdfaddab7fc7d4adc76cc569c86603d7",
      "tree": "baaa4d86680347a0687ebfbe133d7b253b88102c",
      "parents": [
        "0de19a456cb59106420864927fdec152310f70b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 13:09:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 15 13:09:54 2008 -0700"
      },
      "message": "Fix locking bug in \"acquire_console_semaphore_for_printk()\"\n\nWhen I cleaned up printk() and split up the printk locking logic in\ncommit 266c2e0abeca649fa6667a1a427ad1da507c6375 (\"Make printk() console\nsemaphore accesses sensible\") I had incorrectly moved the call to\nhave_callable_console() outside of the console semaphore.\n\nThat was buggy.  The console semaphore protects the console_drivers list\nthat is used by have_callable_console().\n\nThanks go to Bongani Hlope who saw this as a hang on shutdown and reboot\nand bisected the bug to the right commit, and tested this patch. See\n\n\thttp://lkml.org/lkml/2008/4/11/315\n\nBisected-and-tested-by: Bongani Hlope \u003cbonganilinux@mweb.co.za\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2df9e0905136eebeca66eb9a994ca48d0fa7990",
      "tree": "a349fbb43871b173703f14bf325545e491de7bff",
      "parents": [
        "120dd64cacd4fb796bca0acba3665553f1d9ecaa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 08:50:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Apr 14 14:26:23 2008 +0200"
      },
      "message": "revert \"sched: fix fair sleepers\"\n\nrevert \"sched: fix fair sleepers\" (e22ecef1d2658ba54ed7d3fdb5d60829fb434c23),\nbecause it is causing audio skipping, see:\n\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d10428\n\nthe patch is correct and the real cause of the skipping is not\nunderstood (tracing makes it go away), but time has run out so we\u0027ll\nrevert it and re-try in 2.6.26.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6c3006d204a0b86e1ebe02ca38f9f071a03c7ef",
      "tree": "f8f4487b8fe5dedb804c876c3e6f7df90f6b209d",
      "parents": [
        "d10d89ec78114f925f63c5126a2b2490f501a462"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Apr 10 21:29:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 11 08:06:43 2008 -0700"
      },
      "message": "cgroups: include hierarchy ids in /proc/\u003cpid\u003e/cgroup\n\nExtend the /proc/\u003cpid\u003e/cgroup file to include the appropriate hierarchy ID on\neach line.\n\nCurrently this ID isn\u0027t really needed since a hierarchy can be completely\nidentified by the set of subsystems bound to it, but this is likely to change\nin the near future in order to support stateless subsystems and\nmerging/rebinding of subsystems.  Getting this change into 2.6.25 reduces the\nneed for an API change later.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54a015104136974262afa4b8ddd943ea70dec8a2",
      "tree": "713f0c1f4d0afe62e5c568a424e309f70388cf7f",
      "parents": [
        "783e391b7b5b273cd20856d8f6f4878da8ec31b3"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Thu Apr 10 15:37:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 10 17:28:26 2008 -0700"
      },
      "message": "asmlinkage_protect replaces prevent_tail_call\n\nThe prevent_tail_call() macro works around the problem of the compiler\nclobbering argument words on the stack, which for asmlinkage functions\nis the caller\u0027s (user\u0027s) struct pt_regs.  The tail/sibling-call\noptimization is not the only way that the compiler can decide to use\nstack argument words as scratch space, which we have to prevent.\nOther optimizations can do it too.\n\nUntil we have new compiler support to make \"asmlinkage\" binding on the\ncompiler\u0027s own use of the stack argument frame, we have work around all\nthe manifestations of this issue that crop up.\n\nMore cases seem to be prevented by also keeping the incoming argument\nvariables live at the end of the function.  This makes their original\nstack slots attractive places to leave those variables, so the compiler\ntends not clobber them for something else.  It\u0027s still no guarantee, but\nit handles some observed cases that prevent_tail_call() did not.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bab8dded67d026c39367bbd5e27d2f6c556c38e",
      "tree": "d80f8f85f1da496c56bfa8575f0b59eba7c2ef55",
      "parents": [
        "3a143125ddc4e2e0ca1e67fb4bedd45c36e59cc7"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Fri Apr 04 14:29:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 04 14:46:26 2008 -0700"
      },
      "message": "cgroups: add cgroup support for enabling controllers at boot time\n\nThe effects of cgroup_disable\u003dfoo are:\n\n- foo isn\u0027t auto-mounted if you mount all cgroups in a single hierarchy\n- foo isn\u0027t visible as an individually mountable subsystem\n\nAs a result there will only ever be one call to foo-\u003ecreate(), at init time;\nall processes will stay in this group, and the group will never be mounted on\na visible hierarchy.  Any additional effects (e.g.  not allocating metadata)\nare up to the foo subsystem.\n\nThis doesn\u0027t handle early_init subsystems (their \"disabled\" bit isn\u0027t set be,\nbut it could easily be extended to do so if any of the early_init systems\nwanted it - I think it would just involve some nastier parameter processing\nsince it would occur before the command-line argument parser had been run.\n\nHugh said:\n\n  Ballpark figures, I\u0027m trying to get this question out rather than\n  processing the exact numbers: CONFIG_CGROUP_MEM_RES_CTLR adds 15% overhead\n  to the affected paths, booting with cgroup_disable\u003dmemory cuts that back to\n  1% overhead (due to slightly bigger struct page).\n\n  I\u0027m no expert on distros, they may have no interest whatever in\n  CONFIG_CGROUP_MEM_RES_CTLR\u003dy; and the rest of us can easily build with or\n  without it, or apply the cgroup_disable\u003dmemory patches.\n\nUnix bench\u0027s execl test result on x86_64 was\n\n\u003d\u003d just after boot without mounting any cgroup fs.\u003d\u003d\nmem_cgorup\u003doff : Execl Throughput       43.0     3150.1      732.6\nmem_cgroup\u003don  : Execl Throughput       43.0     2932.6      682.0\n\u003d\u003d\n\n[lizf@cn.fujitsu.com: fix boot option parsing]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Sudhir Kumar \u003cskumar@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6496968e6cc3f01faafa63a5a28549a708539ac0",
      "tree": "de0af9ad6750690d6815f3e263fe2bc188591fa8",
      "parents": [
        "629c8b4cdb354518308663aff2f719e02f69ffbe"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Wed Apr 02 13:04:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 15:28:19 2008 -0700"
      },
      "message": "markers: use synchronize_sched()\n\nMarkers do not mix well with CONFIG_PREEMPT_RCU because it uses\npreempt_disable/enable() and not rcu_read_lock/unlock for minimal\nintrusiveness.  We would need call_sched and sched_barrier primitives.\n\nCurrently, the modification (connection and disconnection) of probes\nfrom markers requires changes to the data structure done in RCU-style :\na new data structure is created, the pointer is changed atomically, a\nquiescent state is reached and then the old data structure is freed.\n\nThe quiescent state is reached once all the currently running\npreempt_disable regions are done running.  We use the call_rcu mechanism\nto execute kfree() after such quiescent state has been reached.\nHowever, the new CONFIG_PREEMPT_RCU version of call_rcu and rcu_barrier\ndoes not guarantee that all preempt_disable code regions have finished,\nhence the race.\n\nThe \"proper\" way to do this is to use rcu_read_lock/unlock, but we don\u0027t\nwant to use it to minimize intrusiveness on the traced system.  (we do\nnot want the marker code to call into much of the OS code, because it\nwould quickly restrict what can and cannot be instrumented, such as the\nscheduler).\n\nThe temporary fix, until we get call_rcu_sched and rcu_barrier_sched in\nmainline, is to use synchronize_sched before each call_rcu calls, so we\nwait for the quiescent state in the system call code path.  It will slow\ndown batch marker enable/disable, but will make sure the race is gone.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8481664d373e7e2cea3ea0c2d7a06c9e939b19ee",
      "tree": "83b81b68e453d8880ae92c811e4f138eb8140038",
      "parents": [
        "9dce07f1a441b77a15631cf0ed0238e0baa7ed64"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:07:58 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:18:41 2008 -0700"
      },
      "message": "futex_compat __user annotation\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9dce07f1a441b77a15631cf0ed0238e0baa7ed64",
      "tree": "2131d670d31ae4727b4234e3e0ad176ae103d571",
      "parents": [
        "1076d17ac70d1bb28fadc6f4bd96977b56897025"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Mar 29 03:07:28 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 30 14:18:41 2008 -0700"
      },
      "message": "NULL noise: fs/*, mm/*, kernel/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f706d5d22c35e18ed13a4b2b4991aac75bf39df5",
      "tree": "89de67dd7ea1a72cbf6147bbb8a3b7cfb6e746ae",
      "parents": [
        "5214b729e1c2dc3af8f55e6c4c548844c3bea0f5"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@codemonkey.org.uk",
        "time": "Fri Mar 28 14:15:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:21 2008 -0700"
      },
      "message": "audit: silence two kerneldoc warnings in kernel/audit.c\n\nSilence two kerneldoc warnings.\n\nWarning(kernel/audit.c:1276): No description found for parameter \u0027string\u0027\nWarning(kernel/audit.c:1276): No description found for parameter \u0027len\u0027\n\n[also fix a typo for bonus points]\n\nSigned-off-by: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d4a788f15302877ff2cb08f22009e290a36a209",
      "tree": "51d2733fb81a75903e4b0f8a5d2ce9f903361ff0",
      "parents": [
        "8c703d35fa91911dd92a18c31a718853f483ad80"
      ],
      "author": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@valinux.co.jp",
        "time": "Fri Mar 28 14:15:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:21 2008 -0700"
      },
      "message": "memcgroup: fix spurious EBUSY on memory cgroup removal\n\nCall mm_free_cgroup earlier.  Otherwise a reference due to lazy mm switching\ncan prevent cgroup removal.\n\nSigned-off-by: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6d107fb10def502522b10bfb7af9533afbb8274",
      "tree": "7fcf68e80a964a71b642d2bc1886c8060ae78fd3",
      "parents": [
        "ee20a0dd5400e771ff93eb7f2bcc731eab1f377e"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@ozlabs.org",
        "time": "Thu Mar 27 14:52:15 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 27 08:02:13 2008 -0700"
      },
      "message": "Give futex init a proper name\n\nThe futex init function is called init(). This is a pain in the neck\nwhen debugging when you code dies in ... init :-)\n\nThis renames it to futex_init().\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f404faa72f4e458e7bd81ac75ce55ae829e953d",
      "tree": "46b70d6d86fc619343b4986160bda5e46b86bb18",
      "parents": [
        "729eb528c7e10a4828fece102872ec5255946f64",
        "06d8308c61e54346585b2691c13ee3f90cb6fb2f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 26 11:29:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 26 11:29:35 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  NOHZ: reevaluate idle sleep length after add_timer_on()\n  clocksource: revert: use init_timer_deferrable for clocksource_watchdog\n"
    },
    {
      "commit": "5eb7f9fa847b8ab6e4864bfb8cb45f370844a47c",
      "tree": "6d84d9441eaf31bf471fb98996bb6e5b5ecd875f",
      "parents": [
        "37529fe9f62835e1c11895a1895064748b032dc1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Mar 26 12:04:09 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Mar 26 12:04:09 2008 +0100"
      },
      "message": "relay: set an spd_release() hook for splice\n\nrelay doesn\u0027t reference the pages it adds, however we need a non-NULL\nhook or splice_to_pipe() can oops.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "37529fe9f62835e1c11895a1895064748b032dc1",
      "tree": "961853665601ae08f85008cae589798bdf8f940d",
      "parents": [
        "05dda977f2574c3341abef9b74c27d2b362e1e3a"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Mar 26 12:01:28 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Mar 26 12:01:28 2008 +0100"
      },
      "message": "set relay file can not be read by pread(2)\n\nI found that relay files can be read by pread(2). I fix it,\nfor relay files are not capable of seeking.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "06d8308c61e54346585b2691c13ee3f90cb6fb2f",
      "tree": "d522e285525964706e7ec112bca23d407a540a8e",
      "parents": [
        "898a19de1502649877091b398229026b4142c0e2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Mar 22 09:20:24 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 26 08:28:55 2008 +0100"
      },
      "message": "NOHZ: reevaluate idle sleep length after add_timer_on()\n\nadd_timer_on() can add a timer on a CPU which is currently in a long\nidle sleep, but the timer wheel is not reevaluated by the nohz code on\nthat CPU. So a timer can be delayed for quite a long time. This\ntriggered a false positive in the clocksource watchdog code.\n\nTo avoid this we need to wake up the idle CPU and enforce the\nreevaluation of the timer wheel for the next timer event.\n\nAdd a function, which checks a given CPU for idle state, marks the\nidle task with NEED_RESCHED and sends a reschedule IPI to notify the\nother CPU of the change in the timer wheel.\n\nCall this function from add_timer_on().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: stable@kernel.org\n\n--\n include/linux/sched.h |    6 ++++++\n kernel/sched.c        |   43 +++++++++++++++++++++++++++++++++++++++++++\n kernel/timer.c        |   10 +++++++++-\n 3 files changed, 58 insertions(+), 1 deletion(-)\n\n"
    },
    {
      "commit": "898a19de1502649877091b398229026b4142c0e2",
      "tree": "14bb8190db30d356cb1da9e7467898e12bf26a29",
      "parents": [
        "a4083c9271e0a697278e089f2c0b9a95363ada0a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 25 09:01:51 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 25 20:13:25 2008 +0100"
      },
      "message": "clocksource: revert: use init_timer_deferrable for clocksource_watchdog\n\nRevert\n\ncommit 1077f5a917b7c630231037826b344b2f7f5b903f\nAuthor: Parag Warudkar \u003cparag.warudkar@gmail.com\u003e\nDate:   Wed Jan 30 13:30:01 2008 +0100\n\n    clocksource.c: use init_timer_deferrable for clocksource_watchdog\n    \n    clocksource_watchdog can use a deferrable timer - reduces wakeups from\n    idle per second.\n\nThe watchdog timer needs to run with the specified interval. Otherwise\nit will miss the possible wrap of the watchdog clocksource.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n\n"
    },
    {
      "commit": "266c2e0abeca649fa6667a1a427ad1da507c6375",
      "tree": "9eb832b4c5de234cc789eae00a36a1337cefe451",
      "parents": [
        "5f7b703fe2be40db5a2bf136ac9e44cf5db267cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:25:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:25:08 2008 -0700"
      },
      "message": "Make printk() console semaphore accesses sensible\n\nThe printk() logic on when/how to get the console semaphore was\nunreadable, this splits the code up into a few helper functions and\nmakes it easier to follow what is going on.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f7b703fe2be40db5a2bf136ac9e44cf5db267cc",
      "tree": "aa7da3bcd7a1e50cf2be75f633ce19ae3bf0ae9c",
      "parents": [
        "a846a1954b6397e844fe1e258af7598897ec6159"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 24 12:29:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:20 2008 -0700"
      },
      "message": "bsd_acct: using task_struct-\u003etgid is not right in pid-namespaces\n\nIn case we\u0027re accounting from a sub-namespace, the tgids reported will not\nrefer to the right namespace.\n\nSave the pid_namespace we\u0027re accounting in on the acct_glbs and use it in\ndo_acct_process.\n\nTwo less :) places using the task_struct.tgid member.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a846a1954b6397e844fe1e258af7598897ec6159",
      "tree": "a90b3a593d528c299fd90e9e84fe17a7cdb23733",
      "parents": [
        "4dd4b920218326231156c7991ce5b94afad841c3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Mar 24 12:29:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:19 2008 -0700"
      },
      "message": "bsd_acct: plain current-\u003ereal_parent access is not always safe\n\nThis is minor, but dereferencing even current real_parent is not safe on debug\nkernels, since the memory, this points to, can be unmapped - RCU protection is\nrequired.\n\nBesides, the tgid field is deprecated and is to be replaced with task_tgid_xxx\ncall (the 2nd patch), so RCU will be required anyway.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58336114af4d2cce830201aae49e50b93ede6c5c",
      "tree": "e3df187b38657b86953a5ead5b022572c35c8288",
      "parents": [
        "fd3c36f8b527d13cf311d15e0702bc0390956970"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Mon Mar 24 12:29:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:19 2008 -0700"
      },
      "message": "markers: remove ACCESS_ONCE\n\nAs Paul pointed out, the ACCESS_ONCE are not needed because we already have\nthe explicit surrounding memory barriers.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Mike Mason \u003cmmlnx@us.ibm.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Adrian Bunk \u003cadrian.bunk@movial.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd3c36f8b527d13cf311d15e0702bc0390956970",
      "tree": "7eb9426b914e21e92a7016a54ccc74cc132057ae",
      "parents": [
        "5a982cbc7b3fe6cf72266f319286f29963c71b9e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Mon Mar 24 12:29:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 19:22:19 2008 -0700"
      },
      "message": "markers: update preempt_disable. call_rcu, rcu_barrier comments\n\nAdd comments requested by Andrew.\n\nUpdated comments about synchronize_sched().  Since we use call_rcu and\nrcu_barrier now, these comments were out of sync with the code.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Mike Mason \u003cmmlnx@us.ibm.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Adrian Bunk \u003cadrian.bunk@movial.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92896bd9fd75b1c993b92874d339a8088bb75560",
      "tree": "2bd8bc5a8c8ee10a4b1fd62804281d2b486067f0",
      "parents": [
        "d2532dd20a126020de407c1c2476a75b53fce7ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:07:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 24 11:07:15 2008 -0700"
      },
      "message": "Don\u0027t \u0027printk()\u0027 while holding xtime lock for writing\n\nThe printk() can deadlock because it can wake up klogd(), and\ntask enqueueing will try to read the time in order to set a hrtimer.\n\nReported-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nDebugged-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22e52b072dd87faa9b2559fe89d4e8f2370f81ca",
      "tree": "79e71d0aad3c9ea9f326977c3a3ff1dceaec81b5",
      "parents": [
        "9aefd0abd8610e8f3bb097debf3afb73f8b7b210"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Mar 12 18:31:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:48 2008 +0100"
      },
      "message": "sched: add arch_update_cpu_topology hook.\n\nWill be called each time the scheduling domains are rebuild.\nNeeded for architectures that don\u0027t have a static cpu topology.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9aefd0abd8610e8f3bb097debf3afb73f8b7b210",
      "tree": "3456c6949cd8b9c926aa9beef7c9bf99d0a84caa",
      "parents": [
        "23e3c3cd2e39a3c9d07ee07d882c8cf6ddd61c86"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Mar 12 18:31:58 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "message": "sched: add exported arch_reinit_sched_domains() to header file.\n\nNeeded so it can be called from outside of sched.c.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "23e3c3cd2e39a3c9d07ee07d882c8cf6ddd61c86",
      "tree": "a728df75b68d5648ea6d6627125c48f6d56fe1a8",
      "parents": [
        "2070ee01d314ecec8a570c07647ccf4ced6340bb"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Thu Mar 13 17:41:59 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "message": "sched: remove double unlikely from schedule()\n\nCombine two unlikely\u0027s\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2070ee01d314ecec8a570c07647ccf4ced6340bb",
      "tree": "e7a3c95e9c8ae06917e00a40fcb6cae1c4a9c924",
      "parents": [
        "ae51801ba5ca27c2c571eb508daa99b392e79bd4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 21 16:43:47 2008 +0100"
      },
      "message": "sched: cleanup old and rarely used \u0027debug\u0027 features.\n\nTREE_AVG and APPROX_AVG are initial task placement policies that have been\ndisabled for a long while.. time to remove them.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7d3628b230ecbdc29566c18bc7800ff8ed66a71f",
      "tree": "eac1bff40bdb655fdfdeaf1e22ce12a81296f1fb",
      "parents": [
        "2c7871982cf27caaddbaeb7e2121ce1374b520ff",
        "94833dfb8c98ed4ca1944dd2c1339d88a2d1c758"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits)\n  [NET] ifb: set separate lockdep classes for queue locks\n  [IPV6] KCONFIG: Fix description about IPV6_TUNNEL.\n  [TCP]: Fix shrinking windows with window scaling\n  netpoll: zap_completion_queue: adjust skb-\u003eusers counter\n  bridge: use time_before() in br_fdb_cleanup()\n  [TG3]: Fix build warning on sparc32.\n  MAINTAINERS: bluez-devel is subscribers-only\n  audit: netlink socket can be auto-bound to pid other than current-\u003epid (v2)\n  [NET]: Fix permissions of /proc/net\n  [SCTP]: Fix a race between module load and protosw access\n  [NETFILTER]: ipt_recent: sanity check hit count\n  [NETFILTER]: nf_conntrack_h323: logical-bitwise \u0026 confusion in process_setup()\n  [RT2X00] drivers/net/wireless/rt2x00/rt2x00dev.c: remove dead code, fix warning\n  [IPV4]: esp_output() misannotations\n  [8021Q]: vlan_dev misannotations\n  xfrm: -\u003eeth_proto is __be16\n  [IPV4]: ipv4_is_lbcast() misannotations\n  [SUNRPC]: net/* NULL noise\n  [SCTP]: fix misannotated __sctp_rcv_asconf_lookup()\n  [PKT_SCHED]: annotate cls_u32\n  ...\n"
    },
    {
      "commit": "75c0371a2d385ecbd6e1f854d9dce20889f06736",
      "tree": "34a9988cfb3077c88a44b904f466d129b01caae9",
      "parents": [
        "4f42c288e66a3395e94158badbd182b2dae8eccb"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Mar 20 15:39:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 20 15:39:41 2008 -0700"
      },
      "message": "audit: netlink socket can be auto-bound to pid other than current-\u003epid (v2)\n\nFrom:\tPavel Emelyanov \u003cxemul@openvz.org\u003e\n\nThis patch is based on the one from Thomas.\n\nThe kauditd_thread() calls the netlink_unicast() and passes \nthe audit_pid to it. The audit_pid, in turn, is received from \nthe user space and the tool (I\u0027ve checked the audit v1.6.9) \nuses getpid() to pass one in the kernel. Besides, this tool \ndoesn\u0027t bind the netlink socket to this id, but simply creates \nit allowing the kernel to auto-bind one.\n\nThat\u0027s the preamble.\n\nThe problem is that netlink_autobind() _does_not_ guarantees\nthat the socket will be auto-bound to the current pid. Instead\nit uses the current pid as a hint to start looking for a free\nid. So, in case of conflict, the audit messages can be sent\nto a wrong socket. This can happen (it\u0027s unlikely, but can be)\nin case some task opens more than one netlink sockets and then\nthe audit one starts - in this case the audit\u0027s pid can be busy\nand its socket will be bound to another id.\n\nThe proposal is to introduce an audit_nlk_pid in audit subsys,\nthat will point to the netlink socket to send packets to. It\nwill most often be equal to audit_pid. The socket id can be \ngot from the skb\u0027s netlink CB right in the audit_receive_msg.\nThe audit_nlk_pid reset to 0 is not required, since all the\ndecisions are taken based on audit_pid value only.\n\nLater, if the audit tools will bind the socket themselves, the\nkernel will have to provide a way to setup the audit_nlk_pid\nas well.\n\nA good side effect of this patch is that audit_pid can later \nbe converted to struct pid, as it is not longer safe to use \npid_t-s in the presence of pid namespaces. But audit code still \nuses the tgid from task_struct in the audit_signal_info and in\nthe audit_filter_syscall.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3150e63df41450a795bbd0bd98a8e70da74e0285",
      "tree": "cee77b25ba25abc5c892cfb06fdac92bbd946991",
      "parents": [
        "cf821e8f53e3d147ebae03c8c710d2b8842d88a1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 19 17:01:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:37 2008 -0700"
      },
      "message": "revert \"clocksource: make clocksource watchdog cycle through online CPUs\"\n\nRevert commit 1ada5cba6a0318f90e45b38557e7b5206a9cba38 (\"clocksource:\nmake clocksource watchdog cycle through online CPUs\") due to the\nregression reported by Gabriel C at\n\n\thttp://lkml.org/lkml/2008/2/24/281\n\n(short vesion: it makes TSC be marked as always unstable on his\nmachine).\n\nCc: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Robert Hancock \u003chancockr@shaw.ca\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Gabriel C \u003cnix.or.die@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74e3cd7f480ae1888b7cd196bf8125a1d3bfee05",
      "tree": "8fb0ee01df92d145e975ce210e6aac2be5584062",
      "parents": [
        "f540a6080a092e2ab69fd146c308022db7347b0a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 18 18:47:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: retune wake granularity\n\nreduce wake-up granularity for better interactivity.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f540a6080a092e2ab69fd146c308022db7347b0a",
      "tree": "12dda1ecd63adb17cf06db61712a113cf6990037",
      "parents": [
        "4ae7d5cefd4aa3560e359a3b0f03e12adc8b5c86"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 17:10:34 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: wakeup-buddy tasks are cache-hot\n\nWakeup-buddy tasks are cache-hot - this makes it a bit harder\nfor the load-balancer to tear them apart. (but it\u0027s still possible,\nif the load is sufficiently assymetric)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ae7d5cefd4aa3560e359a3b0f03e12adc8b5c86",
      "tree": "c7517529ec199d3d9936b4049880a820534d2703",
      "parents": [
        "6f3d09291b4982991680b61763b2541e53e2a95f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 01:42:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: improve affine wakeups\n\nimprove affine wakeups. Maintain the \u0027overlap\u0027 metric based on CFS\u0027s\nsum_exec_runtime - which means the amount of time a task executes\nafter it wakes up some other task.\n\nUse the \u0027overlap\u0027 for the wakeup decisions: if the \u0027overlap\u0027 is short,\nit means there\u0027s strong workload coupling between this task and the\nwoken up task. If the \u0027overlap\u0027 is large then the workload is decoupled\nand the scheduler will move them to separate CPUs more easily.\n\n( Also slightly move the preempt_check within try_to_wake_up() - this has\n  no effect on functionality but allows \u0027early wakeups\u0027 (for still-on-rq\n  tasks) to be correctly accounted as well.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f48273860edfca2306236d0f0de609aab3f773d4",
      "tree": "2ee68d85fa99e54488d25780234e3e3fb2c0b982",
      "parents": [
        "ac192d3921a14e2c9080799e16959b4bd56f49d6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 16 21:21:47 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:53 2008 +0100"
      },
      "message": "sched: clean up wakeup balancing, code flow\n\nClean up the code flow. No code changed:\n\nkernel/sched.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.before\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.after\n\nmd5:\n   09b31c44e9aff8666f72773dc433e2df  sched.o.before.asm\n   09b31c44e9aff8666f72773dc433e2df  sched.o.after.asm\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ac192d3921a14e2c9080799e16959b4bd56f49d6",
      "tree": "da675c79a0c5076a49bfa75b74a29d8bde85f60e",
      "parents": [
        "098fb9db2c74cfd6ffdbf61eb026a0c21abc5f75"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 16 20:56:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:52 2008 +0100"
      },
      "message": "sched: clean up wakeup balancing, rename variables\n\nrename \u0027cpu\u0027 to \u0027prev_cpu\u0027. No code changed:\n\nkernel/sched.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.before\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.after\n\nmd5:\n   09b31c44e9aff8666f72773dc433e2df  sched.o.before.asm\n   09b31c44e9aff8666f72773dc433e2df  sched.o.after.asm\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "098fb9db2c74cfd6ffdbf61eb026a0c21abc5f75",
      "tree": "1b7d4d35ce9d375f7078937518f92b60f4fda000",
      "parents": [
        "f920bb6f5fe21047e669381fe4dd346f6a9d3562"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 16 20:36:10 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 19 04:27:52 2008 +0100"
      },
      "message": "sched: clean up wakeup balancing, move wake_affine()\n\nsplit out the affine-wakeup bits.\n\nNo code changed:\n\nkernel/sched.o:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.before\n  42521\t   2858\t    232\t  45611\t   b22b\tsched.o.after\n\nmd5:\n   9d76738f1272aa82f0b7affd2f51df6b  sched.o.before.asm\n   09b31c44e9aff8666f72773dc433e2df  sched.o.after.asm\n\n(the md5\u0027s changed because stack slots changed and some registers\nget scheduled by gcc in a different order - but otherwise the before\nand after assembly is instruction for instruction equivalent.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "16d54669427069ef2823752c365d695b0cc4748f",
      "tree": "ab971bc703f790b90697d29a1e65a793b7f87628",
      "parents": [
        "2af3e6017e53065ddf40bb19190a29199b7ffee3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Mar 17 09:04:59 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Mar 17 09:04:59 2008 +0100"
      },
      "message": "relay: fix subbuf_splice_actor() adding too many pages\n\nIf subbuf_pages was larger than the max number of pages the pipe\nbuffer will hold, subbuf_splice_actor() would happily go beyond\nthe array size.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6a6029b8cefe0ca7e82f27f3904dbedba3de4e06",
      "tree": "a58e0590105f89be306daf01fc83473d7a3e0104",
      "parents": [
        "e22ecef1d2658ba54ed7d3fdb5d60829fb434c23"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 22:17:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:50 2008 +0100"
      },
      "message": "sched: simplify sched_slice()\n\nUse the existing calc_delta_mine() calculation for sched_slice(). This\nsaves a divide and simplifies the code because we share it with the\nother /cfs_rq-\u003eload users.\n\nIt also improves code size:\n\n      text    data     bss     dec     hex filename\n     42659    2740     144   45543    b1e7 sched.o.before\n     42093    2740     144   44977    afb1 sched.o.after\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "e22ecef1d2658ba54ed7d3fdb5d60829fb434c23",
      "tree": "49069e160107578ec8212d969b599e03d7a62fae",
      "parents": [
        "aa2ac25229cd4d0280f6174c42712744ad61b140"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 22:16:08 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:50 2008 +0100"
      },
      "message": "sched: fix fair sleepers\n\nFair sleepers need to scale their latency target down by runqueue\nweight. Otherwise busy systems will gain ever larger sleep bonus.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "aa2ac25229cd4d0280f6174c42712744ad61b140",
      "tree": "e4450de1bb2cd4cd56d6abf64feb862c1d542653",
      "parents": [
        "27d117266097101dcf79c4576903cdcdd0eabffc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 14 21:12:12 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:50 2008 +0100"
      },
      "message": "sched: fix overload performance: buddy wakeups\n\nCurrently we schedule to the leftmost task in the runqueue. When the\nruntimes are very short because of some server/client ping-pong,\nespecially in over-saturated workloads, this will cycle through all\ntasks trashing the cache.\n\nReduce cache trashing by keeping dependent tasks together by running\nnewly woken tasks first. However, by not running the leftmost task first\nwe could starve tasks because the wakee can gain unlimited runtime.\n\nTherefore we only run the wakee if its within a small\n(wakeup_granularity) window of the leftmost task. This preserves\nfairness, but does alternate server/client task groups.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27d117266097101dcf79c4576903cdcdd0eabffc",
      "tree": "854e6e824b03385d71d8d7f2feb9311572bb86f2",
      "parents": [
        "e89996ae3f9e88d4fd75751a15c10b19d197e702"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 22:20:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:50 2008 +0100"
      },
      "message": "sched: fix calc_delta_mine()\n\nlw-\u003eweight can be 0 for a short time during bootup.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "e89996ae3f9e88d4fd75751a15c10b19d197e702",
      "tree": "b4b754697995e3ebff4e987b46167263e86ff0d8",
      "parents": [
        "3fe69747dab906cd6a8523230276a9820d6a514f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 14 23:48:28 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:49 2008 +0100"
      },
      "message": "sched: fix update_load_add()/sub()\n\nClear the cached inverse value when updating load. This is needed for\ncalc_delta_mine() to work correctly when using the rq load.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "3fe69747dab906cd6a8523230276a9820d6a514f",
      "tree": "bab43c856bd5c23a43fe641be3d1a0e85d3dd604",
      "parents": [
        "0e1f34833bd9170ccc93ab759e48e695917fa48f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 14 20:55:51 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:49 2008 +0100"
      },
      "message": "sched: min_vruntime fix\n\nCurrent min_vruntime tracking is incorrect and will cause serious\nproblems when we don\u0027t run the leftmost task for some reason.\n\nmin_vruntime does two things; 1) it\u0027s used to determine a forward\ndirection when the u64 vruntime wraps, 2) it\u0027s used to track the\nleftmost vruntime to position newly enqueued tasks from.\n\nThe current logic advances min_vruntime whenever the current task\u0027s\nvruntime advance. Because the current task may pass the leftmost task\nstill waiting we\u0027re failing the second goal. This causes new tasks to be\nplaced too far ahead and thus penalizes their runtime.\n\nFix this by making min_vruntime the min_vruntime of the waiting tasks by\ntracking it in enqueue/dequeue, and compare against current\u0027s vruntime\nto obtain the absolute minimum when placing new tasks.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0e1f34833bd9170ccc93ab759e48e695917fa48f",
      "tree": "2ca4b89dd755f2d82dbd34466a8cd6d8b5b4a0af",
      "parents": [
        "4faa8496650f9417189dacce8f933e8ec61dc032"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Mon Mar 10 11:01:20 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 15 03:02:49 2008 +0100"
      },
      "message": "sched: fix race in schedule()\n\nFix a hard to trigger crash seen in the -rt kernel that also affects\nthe vanilla scheduler.\n\nThere is a race condition between schedule() and some dequeue/enqueue\nfunctions; rt_mutex_setprio(), __setscheduler() and sched_move_task().\n\nWhen scheduling to idle, idle_balance() is called to pull tasks from\nother busy processor. It might drop the rq lock. It means that those 3\nfunctions encounter on_rq\u003d0 and running\u003d1. The current task should be\nput when running.\n\nHere is a possible scenario:\n\n   CPU0                               CPU1\n    |                              schedule()\n    |                              -\u003edeactivate_task()\n    |                              -\u003eidle_balance()\n    |                              --\u003eload_balance_newidle()\nrt_mutex_setprio()                     |\n    |                              ---\u003edouble_lock_balance()\n    *get lock                          *rel lock\n    * on_rq\u003d0, ruuning\u003d1               |\n    * sched_class is changed           |\n    *rel lock                          *get lock\n    :                                  |\n                                       :\n                                   -\u003eput_prev_task_rt()\n                                   -\u003epick_next_task_fair()\n                                       \u003d\u003e panic\n\nThe current process of CPU1(P1) is scheduling. Deactivated P1, and the\nscheduler looks for another process on other CPU\u0027s runqueue because CPU1\nwill be idle. idle_balance(), load_balance_newidle() and\ndouble_lock_balance() are called and double_lock_balance() could drop\nthe rq lock. On the other hand, CPU0 is trying to boost the priority of\nP1. The result of boosting only P1\u0027s prio and sched_class are changed to\nRT. The sched entities of P1 and P1\u0027s group are never put. It makes\ncfs_rq invalid, because the cfs_rq has curr and no leaf, but\npick_next_task_fair() is called, then the kernel panics.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "29ea5171cbd08a7ef37e543cbf02447033f0e289",
      "tree": "80d6c7f8e002117283dd1c1db4d3a915833652c7",
      "parents": [
        "b4de123a0bc4a3f0c90899864d51299628729952",
        "53471121a8aad3f0b590bfce7c95a1f5f52150f3"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Mar 13 01:59:53 2008 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Mar 13 01:59:53 2008 -0400"
      },
      "message": "Merge branches \u0027release\u0027 and \u0027doc\u0027 into release\n"
    },
    {
      "commit": "53471121a8aad3f0b590bfce7c95a1f5f52150f3",
      "tree": "badfd31e8602fab32d9b5e693c6558e32e298e7d",
      "parents": [
        "a09a20b526fde0611b49b76521e3c546a47216a5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Mar 12 18:10:51 2008 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Mar 12 18:10:51 2008 -0400"
      },
      "message": "documentation:  Move power-related files to Documentation/power/\n\nMove 00-INDEX entries to power/00-INDEX (and add entry for\npm_qos_interface.txt).\n\nUpdate references to moved filenames.\n\nFix some trailing whitespace.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "a82f7119fd940c1505fc9fdf93d835fa52bc075d",
      "tree": "e8fc2aaa6dc73da9dc2626aa6d239bdcf8c9d44d",
      "parents": [
        "baadac8b10c5ac15ce3d26b68fa266c8889b163f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 12 00:34:57 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Mar 11 23:15:55 2008 -0400"
      },
      "message": "Hibernation: Fix mark_nosave_pages()\n\nThere is a problem in the hibernation code that triggers on some NUMA\nsystems on which pfn_valid() returns \u0027true\u0027 for some PFNs that don\u0027t\nbelong to any zone.  Namely, there is a BUG_ON() in\nmemory_bm_find_bit() that triggers for PFNs not belonging to any\nzone and passing the pfn_valid() test.  On the affected systems it\ntriggers when we mark PFNs reported by the platform as not saveable,\nbecause the PFNs in question belong to a region mapped directly using\niorepam() (i.e. the ACPI data area) and they pass the pfn_valid()\ntest.\n\nModify memory_bm_find_bit() so that it returns an error if given PFN\ndoesn\u0027t belong to any zone instead of crashing the kernel and ignore\nthe result returned by it in mark_nosave_pages(), while marking the\n\"nosave\" memory regions.\n\nThis doesn\u0027t affect the hibernation functionality, as we won\u0027t touch\nthe PFNs in question anyway.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9966 .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "08f503b0c089968b2542659a89dfd50c5c59bb0b",
      "tree": "0a88cc425c2c213a2e6384f4df0739e2e8485e8f",
      "parents": [
        "1f94ef598e8d29b92b9fc85d43c832e03721d3cb"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Mar 10 17:59:11 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 11 14:02:58 2008 +0100"
      },
      "message": "keep rd-\u003eonline and cpu_online_map in sync\n\nIt is possible to allow the root-domain cache of online cpus to\nbecome out of sync with the global cpu_online_map.  This is because we\ncurrently trigger removal of cpus too early in the notifier chain.\nOther DOWN_PREPARE handlers may in fact run and reconfigure the\nroot-domain topology, thereby stomping on our own offline handling.\n\nThe end result is that rd-\u003eonline may become out of sync with\ncpu_online_map, which results in potential task misrouting.\n\nSo change the offline handling to be more tightly coupled with the\nglobal offline process by triggering on CPU_DYING intead of\nCPU_DOWN_PREPARE.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1f94ef598e8d29b92b9fc85d43c832e03721d3cb",
      "tree": "f9573663c4bb83a9af4d17b90c174869b50ba2b1",
      "parents": [
        "2f44bbb495dd3e6d0209eff2257438ab9c570e5b"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Mon Mar 10 16:52:41 2008 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 11 14:02:58 2008 +0100"
      },
      "message": "Revert \"cpu hotplug: adjust root-domain-\u003eonline span in response to hotplug event\"\n\nThis reverts commit 393d94d98b19089ec172566e23557997931b137e.\n\nLets fix this right.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: \"Siddha, Suresh B\" \u003csuresh.b.siddha@intel.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "21bbb39c376ce6beeeb549d155f0d53dc76ed000",
      "tree": "762d0ae6d1cd88aaa231739c3e88437e52ffa387",
      "parents": [
        "f47831fabaf0206abc56ee5a33fd006fe29b6dc6"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Mar 10 11:43:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 10 18:01:20 2008 -0700"
      },
      "message": "rcu: move PREEMPT_RCU config option back under PREEMPT\n\nThe original preemptible-RCU patch put the choice between classic and\npreemptible RCU into kernel/Kconfig.preempt, which resulted in build failures\non machines not supporting CONFIG_PREEMPT.  This choice was therefore moved to\ninit/Kconfig, which worked, but placed the choice between classic and\npreemptible RCU at the top level, a very obtuse choice indeed.\n\nThis patch changes from the Kconfig \"choice\" mechanism to a pair of booleans,\nonly one of which (CONFIG_PREEMPT_RCU) is user-visible, and is located in\nkernel/Kconfig.preempt, where one would expect it to be.  The other\n(CONFIG_CLASSIC_RCU) is in init/Kconfig so that it is available to all\narchitectures, hopefully avoiding build breakage.  Thanks to Roman Zippel for\nsuggesting this approach.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Josh Triplett \u003cjosh@freedesktop.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e24e2e64c468c8060bb7173abecdf11d00ed5751",
      "tree": "b03faa2fd187a207d0a2e78af75a787a66ab21fe",
      "parents": [
        "6c5db22d280302c33dafb309c25bf2841fb99c37"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Mar 10 11:43:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 10 18:01:20 2008 -0700"
      },
      "message": "modules: warn about suspicious return values from module\u0027s -\u003einit() hook\n\nReturn value convention of module\u0027s init functions is 0/-E.  Sometimes,\ne.g.  during forward-porting mistakes happen and buggy module created,\nwhere result of comparison \"workqueue !\u003d NULL\" is propagated all the way up\nto sys_init_module.  What happens is that some other module created\nworkqueue in question, our module created it again and module was\nsuccessfully loaded.\n\nOr it could be some other bug.\n\nLet\u0027s make such mistakes much more visible.  In retrospective, such\nmessages would noticeably shorten some of my head-scratching sessions.\n\nNote, that dump_stack() is just a way to get attention from user.  Sample\nmessage:\n\nsys_init_module: \u0027foo\u0027-\u003einit suspiciously returned 1, it should follow 0/-E convention\nsys_init_module: loading module anyway...\nPid: 4223, comm: modprobe Not tainted 2.6.24-25f666300625d894ebe04bac2b4b3aadb907c861 #5\n\nCall Trace:\n [\u003cffffffff80254b05\u003e] sys_init_module+0xe5/0x1d0\n [\u003cffffffff8020b39b\u003e] system_call_after_swapgs+0x7b/0x80\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6c5db22d280302c33dafb309c25bf2841fb99c37",
      "tree": "0d3711b8a32646f52eca5015447256a30bc96a88",
      "parents": [
        "2668db9111bb1a6ab5a54f41f703179f35c7d098"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Mar 10 11:43:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 10 18:01:19 2008 -0700"
      },
      "message": "modules: fix module waiting for dependent modules\u0027 init\n\nCommit c9a3ba55 (module: wait for dependent modules doing init.) didn\u0027t quite\nwork because the waiter holds the module lock, meaning that the state of the\nmodule it\u0027s waiting for cannot change.\n\nFortunately, it\u0027s fairly simple to update the state outside the lock and do\nthe wakeup.\n\nThanks to Jan Glauber for tracking this down and testing (qdio and qeth).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jan Glauber \u003cjang@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bf5a25e1fff88a1066e20cc7263329405e4939f6",
      "tree": "95822dc50801e21cf1ad1e6aa7b58af898156517",
      "parents": [
        "83f7a2c118833d3738b4d162ea3c17d0bd8ffa94",
        "10a398d04c4a1fc395840f4d040493375f562302"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Mar 09 10:06:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Mar 09 10:06:49 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  time: remove obsolete CLOCK_TICK_ADJUST\n  time: don\u0027t touch an offlined CPU\u0027s ts-\u003etick_stopped in tick_cancel_sched_timer()\n  time: prevent the loop in timespec_add_ns() from being optimised away\n  ntp: use unsigned input for do_div()\n"
    },
    {
      "commit": "393d94d98b19089ec172566e23557997931b137e",
      "tree": "62154269fd93690ffc07ad885cf371542b04ecc5",
      "parents": [
        "6efcae460186c0c1c94afff58a92784e1fc0d10b"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Sat Mar 08 00:10:15 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Mar 09 10:05:14 2008 -0700"
      },
      "message": "cpu hotplug: adjust root-domain-\u003eonline span in response to hotplug event\n\nWe currently set the root-domain online span automatically when the\ndomain is added to the cpu if the cpu is already a member of\ncpu_online_map.\n\nThis was done as a hack/bug-fix for s2ram, but it also causes a problem\nwith hotplug CPU_DOWN transitioning.  The right way to fix the original\nproblem is to actually respond to CPU_UP events, instead of CPU_ONLINE,\nwhich is already too late.\n\nThis solves the hung reboot regression reported by Andrew Morton and\nothers.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10a398d04c4a1fc395840f4d040493375f562302",
      "tree": "02096fe81b70e2baf8db35ebc9d303a1b13029c3",
      "parents": [
        "a79017660ea4597ec489fab3b5aaf71dd776dfc7"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Tue Mar 04 15:14:26 2008 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "time: remove obsolete CLOCK_TICK_ADJUST\n\nThe first version of the ntp_interval/tick_length inconsistent usage patch was\nrecently merged as bbe4d18ac2e058c56adb0cd71f49d9ed3216a405\n\nhttp://git.kernel.org/gitweb.cgi?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003dbbe4d18ac2e058c56adb0cd71f49d9ed3216a405\n\nWhile the fix did greatly improve the situation, it was correctly pointed out\nby Roman that it does have a small bug: If the users change clocksources after\nthe system has been running and NTP has made corrections, the correctoins made\nagainst the old clocksource will be applied against the new clocksource,\ncausing error.\n\nThe second attempt, which corrects the issue in the NTP_INTERVAL_LENGTH\ndefinition has also made it up-stream as commit\ne13a2e61dd5152f5499d2003470acf9c838eab84\n\nhttp://git.kernel.org/gitweb.cgi?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommit;h\u003de13a2e61dd5152f5499d2003470acf9c838eab84\n\nRoman has correctly pointed out that CLOCK_TICK_ADJUST is calculated\nbased on the PIT\u0027s frequency, and isn\u0027t really relevant to non-PIT\ndriven clocksources (that is, clocksources other then jiffies and pit).\n\nThis patch reverts both of those changes, and simply removes\nCLOCK_TICK_ADJUST.\n\nThis does remove the granularity error correction for users of PIT and Jiffies\nclocksource users, but the granularity error but for the majority of users, it\nshould be within the 500ppm range NTP can accommodate for.\n\nFor systems that have granularity errors greater then 500ppm, the\n\"ntp_tick_adj\u003d\" boot option can be used to compensate.\n\n[johnstul@us.ibm.com: provided changelog]\n[mattilinnanvuori@yahoo.com: maek ntp_tick_adj static]\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Matti Linnanvuori \u003cmattilinnanvuori@yahoo.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: mingo@elte.hu\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a79017660ea4597ec489fab3b5aaf71dd776dfc7",
      "tree": "87fedadc8d003391c9ccf5d3cf0aba69fb8e443d",
      "parents": [
        "38332cb98772f5ea757e6486bed7ed0381cb5f98"
      ],
      "author": {
        "name": "Karsten Wiese",
        "email": "fzu@wemgehoertderstaat.de",
        "time": "Tue Mar 04 14:59:55 2008 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "time: don\u0027t touch an offlined CPU\u0027s ts-\u003etick_stopped in tick_cancel_sched_timer()\n\nSilences WARN_ONs in rcu_enter_nohz() and rcu_exit_nohz(), which appeared\nbefore caused by (repeated) calls to:\n        $ echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n        $ echo 1 \u003e /sys/devices/system/cpu/cpu1/online\n\nSigned-off-by: Karsten Wiese \u003cfzu@wemgehoertderstaat.de\u003e\nCc: johnstul@us.ibm.com\nCc: Rafael Wysocki \u003crjw@sisk.pl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e48af19f56eb47a1f908ee8f16df9d246f955b21",
      "tree": "39a6769d80f125f6cfd4721a900e4b897ea15fbb",
      "parents": [
        "84c6f6046c5a2189160a8f0dca8b90427bf690ea"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Feb 25 18:31:57 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 09 08:42:57 2008 +0100"
      },
      "message": "ntp: use unsigned input for do_div()\n\nThe kernel NTP code shouldn\u0027t hand 64-bit *signed* values to do_div().  Make it\ninstead hand 64-bit unsigned values.  This gets rid of a couple of warnings.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6efcae460186c0c1c94afff58a92784e1fc0d10b",
      "tree": "da67b86b65e8dde1f52245e25b1889f87cc96b4e",
      "parents": [
        "84c6f6046c5a2189160a8f0dca8b90427bf690ea"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Sat Mar 08 11:41:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Mar 08 11:54:00 2008 -0800"
      },
      "message": "Fix waitid si_code regression\n\nIn commit ee7c82da830ea860b1f9274f1f0cdf99f206e7c2 (\"wait_task_stopped:\nsimplify and fix races with SIGCONT/SIGKILL/untrace\"), the magic (short)\ncast when storing si_code was lost in wait_task_stopped.  This leaks the\nin-kernel CLD_* values that do not match what userland expects.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "521f1a2489c41f8b1181b0a8eb52e1c34284d50b",
      "tree": "cfe339df98dcb65aaae6c45021ac92cdf60c6540",
      "parents": [
        "2692a2406b9262bbb101708815be99ec2988e48b"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval@linux.vnet.ibm.com",
        "time": "Thu Feb 28 15:21:56 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:43:00 2008 +0100"
      },
      "message": "sched: don\u0027t allow rt_runtime_us to be zero for groups having rt tasks\n\nThis patch checks if we can set the rt_runtime_us to 0. If there is a\nrealtime task in the group, we don\u0027t want to set the rt_runtime_us as 0\nor bad things will happen. (that task wont get any CPU time despite\nbeing TASK_RUNNNG)\n\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2692a2406b9262bbb101708815be99ec2988e48b",
      "tree": "5f956c6f28e7e83f5a1c57e2724b1739da25da30",
      "parents": [
        "1868f958eb56fc41c5985c8732e564a400c5fdf5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 27 12:00:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:43:00 2008 +0100"
      },
      "message": "sched: rt-group: fixup schedulability constraints calculation\n\nit was only possible to configure the rt-group scheduling parameters\nbeyond the default value in a very small range.\n\nthat\u0027s because div64_64() has a different calling convention than\ndo_div() :/\n\nfix a few untidies while we are here; sysctl_sched_rt_period may overflow\ndue to that multiplication, so cast to u64 first. Also that RUNTIME_INF\njuggling makes little sense although its an effective NOP.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1868f958eb56fc41c5985c8732e564a400c5fdf5",
      "tree": "4f8d83e487e5fa93e3d773591a26eda02d1b387d",
      "parents": [
        "150d8bede7f85eb00d8f4d628e6b0bae68739e3b"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Fri Mar 07 09:35:06 2008 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:43:00 2008 +0100"
      },
      "message": "sched: fix the wrong time slice value for SCHED_FIFO tasks\n\nFunction sys_sched_rr_get_interval returns wrong time slice value for\nSCHED_FIFO tasks. The time slice for SCHED_FIFO tasks should be 0.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "150d8bede7f85eb00d8f4d628e6b0bae68739e3b",
      "tree": "aa740c10b82ca59bd983713ef19569d9538b0373",
      "parents": [
        "6fa46fa526f2cab9ce21fa5e39501553a40d196d"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Wed Mar 05 16:56:37 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:43:00 2008 +0100"
      },
      "message": "sched: export task_nice\n\nThe API is trivial, and so is the implementation.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6fa46fa526f2cab9ce21fa5e39501553a40d196d",
      "tree": "5b89e31c030c1b5a780da7c73c031bc7df656a18",
      "parents": [
        "810b38179e9e4d4f57b4b733767bb08f8291a965"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 05 10:00:12 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:43:00 2008 +0100"
      },
      "message": "sched: balance RT task resched only on runqueue\n\nSripathi Kodi reported a crash in the -rt kernel:\n\n  https://bugzilla.redhat.com/show_bug.cgi?id\u003d435674\n\nthis is due to a place that can reschedule a task without holding\nthe tasks runqueue lock.  This was caused by the RT balancing code\nthat pulls RT tasks to the current run queue and will reschedule the\ncurrent task.\n\nThere\u0027s a slight chance that the pulling of the RT tasks will release\nthe current runqueue\u0027s lock and retake it (in the double_lock_balance).\nDuring this time that the runqueue is released, the current task can\nmigrate to another runqueue.\n\nIn the prio_changed_rt code, after the pull, if the current task is of\nlesser priority than one of the RT tasks pulled, resched_task is called\non the current task. If the current task had migrated in that small\nwindow, resched_task will be called without holding the runqueue lock\nfor the runqueue that the task is on.\n\nThis race condition also exists in the mainline kernel and this patch\nadds a check to make sure the task hasn\u0027t migrated before calling\nresched_task.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nTested-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": "810b38179e9e4d4f57b4b733767bb08f8291a965",
      "tree": "91692de4fbd46879b29d803839b5bf7e25f30cd8",
      "parents": [
        "ce4796d1e16cf3761dc2a02b8d588667d05b3078"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Feb 29 15:21:01 2008 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 07 16:42:59 2008 +0100"
      },
      "message": "sched: retain vruntime\n\nKei Tokunaga reported an interactivity problem when moving tasks\nbetween control groups.\n\nTasks would retain their old vruntime when moved between groups, this\ncan cause funny lags. Re-set the vruntime on group move to fit within\nthe new tree.\n\nReported-by: Kei Tokunaga \u003ctokunaga.keiich@jp.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41f7f60d31e5e1dfc9a92957b3e14e08a2f04964",
      "tree": "a55c1c8106c31abf49ac8d1684fa946512b5c2dd",
      "parents": [
        "103926c689650396901002c3a8c38970fff70391"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Tue Mar 04 23:32:38 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Mar 05 17:53:33 2008 -0800"
      },
      "message": "cpusets: fix obsolete comment\n\nmm migration is no longer done in cpuset_update_task_memory_state() so it\ncan no longer take current-\u003emm-\u003emmap_sem, so fix the obsolete comment.\n\n[ This changed in commit 04c19fa6f16047abff2288ddbc1f0798ede5a849\n  (\"cpuset: migrate all tasks in cpuset at once\") when the mm migration\n  was moved from cpuset_update_task_memory_state() to update_nodemask() ]\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b37ccfc637be27d9a652fcedc35e6e782c3aa78",
      "tree": "525fd97d130c630ff5e65de2d83823174986a6a5",
      "parents": [
        "27d0483aa1ef66a8877d71b63bb97f46ab0246b2"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Thu Feb 28 17:11:02 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 20:29:40 2008 -0800"
      },
      "message": "module: allow ndiswrapper to use GPL-only symbols\n\nA change after 2.6.24 broke ndiswrapper by accidentally removing its\naccess to GPL-only symbols.  Revert that change and add comments about\nthe reasons why ndiswrapper and driverloader are treated in a special\nway.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Jon Masters \u003cjonathan@jonmasters.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2a5cd6938879b5bcfef0a73c28fea84c49519c2",
      "tree": "e2039a9f7a4766dbea703c6ed32db881863efc1d",
      "parents": [
        "1913130553aa231644eb4e955b1a2c533fe33d17"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Mar 04 14:29:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:19 2008 -0800"
      },
      "message": "kprobes: fix a null pointer bug in register_kretprobe()\n\nFix a bug in regiseter_kretprobe() which does not check rp-\u003ekp.symbol_name \u003d\u003d\nNULL before calling kprobe_lookup_name.\n\nFor maintainability, this introduces kprobe_addr helper function which\nresolves addr field.  It is used by register_kprobe and register_kretprobe.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "544adb41077a10d299a1094f12ec55a5843a9bdb",
      "tree": "c865b4792e67fcd96171a514c3a649fcce0cde39",
      "parents": [
        "7088655477b51a5a248fa54190388e1283ba7ebf"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Mar 04 14:29:00 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:14 2008 -0800"
      },
      "message": "markers: don\u0027t risk NULL deref in marker\n\nget_marker() may return NULL, so test for it.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9edddaa200df18e08fe0cf21036e8ae467b1363c",
      "tree": "26f5319fac24fb6c76b1276b19725caeb5ec24bc",
      "parents": [
        "8182ec49a73729334f5a6c65a607ba7009ebd6d6"
      ],
      "author": {
        "name": "Ananth N Mavinakayanahalli",
        "email": "ananth@in.ibm.com",
        "time": "Tue Mar 04 14:28:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:11 2008 -0800"
      },
      "message": "Kprobes: indicate kretprobe support in Kconfig\n\nAdd CONFIG_HAVE_KRETPROBES to the arch/\u003carch\u003e/Kconfig file for relevant\narchitectures with kprobes support.  This facilitates easy handling of\nin-kernel modules (like samples/kprobes/kretprobe_example.c) that depend on\nkretprobes being present in the kernel.\n\nThanks to Sam Ravnborg for helping make the patch more lean.\n\nPer Mathieu\u0027s suggestion, added CONFIG_KRETPROBES and fixed up dependencies.\n\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb78922ce9c71b24c4af1ffc9c3d60c57ac471fb",
      "tree": "c3d4217b33f6843171e487b993040edbfbdf3b22",
      "parents": [
        "a10568733cdff03cac742955c7254585451f5431"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Tue Mar 04 14:28:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:09 2008 -0800"
      },
      "message": "Memory Resource Controller use strstrip while parsing arguments\n\nThe memory controller has a requirement that while writing values, we need\nto use echo -n. This patch fixes the problem and makes the UI more consistent.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6abdb0e6ca5c2c0a7caa4131da2af0750927e72",
      "tree": "608c153a6c4b8feca409092bcc14c0710917a4da",
      "parents": [
        "fcab59a3186640ce085e89ee6dfc03cacfb6c7c9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Mar 04 14:28:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 16:35:09 2008 -0800"
      },
      "message": "cgroup: fix default notify_on_release setting\n\nThe documentation says the default value of notify_on_release of a child\ncgroup is inherited from its parent, which is reasonable, but the\nimplementation just sets the flag disabled.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87baa2bb904ed46f872385fe430b6cfb80967835",
      "tree": "36d9a0c365bfafe2a3c76b98a9b83b0d57809c9f",
      "parents": [
        "34f10fc9886450c2e8a336f7022805c4a73e10f1",
        "62fb185130e4d420f71a30ff59d8b16b74ef5d2b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 09:23:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 09:23:28 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel:\n  sched: revert load_balance_monitor() changes\n"
    },
    {
      "commit": "62fb185130e4d420f71a30ff59d8b16b74ef5d2b",
      "tree": "474c0824a5bf90950b0a430a11a52b358c9e1f31",
      "parents": [
        "976dde010e513a9c7c3117a32b7b015f84b37430"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 25 17:34:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 04 17:54:06 2008 +0100"
      },
      "message": "sched: revert load_balance_monitor() changes\n\nThe following commits cause a number of regressions:\n\n  commit 58e2d4ca581167c2a079f4ee02be2f0bc52e8729\n  Author: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n  Date:   Fri Jan 25 21:08:00 2008 +0100\n  sched: group scheduling, change how cpu load is calculated\n\n  commit 6b2d7700266b9402e12824e11e0099ae6a4a6a79\n  Author: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\n  Date:   Fri Jan 25 21:08:00 2008 +0100\n  sched: group scheduler, fix fairness of cpu bandwidth allocation for task groups\n\nNamely:\n - very frequent wakeups on SMP, reported by PowerTop users.\n - cacheline trashing on (large) SMP\n - some latencies larger than 500ms\n\nWhile there is a mergeable patch to fix the latter, the former issues\nare not fixable in a manner suitable for .25 (we\u0027re at -rc3 now).\n\nHence we revert them and try again in v2.6.26.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCC: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nTested-by: Alexey Zaytsev \u003calexey.zaytsev@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "13b1c3d4b49bd83d861c775ca2db54e1692a1b07",
      "tree": "6cefdfef300d3431f2b2b32ec86000b0132bd762",
      "parents": [
        "976dde010e513a9c7c3117a32b7b015f84b37430"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Mon Mar 03 20:22:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 07:59:54 2008 -0800"
      },
      "message": "freezer vs stopped or traced\n\nThis changes the \"freezer\" code used by suspend/hibernate in its treatment\nof tasks in TASK_STOPPED (job control stop) and TASK_TRACED (ptrace) states.\n\nAs I understand it, the intent of the \"freezer\" is to hold all tasks\nfrom doing anything significant.  For this purpose, TASK_STOPPED and\nTASK_TRACED are \"frozen enough\".  It\u0027s possible the tasks might resume\nfrom ptrace calls (if the tracer were unfrozen) or from signals\n(including ones that could come via timer interrupts, etc).  But this\ndoesn\u0027t matter as long as they quickly block again while \"freezing\" is\nin effect.  Some minor adjustments to the signal.c code make sure that\ntry_to_freeze() very shortly follows all wakeups from both kinds of\nstop.  This lets the freezer code safely leave stopped tasks unmolested.\n\nChanging this fixes the longstanding bug of seeing after resuming from\nsuspend/hibernate your shell report \"[1] Stopped\" and the like for all\nyour jobs stopped by ^Z et al, as if you had freshly fg\u0027d and ^Z\u0027d them.\nIt also removes from the freezer the arcane special case treatment for\nptrace\u0027d tasks, which relied on intimate knowledge of ptrace internals.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "821c7de7194e77afee1a69d50830a329a6d9af9f",
      "tree": "6755cb5f57822c142b228ad8ca817c18b8f31884",
      "parents": [
        "05e83df624fe682bb8571cdb2c6d5284a99c3066"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Mar 02 21:44:44 2008 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 03 14:53:16 2008 -0800"
      },
      "message": "exit_notify: fix kill_orphaned_pgrp() usage with mt exit\n\n1. exit_notify() always calls kill_orphaned_pgrp(). This is wrong, we\n   should do this only when the whole process exits.\n\n2. exit_notify() uses \"current\" as \"ignored_task\", obviously wrong.\n   Use -\u003egroup_leader instead.\n\nTest case:\n\n\tvoid hup(int sig)\n\t{\n\t\tprintf(\"HUP received\\n\");\n\t}\n\n\tvoid *tfunc(void *arg)\n\t{\n\t\tsleep(2);\n\t\tprintf(\"sub-thread exited\\n\");\n\t\treturn NULL;\n\t}\n\n\tint main(int argc, char *argv[])\n\t{\n\t\tif (!fork()) {\n\t\t\tsignal(SIGHUP, hup);\n\t\t\tkill(getpid(), SIGSTOP);\n\t\t\texit(0);\n\t\t}\n\n\t\tpthread_t thr;\n\t\tpthread_create(\u0026thr, NULL, tfunc, NULL);\n\n\t\tsleep(1);\n\t\tprintf(\"main thread exited\\n\");\n\t\tsyscall(__NR_exit, 0);\n\n\t\treturn 0;\n\t}\n\noutput:\n\n\tmain thread exited\n\tHUP received\n\tHangup\n\nWith this patch the output is:\n\n\tmain thread exited\n\tsub-thread exited\n\tHUP received\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "05e83df624fe682bb8571cdb2c6d5284a99c3066",
      "tree": "c55df1d1258f2fae4069aa7954a2c74ba1831192",
      "parents": [
        "f49ee505b1ecb5960984880740f09aba87f870dc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Mar 02 21:44:42 2008 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 03 14:53:16 2008 -0800"
      },
      "message": "will_become_orphaned_pgrp: partially fix insufficient -\u003eexit_state check\n\np-\u003eexit_state !\u003d 0 doesn\u0027t mean this process is dead, it may have\nsub-threads.  Change the code to use \"p-\u003eexit_state \u0026\u0026 thread_group_empty(p)\"\ninstead.\n\nWithout this patch, ^Z doesn\u0027t deliver SIGTSTP to the foreground process\nif the main thread has exited.\n\nHowever, the new check is not perfect either.  There is a window when\nexit_notify() drops tasklist and before release_task().  Suppose that\nthe last (non-leader) thread exits.  This means that entire group exits,\nbut thread_group_empty() is not true yet.\n\nAs Eric pointed out, is_global_init() is wrong as well, but I did not\ndare to do other changes.\n\nJust for the record, has_stopped_jobs() is absolutely wrong too.  But we\ncan\u0027t fix it now, we should first fix SIGNAL_STOP_STOPPED issues.\n\nEven with this patch ^Z doesn\u0027t play well with the dead main thread.\nThe task is stopped correctly but do_wait(WSTOPPED) won\u0027t see it.  This\nis another unrelated issue, will be (hopefully) fixed separately.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f49ee505b1ecb5960984880740f09aba87f870dc",
      "tree": "2ff1289ecd2741d3f9d3a298662bc9b5a6266a3d",
      "parents": [
        "5ce2087ed0eb424e0889bdc9102727f65d2ecdde"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Mar 02 21:44:40 2008 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Mar 03 14:53:16 2008 -0800"
      },
      "message": "introduce kill_orphaned_pgrp() helper\n\nFactor out the common code in reparent_thread() and exit_notify().\n\nNo functional changes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d07a67cface19ac07d7324f38bda7bbb06bbdb2",
      "tree": "4706fb5efe2ecdcfa9edac84f7a2682555808fff",
      "parents": [
        "b29ee87e9b441e72454efd1be56aa1a05ffb2f58"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Thu Feb 21 16:59:22 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 01 07:16:06 2008 -0500"
      },
      "message": "[PATCH] drop EOE records from printk\n\nHi,\n\nWhile we are looking at the printk issue, I see that its printk\u0027ing the EOE\n(end of event) records which is really not something that we need in syslog.\nIts really intended for the realtime audit event stream handled by the audit\ndaemon. So, lets avoid printk\u0027ing that record type.\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b29ee87e9b441e72454efd1be56aa1a05ffb2f58",
      "tree": "03003a0f8cc126cd2ef3577f0db836e5d30ae22a",
      "parents": [
        "422b03cf75e11dfdfb29b0f19709bac585335f86"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Feb 21 15:53:05 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 01 07:16:06 2008 -0500"
      },
      "message": "[RFC] AUDIT: do not panic when printk loses messages\n\nOn the latest kernels if one was to load about 15 rules, set the failure\nstate to panic, and then run service auditd stop the kernel will panic.\nThis is because auditd stops, then the script deletes all of the rules.\nThese deletions are sent as audit messages out of the printk kernel\ninterface which is already known to be lossy.  These will overun the\ndefault kernel rate limiting (10 really fast messages) and will call\naudit_panic().  The same effect can happen if a slew of avc\u0027s come\nthrough while auditd is stopped.\n\nThis can be fixed a number of ways but this patch fixes the problem by\njust not panicing if auditd is not running.  We know printk is lossy and\nif the user chooses to set the failure mode to panic and tries to use\nprintk we can\u0027t make any promises no matter how hard we try, so why try?\nAt least in this way we continue to get lost message accounting and will\neventually know that things went bad.\n\nThe other change is to add a new call to audit_log_lost() if auditd\ndisappears.  We already pulled the skb off the queue and couldn\u0027t send\nit so that message is lost.  At least this way we will account for the\nlast message and panic if the machine is configured to panic.  This code\npath should only be run if auditd dies for unforeseen reasons.  If\nauditd closes correctly audit_pid will get set to 0 and we won\u0027t walk\nthis code path.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "422b03cf75e11dfdfb29b0f19709bac585335f86",
      "tree": "16cecc0fe134f019159d704760d0277febe60d01",
      "parents": [
        "d395991c117d43bfca97101a931a41d062a93852"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Wed Feb 27 10:39:22 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 01 07:16:06 2008 -0500"
      },
      "message": "[PATCH] Audit: Fix the format type for size_t variables\n\nFix the following compiler warning by using \"%zu\" as defined in C99.\n\n  CC      kernel/auditsc.o\n  kernel/auditsc.c: In function \u0027audit_log_single_execve_arg\u0027:\n  kernel/auditsc.c:1074: warning: format \u0027%ld\u0027 expects type \u0027long int\u0027, but\n  argument 4 has type \u0027size_t\u0027\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c9e71002aacc9821e99531dcc130db88bbc8ad05",
      "tree": "2446b59e33eccc53ff8a04179588296bc43c0f0f",
      "parents": [
        "ae778869ae4549628b9e83efe958c3aaa63ed1b9"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Feb 28 11:51:07 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 29 20:21:13 2008 +0100"
      },
      "message": "rcupreempt: remove never-migrates assumption from rcu_process_callbacks()\n\nThis patch fixes a potentially invalid access to a per-CPU variable in\nrcu_process_callbacks().\n\nThis per-CPU access needs to be done in such a way as to guarantee that\nthe code using it cannot move to some other CPU before all uses of the\nvalue accessed have completed.  Even though this code is currently only\ninvoked from softirq context, which currrently cannot migrate to some\nother CPU, life would be better if this code did not silently make such\nan assumption.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae778869ae4549628b9e83efe958c3aaa63ed1b9",
      "tree": "97e36cffbc042f0982bfc8c3d17572c3329b1578",
      "parents": [
        "076d84bbdb396360d16aaa108c55aa1e24ad47a3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Feb 27 16:21:10 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 29 20:21:13 2008 +0100"
      },
      "message": "rcupreempt: fix hibernate/resume in presence of PREEMPT_RCU and hotplug\n\nThis fixes a oops encountered when doing hibernate/resume in presence of\nPREEMPT_RCU.\n\nThe problem was that the code failed to disable preemption when\naccessing a per-CPU variable.  This is OK when called from code that\nalready has preemption disabled, but such is not the case from the\nsuspend/resume code path.\n\nReported-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nTested-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7be2a03e3174cee3a3cdcdf17db357470f51caff",
      "tree": "fcc341251c8fcab1b950d7bda25de9ca09fc5363",
      "parents": [
        "2232c2d8e0a6a31061dec311f3d1cf7624bc14f1"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Fri Feb 08 15:41:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 29 18:46:53 2008 +0100"
      },
      "message": "softlockup: fix task state setting\n\nkthread_stop() can be called when a \u0027watchdog\u0027 thread is executing after\nkthread_should_stop() but before set_task_state(TASK_INTERRUPTIBLE).\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2232c2d8e0a6a31061dec311f3d1cf7624bc14f1",
      "tree": "1d90ec0b8bd4e3c154e386f005ef596ee25fa53f",
      "parents": [
        "c0f4133b8f70769bc8dda977feb9a29109d6ccca"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 29 18:46:50 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 29 18:46:50 2008 +0100"
      },
      "message": "rcu: add support for dynamic ticks and preempt rcu\n\nThe PREEMPT-RCU can get stuck if a CPU goes idle and NO_HZ is set. The\nidle CPU will not progress the RCU through its grace period and a\nsynchronize_rcu my get stuck. Without this patch I have a box that will\nnot boot when PREEMPT_RCU and NO_HZ are set. That same box boots fine\nwith this patch.\n\nThis patch comes from the -rt kernel where it has been tested for\nseveral months.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3fca96eed1cc9fb524aec536bba8ae921563f1bb",
      "tree": "474cdcc572b3433f01f221ea8857414bde53b7a2",
      "parents": [
        "98c1fc934c097d84dc30c639e9bdb0b992ef53e2",
        "1481197b50114d7212d659d41cb97f31a8934883"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 26 07:49:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 26 07:49:15 2008 -0800"
      },
      "message": "Merge branch \u0027v2.6.25-rc3-lockdep\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep\n\n* \u0027v2.6.25-rc3-lockdep\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep:\n  Subject: lockdep: include all lock classes in all_lock_classes\n  lockdep: increase MAX_LOCK_DEPTH\n"
    },
    {
      "commit": "37c00b84d0c1b5c4c65ae837e2235160c03e84c2",
      "tree": "9c1437e98d4ea05dcb368fe7f1288f979bf701a1",
      "parents": [
        "cf3680b90c7842cf91ed857ac4528f4e057da366",
        "13d77c37cab2bb906022309e1e7182c327e49916"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 26 07:43:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 26 07:43:31 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:\n  latencytop: change /proc task_struct access method\n  latencytop: fix memory leak on latency proc file\n  latencytop: fix kernel panic while reading latency proc file\n  sched: add declaration of sched_tail to sched.h\n  sched: fix signedness warnings in sched.c\n  sched: clean up __pick_last_entity() a bit\n  sched: remove duplicate code from sched_fair.c\n  sched: make early bootup sched_clock() use safer\n"
    },
    {
      "commit": "cf3680b90c7842cf91ed857ac4528f4e057da366",
      "tree": "f73af36b208fab34620808f0075cc54f51cfdfb0",
      "parents": [
        "bfa274e2436fc7ef72ef51c878083647f1cfd429"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Feb 14 10:32:07 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 26 07:42:37 2008 -0800"
      },
      "message": "printk: fix possible printk overrun\n\nprintk recursion detection prepends message to printk_buf and offsets\nprintk_buf when actual message is printed but it forgets to trim buffer\nlength accordingly. This can result in overrun in extreme cases. Fix it.\n\n[ mingo@elte.hu:\n\n  bug was introduced by me via:\n\n   commit 32a76006683f7b28ae3cc491da37716e002f198e\n   Author: Ingo Molnar \u003cmingo@elte.hu\u003e\n   Date:   Fri Jan 25 21:07:58 2008 +0100\n\n       printk: make printk more robust by not allowing recursion\n]\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1481197b50114d7212d659d41cb97f31a8934883",
      "tree": "c3ad3133cef46f64d3a6dbb9773591bcf29b87f9",
      "parents": [
        "bdb9441e9c325d50b5ae17f7d3205d65b8ed2e5f"
      ],
      "author": {
        "name": "Dale Farnsworth",
        "email": "dale@farnsworth.org",
        "time": "Mon Feb 25 23:03:02 2008 +0100"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 25 23:03:02 2008 +0100"
      },
      "message": "Subject: lockdep: include all lock classes in all_lock_classes\nAdd each lock class to the all_lock_classes list when it is\nfirst registered.\n\nPreviously, lock classes were added to all_lock_classes when\nthe lock class was first used.  Since one of the uses of the\nlist is to find unused locks, this didn\u0027t work well.\n\nSigned-off-by: Dale Farnsworth \u003cdale@farnsworth.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67ca7bde2e9d3516b5ae0188330ad1059ac03f38",
      "tree": "770b1a1c7ed520d984b5de3c588c2e96368daafa",
      "parents": [
        "7eee3e677d6e2e9007afcd7d79b0715525aa552e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Feb 15 09:56:36 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:17 2008 +0100"
      },
      "message": "sched: fix signedness warnings in sched.c\n\nUnsigned long values are always assigned to switch_count,\nmake it unsigned long.\n\nkernel/sched.c:3897:15: warning: incorrect type in assignment (different signedness)\nkernel/sched.c:3897:15:    expected long *switch_count\nkernel/sched.c:3897:15:    got unsigned long *\u003cnoident\u003e\nkernel/sched.c:3921:16: warning: incorrect type in assignment (different signedness)\nkernel/sched.c:3921:16:    expected long *switch_count\nkernel/sched.c:3921:16:    got unsigned long *\u003cnoident\u003e\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7eee3e677d6e2e9007afcd7d79b0715525aa552e",
      "tree": "ab6f80a178701aa07fd045f65c2c6ef3596fec13",
      "parents": [
        "70eee74b70c1a8485ec5f2bafa13dbc66fab6e02"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 22 10:32:21 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:17 2008 +0100"
      },
      "message": "sched: clean up __pick_last_entity() a bit\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70eee74b70c1a8485ec5f2bafa13dbc66fab6e02",
      "tree": "837c9a55d3c21221b8f7b29a468fb6d366f3dc4c",
      "parents": [
        "6892b75e60557a48c01d57ba320419a9e2ce9846"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Fri Feb 22 13:25:53 2008 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:17 2008 +0100"
      },
      "message": "sched: remove duplicate code from sched_fair.c\n\npick_task_entity() duplicates existing code. This functionality can be\neasily obtained using rb_last(). Avoid code duplication by using rb_last().\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6892b75e60557a48c01d57ba320419a9e2ce9846",
      "tree": "2ba5c725d4723385e88b0a54e8bb4be5b9e38384",
      "parents": [
        "bfa274e2436fc7ef72ef51c878083647f1cfd429"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 13 14:02:36 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:16 2008 +0100"
      },
      "message": "sched: make early bootup sched_clock() use safer\n\ndo not call sched_clock() too early. Not only might rq-\u003eidle\nnot be set up - but pure per-cpu data might not be accessible\neither.\n\nthis solves an ia64 early bootup hang with CONFIG_PRINTK_TIME\u003dy.\n\nTested-by: Tony Luck \u003ctony.luck@gmail.com\u003e\nAcked-by: Tony Luck \u003ctony.luck@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04e2f1741d235ba599037734878d72e57cb302b5",
      "tree": "5d4b05f9645370a40ce436aa6da18dc0b885d19c",
      "parents": [
        "0a3716eb04ccfdbef6e872a343ba7ce309237e79"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 18:05:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 18:05:03 2008 -0800"
      },
      "message": "Add memory barrier semantics to wake_up() \u0026 co\n\nOleg Nesterov and others have pointed out that on some architectures,\nthe traditional sequence of\n\n\tset_current_state(TASK_INTERRUPTIBLE);\n\tif (CONDITION)\n\t\treturn;\n\tschedule();\n\nis racy wrt another CPU doing\n\n\tCONDITION \u003d 1;\n\twake_up_process(p);\n\nbecause while set_current_state() has a memory barrier separating\nsetting of the TASK_INTERRUPTIBLE state from reading of the CONDITION\nvariable, there is no such memory barrier on the wakeup side.\n\nNow, wake_up_process() does actually take a spinlock before it reads and\nsets the task state on the waking side, and on x86 (and many other\narchitectures) that spinlock is in fact equivalent to a memory barrier,\nbut that is not generally guaranteed.  The write that sets CONDITION\ncould move into the critical region protected by the runqueue spinlock.\n\nHowever, adding a smp_wmb() to before the spinlock should now order the\nwriting of CONDITION wrt the lock itself, which in turn is ordered wrt\nthe accesses within the spinlock (which includes the reading of the old\nstate).\n\nThis should thus close the race (which probably has never been seen in\npractice, but since smp_wmb() is a no-op on x86, it\u0027s not like this will\nmake anything worse either on the most common architecture where the\nspinlock already gave the required protection).\n\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc231d2a048010d5e0b49ac7fddbfa822fc41109",
      "tree": "5f38e9f917070a73e3de83d9e602c752b2e4c696",
      "parents": [
        "68db38f1537a44097e264f28bda751d6b919cd53"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Feb 23 15:24:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:13:25 2008 -0800"
      },
      "message": "cgroup: remove dead code in cgroup_get_rootdir()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68db38f1537a44097e264f28bda751d6b919cd53",
      "tree": "efc311bb2825ea0ce78189dcc6a2704f9adecd9b",
      "parents": [
        "8d53d55d27754508e58e9ac18a4a445b110434bf"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Feb 23 15:24:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:13:25 2008 -0800"
      },
      "message": "cgroup: remove duplicate code in find_css_set()\n\nThe list head res-\u003etasks gets initialized twice in find_css_set().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d53d55d27754508e58e9ac18a4a445b110434bf",
      "tree": "01bca7d82eb92c8e199c44ec37e7a70bb0a4a898",
      "parents": [
        "f777073848ba3708d68d87e43f104f83316187d7"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Feb 23 15:24:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:13:24 2008 -0800"
      },
      "message": "cgroup: fix subsys bitops\n\nCgroup uses unsigned long for subsys bitops, not unsigned long long.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f777073848ba3708d68d87e43f104f83316187d7",
      "tree": "4eb0e5e36e70165c4eb7d41673bacd70423a986d",
      "parents": [
        "ffd2d883399cbbb641e55730676ce1ec4845d99d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Feb 23 15:24:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:13:24 2008 -0800"
      },
      "message": "cgroup: fix memory leak in cgroup_get_sb()\n\nopts.release_agent is not kfree()ed in all necessary places.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a043e3b2c63445512c5592cbe3c8694f3c655e81",
      "tree": "abfc3d3f475c32c7df14ada9fc4461b731628bd2",
      "parents": [
        "d19e0583300da82a6e27cd2116f558048502edaa"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Feb 23 15:24:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:13:24 2008 -0800"
      },
      "message": "cgroup: fix comments\n\nfix:\n- comments about need_forkexit_callback\n- comments about release agent\n- typo and comment style, etc.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43627582799db317e966ecb0002c2c3c9805ec0f",
      "tree": "fcfd50780b438d0ec04830faa857de9b86665e76",
      "parents": [
        "0835ab53eab5bbeebe1c135e92fb0c4d483dde17"
      ],
      "author": {
        "name": "Srinivasa Ds",
        "email": "srinivasa@in.ibm.com",
        "time": "Sat Feb 23 15:24:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:13:24 2008 -0800"
      },
      "message": "kprobes: refuse kprobe insertion on add/sub_preempt_counter()\n\nKprobes makes use of preempt_disable(),preempt_enable_noresched() and these\nfunctions inturn call add/sub_preempt_count().  So we need to refuse user from\ninserting probe in to these functions.\n\nThis patch disallows user from probing add/sub_preempt_count().\n\nSigned-off-by: Srinivasa DS \u003csrinivasa@in.ibm.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0c1e9073ef7428a14309cba010633a6cd6719ea",
      "tree": "05ce792ddcde92e73d1bae4c8e20f607a2e7db40",
      "parents": [
        "3e4ab747efa8e78562ec6782b08bbf21a00aba1b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 23 15:23:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:15 2008 -0800"
      },
      "message": "futex: runtime enable pi and robust functionality\n\nNot all architectures implement futex_atomic_cmpxchg_inatomic().  The default\nimplementation returns -ENOSYS, which is currently not handled inside of the\nfutex guts.\n\nFutex PI calls and robust list exits with a held futex result in an endless\nloop in the futex code on architectures which have no support.\n\nFixing up every place where futex_atomic_cmpxchg_inatomic() is called would\nadd a fair amount of extra if/else constructs to the already complex code.  It\nis also not possible to disable the robust feature before user space tries to\nregister robust lists.\n\nCompile time disabling is not a good idea either, as there are already\narchitectures with runtime detection of futex_atomic_cmpxchg_inatomic support.\n\nDetect the functionality at runtime instead by calling\ncmpxchg_futex_value_locked() with a NULL pointer from the futex initialization\ncode.  This is guaranteed to fail, but the call of\nfutex_atomic_cmpxchg_inatomic() happens with pagefaults disabled.\n\nOn architectures, which use the asm-generic implementation or have a runtime\nCPU feature detection, a -ENOSYS return value disables the PI/robust features.\n\nOn architectures with a working implementation the call returns -EFAULT and\nthe PI/robust features are enabled.\n\nThe relevant syscalls return -ENOSYS and the robust list exit code is blocked,\nwhen the detection fails.\n\nFixes http://lkml.org/lkml/2008/2/11/149\nOriginally reported by: Lennart Buytenhek\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nCc: Riku Voipio \u003criku.voipio@movial.fi\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e4ab747efa8e78562ec6782b08bbf21a00aba1b",
      "tree": "755b76c9f382a808c718a0289193602038b14c9b",
      "parents": [
        "43fe105a5c91b2f00ea7f900ed307fe980410612"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 23 15:23:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:15 2008 -0800"
      },
      "message": "futex: fix init order\n\nWhen the futex init code fails to initialize the futex pseudo file system it\nreturns early without initializing the hash queues.  Should the boot succeed\nthen a futex syscall which tries to enqueue a waiter on the hashqueue will\ncrash due to the unitilialized plist heads.\n\nInitialize the hash queues before the filesystem.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nCc: Riku Voipio \u003criku.voipio@movial.fi\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "de4fc64f0f2a4efbaad3e7c1e1e05a28f69b45e5"
}
