)]}'
{
  "log": [
    {
      "commit": "fb5ae64fdde29236e1a15e0366946df7060f41f2",
      "tree": "86be58998529fa84282ec1b98040d707e4b61686",
      "parents": [
        "37bed90094fdb1eea6e4afec6a200d4e60143e55"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Fri Feb 13 14:04:21 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 13 08:07:40 2009 -0800"
      },
      "message": "User namespaces: Only put the userns when we unhash the uid\n\nuids in namespaces other than init don\u0027t get a sysfs entry.\n\nFor those in the init namespace, while we\u0027re waiting to remove\nthe sysfs entry for the uid the uid is still hashed, and\nalloc_uid() may re-grab that uid without getting a new\nreference to the user_ns, which we\u0027ve already put in free_user\nbefore scheduling remove_user_sysfs_dir().\n\nReported-and-tested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfebe563bd0a3ff97e1bc167123120d59c7a84db",
      "tree": "6178bf45bcccaf3d43d87cfe0eef059d849c7140",
      "parents": [
        "01c4a4283137d24c9cc3785f1f312e895a18f273"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Feb 11 13:04:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 14:25:36 2009 -0800"
      },
      "message": "cgroups: fix lockdep subclasses overflow\n\nI enabled all cgroup subsystems when compiling kernel, and then:\n # mount -t cgroup -o net_cls xxx /mnt\n # mkdir /mnt/0\n\nThis showed up immediately:\n BUG: MAX_LOCKDEP_SUBCLASSES too low!\n turning off the locking correctness validator.\n\nIt\u0027s caused by the cgroup hierarchy lock:\n\tfor (i \u003d 0; i \u003c CGROUP_SUBSYS_COUNT; i++) {\n\t\tstruct cgroup_subsys *ss \u003d subsys[i];\n\t\tif (ss-\u003eroot \u003d\u003d root)\n\t\t\tmutex_lock_nested(\u0026ss-\u003ehierarchy_mutex, i);\n\t}\n\nNow we have 9 cgroup subsystems, and the above \u0027i\u0027 for net_cls is 8, but\nMAX_LOCKDEP_SUBCLASSES is 8.\n\nThis patch uses different lockdep keys for different subsystems.\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": "fc3501d411d34823fb9be248a95a0c44f945866f",
      "tree": "9a16de761b4c7d3401149a212b8004df23fbbcca",
      "parents": [
        "35887b1cf74dc751dd0574b26515142d3cea9376"
      ],
      "author": {
        "name": "Sven Wegener",
        "email": "sven.wegener@stealer.net",
        "time": "Wed Feb 11 13:04:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 14:25:35 2009 -0800"
      },
      "message": "mm: fix dirty_bytes/dirty_background_bytes sysctls on 64bit arches\n\nWe need to pass an unsigned long as the minimum, because it gets casted\nto an unsigned long in the sysctl handler. If we pass an int, we\u0027ll\naccess four more bytes on 64bit arches, resulting in a random minimum\nvalue.\n\n[rientjes@google.com: fix type of `old_bytes\u0027]\nSigned-off-by: Sven Wegener \u003csven.wegener@stealer.net\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@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": "6c6f1f0f4db31a192916eaa31ec2f114fda7d5e5",
      "tree": "565a79aa9db8332b6dd592ca241690e46dbc0225",
      "parents": [
        "94dba895333a4321f27360e42b807260ae36bda4",
        "fc631c82e1734d718ff0832558f64c8f5d185f26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:25:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:25:06 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: revert recent sync wakeup changes\n"
    },
    {
      "commit": "94dba895333a4321f27360e42b807260ae36bda4",
      "tree": "7b6381da7ea9fc176001dda0714725c3a1dd6cc7",
      "parents": [
        "9ce04f9238cafcfd09a502f2bc8c13b5f44ec590",
        "4da94d49b2ecb0a26e716a8811c3ecc542c2a65d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:24:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:24:32 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers: fix TIMER_ABSTIME for process wide cpu timers\n  timers: split process wide cpu clocks/timers, fix\n  x86: clean up hpet timer reinit\n  timers: split process wide cpu clocks/timers, remove spurious warning\n  timers: split process wide cpu clocks/timers\n  signal: re-add dead task accumulation stats.\n  x86: fix hpet timer reinit for x86_64\n  sched: fix nohz load balancer on cpu offline\n"
    },
    {
      "commit": "9ce04f9238cafcfd09a502f2bc8c13b5f44ec590",
      "tree": "f55b7c0ef48ea5b3bbd2971036ba54b666e8c4ce",
      "parents": [
        "b3f2caaaa82440af06b39c2c92e4fa8122d75465",
        "06eb23b1ba39c61ee5d5faeb42a097635693e370"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:23:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:23:22 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ptrace, x86: fix the usage of ptrace_fork()\n  i8327: fix outb() parameter order\n  x86: fix math_emu register frame access\n  x86: math_emu info cleanup\n  x86: include correct %gs in a.out core dump\n  x86, vmi: put a missing paravirt_release_pmd in pgd_dtor\n  x86: find nr_irqs_gsi with mp_ioapic_routing\n  x86: add clflush before monitor for Intel 7400 series\n  x86: disable intel_iommu support by default\n  x86: don\u0027t apply __supported_pte_mask to non-present ptes\n  x86: fix grammar in user-visible BIOS warning\n  x86/Kconfig.cpu: make Kconfig help readable in the console\n  x86, 64-bit: print DMI info in the oops trace\n"
    },
    {
      "commit": "fc631c82e1734d718ff0832558f64c8f5d185f26",
      "tree": "7bef1c5f3f2c3f454280026e1a528de526302827",
      "parents": [
        "483b4ee60edbefdfbff0dd538fb81f368d9e7c0d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 11 14:27:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 14:43:35 2009 +0100"
      },
      "message": "sched: revert recent sync wakeup changes\n\nIntel reported a 10% regression (mysql+sysbench) on a 16-way machine\nwith these patches:\n\n  1596e29: sched: symmetric sync vs avg_overlap\n  d942fb6: sched: fix sync wakeups\n\nRevert them.\n\nReported-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nBisected-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4da94d49b2ecb0a26e716a8811c3ecc542c2a65d",
      "tree": "a87980822b2499021f080c2b0235f441b30413cc",
      "parents": [
        "3fccfd67df79c6351a156eb25a7a514e5f39c4d9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 11 11:30:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 14:04:21 2009 +0100"
      },
      "message": "timers: fix TIMER_ABSTIME for process wide cpu timers\n\nThe POSIX timer interface allows for absolute time expiry values through the\nTIMER_ABSTIME flag, therefore we have to synchronize the timer to the clock\nevery time we start it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3fccfd67df79c6351a156eb25a7a514e5f39c4d9",
      "tree": "de4776e69e197119ac64097f3ff6239a55ad77be",
      "parents": [
        "ff08f76d738d0ec0f334b187f61e160caa321d54"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Feb 10 16:37:31 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 14:04:19 2009 +0100"
      },
      "message": "timers: split process wide cpu clocks/timers, fix\n\nTo decrease the chance of a missed enable, always enable the timer when we\nsample it, we\u0027ll always disable it when we find that there are no active timers\nin the jiffy tick.\n\nThis fixes a flood of warnings reported by Mike Galbraith.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "06eb23b1ba39c61ee5d5faeb42a097635693e370",
      "tree": "a06f34d6ed32521ea32641df30732d9eb9d24757",
      "parents": [
        "b52af40923fc91a12e3c7152d833e0c0c6a508f6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Mon Feb 09 02:02:33 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 11 10:32:46 2009 +0100"
      },
      "message": "ptrace, x86: fix the usage of ptrace_fork()\n\nI noticed by pure accident we have ptrace_fork() and friends. This was\nadded by \"x86, bts: add fork and exit handling\", commit\nbf53de907dfdaac178c92d774aae7370d7b97d20.\n\nI can\u0027t test this, ds_request_bts() returns -EOPNOTSUPP, but I strongly\nbelieve this needs the fix. I think something like this program\n\n\tint main(void)\n\t{\n\t\tint pid \u003d fork();\n\n\t\tif (!pid) {\n\t\t\tptrace(PTRACE_TRACEME, 0, NULL, NULL);\n\t\t\tkill(getpid(), SIGSTOP);\n\t\t\tfork();\n\t\t} else {\n\t\t\tstruct ptrace_bts_config bts \u003d {\n\t\t\t\t.flags \u003d PTRACE_BTS_O_ALLOC,\n\t\t\t\t.size  \u003d 4 * 4096,\n\t\t\t};\n\n\t\t\twait(NULL);\n\n\t\t\tptrace(PTRACE_SETOPTIONS, pid, NULL, PTRACE_O_TRACEFORK);\n\t\t\tptrace(PTRACE_BTS_CONFIG, pid, \u0026bts, sizeof(bts));\n\t\t\tptrace(PTRACE_CONT, pid, NULL, NULL);\n\n\t\t\tsleep(1);\n\t\t}\n\n\t\treturn 0;\n\t}\n\nshould crash the kernel.\n\nIf the task is traced by its natural parent ptrace_reparented() returns 0\nbut we should clear -\u003ebtsxxx anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Markus Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acd895795d35d7c6405f20301a846d16998795ec",
      "tree": "e1f704ec416e5ef735cadcf40392a2398c319e3f",
      "parents": [
        "4c098bcd55fad34dcf224bf8343db6a9ac58fc68"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Feb 09 19:20:50 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 10 00:50:37 2009 +0100"
      },
      "message": "profiling: fix broken profiling regression\n\nImpact: fix broken /proc/profile on UP machines\n\nCommit c309b917cab55799ea489d7b5f1b77025d9f8462 \"cpumask: convert\nkernel/profile.c\" broke profiling.  prof_cpu_mask was previously\ninitialized to CPU_MASK_ALL, but left uninitialized in that commit.\nWe need to copy cpu_possible_mask (cpu_online_mask is not enough).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f7de7621f07495ad14fb23a812003bcf8f6af65a",
      "tree": "56eee689f5bbc2cac09c08fcdf897e9366dafbf8",
      "parents": [
        "766ccb9ed406c230d13c145def08ebea1b932982"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Mon Feb 02 13:24:34 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 10:00:26 2009 -0800"
      },
      "message": "async: use list_move_tail\n\nlist.h provides a dedicated primitive for\n\"list_del followed by list_add_tail\"... list_move_tail.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "766ccb9ed406c230d13c145def08ebea1b932982",
      "tree": "952f74260d8baa66063fd8efa1b29d2dddb45c2b",
      "parents": [
        "f30d5b307c694e03368ab55f2f96b0ca4131e775"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Jan 20 15:31:31 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:11 2009 -0800"
      },
      "message": "async: Rename _special -\u003e _domain for clarity.\n\nRename the async_*_special() functions to async_*_domain(), which\ndescribes the purpose of these functions much better.\n[Broke up long lines to silence checkpatch]\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "f30d5b307c694e03368ab55f2f96b0ca4131e775",
      "tree": "86f1ceb849bc186e4fa9b64fd8459668f4133390",
      "parents": [
        "86532d8b167e71e24da8b564348b52977b76d15f"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jan 19 13:45:33 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:11 2009 -0800"
      },
      "message": "async: Add some documentation.\n\nAdd some kerneldoc to the async interface.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "86532d8b167e71e24da8b564348b52977b76d15f",
      "tree": "86cfa88409db2867ddfc45322f7cd3175b6accad",
      "parents": [
        "7a89bbc74937cd74a6bcf109cfc7c032109639be"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jan 19 13:45:31 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:10 2009 -0800"
      },
      "message": "async: Handle kthread_run() return codes.\n\nIf we fail to create the manager thread, fall back to non-fastboot.\nIf we fail to create an async thread, try again after waiting for\na bit.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "7a89bbc74937cd74a6bcf109cfc7c032109639be",
      "tree": "2b542e7f48c53cf1ef462524ecdf93b4d8a03f58",
      "parents": [
        "e83102cab0fd95d4508361b061146c978b3abd60"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jan 19 13:45:28 2009 +0100"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Feb 08 09:56:10 2009 -0800"
      },
      "message": "async: Fix running list handling.\n\nasync_schedule() should pass in async_running as the running\nlist, and run_one_entry() should put the entry to be run on\nthe provided running list instead of always on the generic one.\n\nReported-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "2d29c6a075787f2c1bc49b86a084d2b878f72fc4",
      "tree": "d5256827f6099e4358e360940684b40e7fc29b1b",
      "parents": [
        "2b25c9f01aa58d48129b2f93748dfb5d1f7ab0a2",
        "0a3db1cec5d476804185114ff5d1845aed3936b3",
        "9fdd54f206722ecee7fd7ba9dba26140450e7c32",
        "5ec5d38a1c8af255ffc481c81eef13e9155524b3",
        "4312495f7db63d27ef52ec83dab55f14a8c43827",
        "370154bbefb627cb5f987f5646284755c7684bc8",
        "4d9391557b68475b118ec7626607c37b14ae8c16",
        "62663ea8220366472fe20462831f2d69d7987439"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:34:56 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:34:56 2009 -0500"
      },
      "message": "Merge branches \u0027release\u0027, \u0027asus\u0027, \u0027bugzilla-12450\u0027, \u0027cpuidle\u0027, \u0027debug\u0027, \u0027ec\u0027, \u0027misc\u0027, \u0027printk\u0027 and \u0027processor\u0027 into release\n"
    },
    {
      "commit": "04ec93fe9bc98e3bd8560f79f56fed66dfae40d5",
      "tree": "ba7d1ca513641167f61d8d8bb56b832f63d98bca",
      "parents": [
        "b2a740aab8f3bc2fd9f01528e39607bd9a1f0da6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Feb 06 08:17:19 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 06 08:43:11 2009 -0800"
      },
      "message": "fork.c: fix NULL pointer dereference when nr_threads \u003d\u003d threads-max\n\nI happened to forked lots of processes, and hit NULL pointer dereference.\nIt is because in copy_process() after checking max_threads, 0 is returned\nbut not -EAGAIN.\n\nThe bug is introduced by \"CRED: Detach the credentials from task_struct\"\n(commit f1752eec6145c97163dbce62d17cf5d928e28a27).\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "777c6c5f1f6e757ae49ecca2ed72d6b1f523c007",
      "tree": "342b79faee43af9705b5a8ca406565fda0ad08fd",
      "parents": [
        "40b0bb1e734700b81d2ec69367c035cd1537f4fa"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Wed Feb 04 15:12:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:48 2009 -0800"
      },
      "message": "wait: prevent exclusive waiter starvation\n\nWith exclusive waiters, every process woken up through the wait queue must\nensure that the next waiter down the line is woken when it has finished.\n\nInterruptible waiters don\u0027t do that when aborting due to a signal.  And if\nan aborting waiter is concurrently woken up through the waitqueue, noone\nwill ever wake up the next waiter.\n\nThis has been observed with __wait_on_bit_lock() used by\nlock_page_killable(): the first contender on the queue was aborting when\nthe actual lock holder woke it up concurrently.  The aborted contender\ndidn\u0027t acquire the lock and therefor never did an unlock followed by\nwaking up the next waiter.\n\nAdd abort_exclusive_wait() which removes the process\u0027 wait descriptor from\nthe waitqueue, iff still queued, or wakes up the next waiter otherwise.\nIt does so under the waitqueue lock.  Racing with a wake up means the\naborting process is either already woken (removed from the queue) and will\nwake up the next waiter, or it will remove itself from the queue and the\nconcurrent wake up will apply to the next waiter after it.\n\nUse abort_exclusive_wait() in __wait_event_interruptible_exclusive() and\n__wait_on_bit_lock() when they were interrupted by other means than a wake\nup through the queue.\n\n[akpm@linux-foundation.org: coding-style fixes]\nReported-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nMentored-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Chuck Lever \u003ccel@citi.umich.edu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[\"after some testing\"]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60fd760fb9ff7034360bab7137c917c0330628c2",
      "tree": "2498b0456b49dc0f4e7db34a9c1d3858e2b5eaf9",
      "parents": [
        "a68e61e8ff2d46327a37b69056998b47745db6fa"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Feb 04 15:12:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:47 2009 -0800"
      },
      "message": "revert \"rlimit: permit setting RLIMIT_NOFILE to RLIM_INFINITY\"\n\nRevert commit 0c2d64fb6cae9aae480f6a46cfe79f8d7d48b59f because it causes\n(arguably poorly designed) existing userspace to spend interminable\nperiods closing billions of not-open file descriptors.\n\nWe could bring this back, with some sort of opt-in tunable in /proc, which\ndefaults to \"off\".\n\nPeter\u0027s alanysis follows:\n\n: I spent several hours trying to get to the bottom of a serious\n: performance issue that appeared on one of our servers after upgrading to\n: 2.6.28.  In the end it\u0027s what could be considered a userspace bug that\n: was triggered by a change in 2.6.28.  Since this might also affect other\n: people I figured I\u0027d at least document what I found here, and maybe we\n: can even do something about it:\n:\n:\n: So, I upgraded some of debian.org\u0027s machines to 2.6.28.1 and immediately\n: the team maintaining our ftp archive complained that one of their\n: scripts that previously ran in a few minutes still hadn\u0027t even come\n: close to being done after an hour or so.  Downgrading to 2.6.27 fixed\n: that.\n:\n: Turns out that script is forking a lot and something in it or python or\n: whereever closes all the file descriptors it doesn\u0027t want to pass on.\n: That is, it starts at zero and goes up to ulimit -n/RLIMIT_NOFILE and\n: closes them all with a few exceptions.\n:\n: Turns out that takes a long time when your limit -n is now 2^20 (1048576).\n:\n: With 2.6.27.* the ulimit -n was the standard 1024, but with 2.6.28 it is\n: now a thousand times that.\n:\n: 2.6.28 included a patch titled \"rlimit: permit setting RLIMIT_NOFILE to\n: RLIM_INFINITY\" (0c2d64fb6cae9aae480f6a46cfe79f8d7d48b59f)[1] that\n: allows, as the title implies, to set the limit for number of files to\n: infinity.\n:\n: Closer investigation showed that the broken default ulimit did not apply\n: to \"system\" processes (like stuff started from init).  In the end I\n: could establish that all processes that passed through pam_limit at one\n: point had the bad resource limit.\n:\n: Apparently the pam library in Debian etch (4.0) initializes the limits\n: to some default values when it doesn\u0027t have any settings in limit.conf\n: to override them.  Turns out that for nofiles this is RLIM_INFINITY.\n: Commenting out \"case RLIMIT_NOFILE\" in pam_limit.c:267 of our pam\n: package version 0.79-5 fixes that - tho I\u0027m not sure what side effects\n: that has.\n:\n: Debian lenny (the upcoming 5.0 version) doesn\u0027t have this issue as it\n: uses a different pam (version).\n\nReported-by: Peter Palfrader \u003cweasel@debian.org\u003e\nCc: Adam Tkac \u003cvonsch@gmail.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58763a297405024d23d8f1d0bba3e6603660c4b6",
      "tree": "2ccbddc449bb704326070e373c5b10a8ae35e07a",
      "parents": [
        "647802d6db5f2e62e53f44bfdc61416547ba7f5b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Feb 04 15:11:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 05 12:56:46 2009 -0800"
      },
      "message": "kernel/async.c: fix printk warnings\n\nalpha:\n\nkernel/async.c: In function \u0027run_one_entry\u0027:\nkernel/async.c:141: warning: format \u0027%lli\u0027 expects type \u0027long long int\u0027, but argument 2 has type \u0027async_cookie_t\u0027\nkernel/async.c:149: warning: format \u0027%lli\u0027 expects type \u0027long long int\u0027, but argument 2 has type \u0027async_cookie_t\u0027\nkernel/async.c:149: warning: format \u0027%lld\u0027 expects type \u0027long long int\u0027, but argument 4 has type \u0027s64\u0027\nkernel/async.c: In function \u0027async_synchronize_cookie_special\u0027:\nkernel/async.c:250: warning: format \u0027%lli\u0027 expects type \u0027long long int\u0027, but argument 3 has type \u0027s64\u0027\n\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4cd4c1b40d40447fb5e7ba80746c6d7ba91d7a53",
      "tree": "b1e580d5284648d6884e951d995509094a92cca4",
      "parents": [
        "32bd671d6cbeda60dc73be77fa2b9037d9a9bfa0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Feb 05 12:24:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 13:04:33 2009 +0100"
      },
      "message": "timers: split process wide cpu clocks/timers\n\nChange the process wide cpu timers/clocks so that we:\n\n 1) don\u0027t mess up the kernel with too many threads,\n 2) don\u0027t have a per-cpu allocation for each process,\n 3) have no impact when not used.\n\nIn order to accomplish this we\u0027re going to split it into two parts:\n\n - clocks; which can take all the time they want since they run\n           from user context -- ie. sys_clock_gettime(CLOCK_PROCESS_CPUTIME_ID)\n\n - timers; which need constant time sampling but since they\u0027re\n           explicity used, the user can pay the overhead.\n\nThe clock readout will go back to a full sum of the thread group, while the\ntimers will run of a global \u0027clock\u0027 that only runs when needed, so only\nprograms that make use of the facility pay the price.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32bd671d6cbeda60dc73be77fa2b9037d9a9bfa0",
      "tree": "591c941b9f12ce9f3caefd112f0ada3c5fcc53ab",
      "parents": [
        "83895147b702434e6f236deeca75211fd0e3da3a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Feb 05 12:24:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 13:04:33 2009 +0100"
      },
      "message": "signal: re-add dead task accumulation stats.\n\nWe\u0027re going to split the process wide cpu accounting into two parts:\n\n - clocks; which can take all the time they want since they run\n           from user context.\n\n - timers; which need constant time tracing but can affort the overhead\n           because they\u0027re default off -- and rare.\n\nThe clock readout will go back to a full sum of the thread group, for this\nwe need to re-add the exit stats that were removed in the initial itimer\nrework (f06febc9: timers: fix itimer/many thread hang).\n\nFurthermore, since that full sum can be rather slow for large thread groups\nand we have the complete dead task stats, revert the do_notify_parent time\ncomputation.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "647802d6db5f2e62e53f44bfdc61416547ba7f5b",
      "tree": "57b24ba72db7a553a5d59d5aa5b5bd4f6ed940ac",
      "parents": [
        "3e561f975cd6db846b2bbd684cd107a27f5d8aaa",
        "bb960a1e42042e82447a5bc0941b3ab6d614bac3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 04 13:58:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 04 13:58:50 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: APIC: enable workaround on AMD Fam10h CPUs\n  xen: disable interrupts before saving in percpu\n  x86: add x86@kernel.org to MAINTAINERS\n  x86: push old stack address on irqstack for unwinder\n  irq, x86: fix lock status with numa_migrate_irq_desc\n  x86: add cache descriptors for Intel Core i7\n  x86/Voyager: make it build and boot\n"
    },
    {
      "commit": "483b4ee60edbefdfbff0dd538fb81f368d9e7c0d",
      "tree": "2fbf152e6bb6377a16a1fb0d1aa503d19e0c0f63",
      "parents": [
        "35626129abcd6a7547e84c817ef5b6eff7a8758b"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed Feb 04 11:59:44 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 22:31:19 2009 +0100"
      },
      "message": "sched: fix nohz load balancer on cpu offline\n\nChristian Borntraeger reports:\n\n\u003e After a logical cpu offline, even on a complete idle system, there\n\u003e is one cpu with full ticks. It turns out that nohz.cpu_mask has the\n\u003e the offlined cpu still set.\n\u003e\n\u003e In select_nohz_load_balancer() we check if the system is completely\n\u003e idle to turn of load balancing. We compare cpu_online_map with\n\u003e nohz.cpu_mask.  Since cpu_online_map is updated on cpu unplug,\n\u003e but nohz.cpu_mask is not, the check fails and the scheduler believes\n\u003e that we need an \"idle load balancer\" even on a fully idle system.\n\u003e Since the ilb cpu does not deactivate the timer tick this breaks NOHZ.\n\nFix the select_nohz_load_balancer() to not set the nohz.cpu_mask\nwhile a cpu is going offline.\n\nReported-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nTested-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb960a1e42042e82447a5bc0941b3ab6d614bac3",
      "tree": "d2295a923fabb1b01b25bb015c4c2e42ee9df5ca",
      "parents": [
        "858770619debfb9269add63e4ba8b7c6b5538dd1",
        "06fc732c33a7ff5e4c91bcf4a6ca86b5e335ad9a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 14:54:56 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 14:54:56 2009 +0100"
      },
      "message": "Merge branch \u0027core/xen\u0027 into x86/urgent\n"
    },
    {
      "commit": "229c4ef8ae56d69f8dec64533bf1c7f8070c1a4a",
      "tree": "e13a9ef3602f945ae51b73b592c8ae4d29e67ca3",
      "parents": [
        "b1792e367053968f2ddb48bc911d314143ce6242"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Feb 03 20:39:04 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 22:50:58 2009 +0100"
      },
      "message": "ftrace: do_each_pid_task() needs rcu lock\n\n\"ftrace: use struct pid\" commit 978f3a45d9499c7a447ca7615455cefb63d44165\nconverted ftrace_pid_trace to \"struct pid*\".\n\nBut we can\u0027t use do_each_pid_task() without rcu_read_lock() even if\nwe know the pid itself can\u0027t go away (it was pinned in ftrace_pid_write).\nThe exiting task can detach itself from this pid at any moment.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31c952dcf83d5b0fd57b514cbe8a1664647c26e7",
      "tree": "fc424cd78e818327a3949c2707c8487506ef1408",
      "parents": [
        "9e6235e997bf091326b2f3ac92217c2ac2e27eb5",
        "3d398703ef06fd97b4c28c86b580546d5b57e7b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 02 19:26:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 02 19:26:29 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched_rt: don\u0027t use first_cpu on cpumask created with cpumask_and\n  sched: fix buddie group latency\n  sched: clear buddies more aggressively\n  sched: symmetric sync vs avg_overlap\n  sched: fix sync wakeups\n  cpuset: fix possible deadlock in async_rebuild_sched_domains\n"
    },
    {
      "commit": "720eba31f47aeade8ec130ca7f4353223c49170f",
      "tree": "4aef103b59a0fb7b9406fd3e4bb09bdf7e3ad2f7",
      "parents": [
        "27421e211a39784694b597dbf35848b88363c248"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Feb 03 13:31:36 2009 +1030"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 02 19:17:55 2009 -0800"
      },
      "message": "modules: Use a better scheme for refcounting\n\nCurrent refcounting for modules (done if CONFIG_MODULE_UNLOAD\u003dy) is\nusing a lot of memory.\n\nEach \u0027struct module\u0027 contains an [NR_CPUS] array of full cache lines.\n\nThis patch uses existing infrastructure (percpu_modalloc() \u0026\npercpu_modfree()) to allocate percpu space for the refcount storage.\n\nInstead of wasting NR_CPUS*128 bytes (on i386), we now use\nnr_cpu_ids*sizeof(local_t) bytes.\n\nOn a typical distro, where NR_CPUS\u003d8, shiping 2000 modules, we reduce\nsize of module files by about 2 Mbytes. (1Kb per module)\n\nInstead of having all refcounters in the same memory node - with TLB misses\nbecause of vmalloc() - this new implementation permits to have better\nNUMA properties, since each  CPU will use storage on its preferred node,\nthanks to percpu storage.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10b888d6cec2688e65e9e128b14bf98ecd199da2",
      "tree": "b29736b4fabe128b8a3db00b22c71e98424d03d4",
      "parents": [
        "9a8ecae87a2b698964b1db9ea504ba1099f479fc"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 31 14:50:07 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 11:36:31 2009 +0100"
      },
      "message": "irq, x86: fix lock status with numa_migrate_irq_desc\n\nEric Paris reported:\n\n\u003e I have an hp dl785g5 which is unable to successfully run\n\u003e 2.6.29-0.66.rc3.fc11.x86_64 or 2.6.29-rc2-next-20090126.  During bootup\n\u003e (early in userspace daemons starting) I get the below BUG, which quickly\n\u003e renders the machine dead.  I assume it is because sparse_irq_lock never\n\u003e gets released when the BUG kills that task.\n\nAdjust lock sequence when migrating a descriptor with\nCONFIG_NUMA_MIGRATE_IRQ_DESC enabled.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3d398703ef06fd97b4c28c86b580546d5b57e7b7",
      "tree": "8d0d22c32d4610392af39a8184e38971554e7e5b",
      "parents": [
        "a571bbeafbcc501d9989fbce1cddcd810bd51d71"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sat Jan 31 23:21:24 2009 +1030"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:52 2009 +0100"
      },
      "message": "sched_rt: don\u0027t use first_cpu on cpumask created with cpumask_and\n\ncpumask_and() only initializes nr_cpu_ids bits, so the (deprecated)\nfirst_cpu() might find one of those uninitialized bits if nr_cpu_ids\nis less than NR_CPUS (as it can be for CONFIG_CPUMASK_OFFSTACK).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a571bbeafbcc501d9989fbce1cddcd810bd51d71",
      "tree": "cbfc71ece2ae3e351424d5f7ca9d8fff2429827b",
      "parents": [
        "a9f3e2b549f83a9cdab873abf4140be27c05a3f2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 28 14:51:40 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:51 2009 +0100"
      },
      "message": "sched: fix buddie group latency\n\nSimilar to the previous patch, by not clearing buddies we can select entities\npast their run quota, which can increase latency. This means we have to clear\ngroup buddies as well.\n\nDo not use the group clear for pick_next_task(), otherwise that\u0027ll get O(n^2).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9f3e2b549f83a9cdab873abf4140be27c05a3f2",
      "tree": "756fb52736f8bd1e1f8fb0a621ac58ec8e1812d3",
      "parents": [
        "1596e29773eadd96b0a5fc6e736afa52394cafda"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Wed Jan 28 14:51:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:50 2009 +0100"
      },
      "message": "sched: clear buddies more aggressively\n\nIt was noticed that a task could get re-elected past its run quota due to buddy\naffinities. This could increase latency a little. Cure it by more aggresively\nclearing buddy state.\n\nWe do so in two situations:\n - when we force preempt\n - when we select a buddy to run\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1596e29773eadd96b0a5fc6e736afa52394cafda",
      "tree": "997c29116e33b5a0ff60b4950ff40d75cfeef526",
      "parents": [
        "d942fb6c7d391baba3dddb566eb735fbf3df8528"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 28 14:51:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:49 2009 +0100"
      },
      "message": "sched: symmetric sync vs avg_overlap\n\nReinstate the weakening of the sync hint if set. This yields a more\nsymmetric usage of avg_overlap.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d942fb6c7d391baba3dddb566eb735fbf3df8528",
      "tree": "0340b810c79f873b7aea34298aa22e2ebf740df3",
      "parents": [
        "f90d4118bacef87894621a3e8aba853fa0c89abc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 26 17:56:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 01 10:49:06 2009 +0100"
      },
      "message": "sched: fix sync wakeups\n\nPawel Dziekonski reported that the openssl benchmark and his\nquantum chemistry application both show slowdowns due to the\nscheduler under-parallelizing execution.\n\nThe reason are pipe wakeups still doing \u0027sync\u0027 wakeups which\noverrides the normal buddy wakeup logic - even if waker and\nwakee are loosely coupled.\n\nFix an inversion of logic in the buddy wakeup code.\n\nReported-by: Pawel Dziekonski \u003cdzieko@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1347e965f5bcfffe82e56d2903ea4f32babaff4e",
      "tree": "51f75d125089a25feb12b9e2e1e5273a59836e32",
      "parents": [
        "ac56b94f8049b4c246cd86257ae6c03c0ac75a13",
        "d7240b988017521ebf89edfadd42c0942f166850"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:55:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:55:05 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  generic-ipi: use per cpu data for single cpu ipi calls\n  cpumask: convert lib/smp_processor_id to new cpumask ops\n  signals, debug: fix BUG: using smp_processor_id() in preemptible code in print_fatal_signal()\n"
    },
    {
      "commit": "ac56b94f8049b4c246cd86257ae6c03c0ac75a13",
      "tree": "408e3cb5339551a5d2b570cdcdd668685c9ab100",
      "parents": [
        "5b2d3e6d542c4c7009ba72e047c4c0633f2b5e26",
        "14819ea1e0bcbdc9b084cd60a6a24d5d786324ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:30 2009 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  irq: export __set_irq_handler() and handle_level_irq()\n"
    },
    {
      "commit": "5b2d3e6d542c4c7009ba72e047c4c0633f2b5e26",
      "tree": "6fdb2333bab91572b82af30ba7a1a9f858d320e5",
      "parents": [
        "f6490438fce5902f840d1f0f905295077c635e7a",
        "b0a9b5111abf60ef07eade834f480e89004c7920"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:54:06 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: prevent negative expiry value after clock_was_set()\n  hrtimers: allow the hot-unplugging of all cpus\n  hrtimers: increase clock min delta threshold while interrupt hanging\n"
    },
    {
      "commit": "f6490438fce5902f840d1f0f905295077c635e7a",
      "tree": "4b40f6b9d42a6e237b45378206d95cbfddfeaf52",
      "parents": [
        "e81cfd214f97a26ca2b00564258ebcf099214cbb",
        "ba2607fe9c1f2d4ad5a3d4c4ae9117c5bfdca826"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:53:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 31 15:53:30 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, ds, bts: cleanup/fix DS configuration\n  ring-buffer: reset timestamps when ring buffer is reset\n  trace: set max latency variable to zero on default\n  trace: stop all recording to ring buffer on ftrace_dump\n  trace: print ftrace_dump at KERN_EMERG log level\n  ring_buffer: reset write when reserve buffer fail\n  tracing/function-graph-tracer: fix a regression while suspend to disk\n  ring-buffer: fix alignment problem\n"
    },
    {
      "commit": "b0a9b5111abf60ef07eade834f480e89004c7920",
      "tree": "a74aa7bacf920eb567cd7caa8027a06c96dbb220",
      "parents": [
        "94df7de0289bc2df3d6e85cd2ece52bf42682f45"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jan 25 11:31:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 22:35:34 2009 +0100"
      },
      "message": "hrtimer: prevent negative expiry value after clock_was_set()\n\nImpact: prevent false positive WARN_ON() in clockevents_program_event()\n\nclock_was_set() changes the base-\u003eoffset of CLOCK_REALTIME and\nenforces the reprogramming of the clockevent device to expire timers\nwhich are based on CLOCK_REALTIME. If the clock change is large enough\nthen the subtraction of the timer expiry value and base-\u003eoffset can\nbecome negative which triggers the warning in\nclockevents_program_event().\n\nCheck the subtraction result and set a negative value to 0.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "94df7de0289bc2df3d6e85cd2ece52bf42682f45",
      "tree": "b3f614b015adfb9574959687bb9b7ac4c884e23a",
      "parents": [
        "7f22391cbe82a80a9f891d8bd10fc28ff248d1e2"
      ],
      "author": {
        "name": "Sebastien Dugue",
        "email": "sebastien.dugue@bull.net",
        "time": "Mon Dec 01 14:09:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 22:35:29 2009 +0100"
      },
      "message": "hrtimers: allow the hot-unplugging of all cpus\n\nImpact: fix CPU hotplug hang on Power6 testbox\n\nOn architectures that support offlining all cpus (at least powerpc/pseries),\nhot-unpluging the tick_do_timer_cpu can result in a system hang.\n\nThis comes from the fact that if the cpu going down happens to be the\ncpu doing the tick, then as the tick_do_timer_cpu handover happens after the\ncpu is dead (via the CPU_DEAD notification), we\u0027re left without ticks,\njiffies are frozen and any task relying on timers (msleep, ...) is stuck.\nThat\u0027s particularly the case for the cpu looping in __cpu_die() waiting\nfor the dying cpu to be dead.\n\nThis patch addresses this by having the tick_do_timer_cpu handover happen\nearlier during the CPU_DYING notification. For this, a new clockevent\nnotification type is introduced (CLOCK_EVT_NOTIFY_CPU_DYING) which is triggered\nin hrtimer_cpu_notify().\n\nSigned-off-by: Sebastien Dugue \u003csebastien.dugue@bull.net\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f22391cbe82a80a9f891d8bd10fc28ff248d1e2",
      "tree": "e0ed719d43c6f03bab7f4dbb6c2224603f7268fa",
      "parents": [
        "f2257b70b0f9b2fe8f2afd83fc6798dca75930b8"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Dec 22 02:24:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 22:35:10 2009 +0100"
      },
      "message": "hrtimers: increase clock min delta threshold while interrupt hanging\n\nImpact: avoid timer IRQ hanging slow systems\n\nWhile using the function graph tracer on a virtualized system, the\nhrtimer_interrupt can hang the system on an infinite loop.\n\nThis can be caused in several situations:\n\n - the hardware is very slow and HZ is set too high\n\n - something intrusive is slowing the system down (tracing under emulation)\n\n... and the next clock events to program are always before the current time.\n\nThis patch implements a reasonable compromise: if such a situation is\ndetected, we share the CPUs time in 1/4 to process the hrtimer interrupts.\nThis is enough to let the system running without serious starvation.\n\nIt has been successfully tested under VirtualBox with 1000 HZ and 100 HZ\nwith function graph tracer launched. On both cases, the clock events were\nincreased until about 25 ms periodic ticks, which means 40 HZ.\n\nSo we change a hard to debug hang into a warning message and a system that\nstill manages to limp along.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7240b988017521ebf89edfadd42c0942f166850",
      "tree": "07bdbb42405e0d247f719d45464760d0dd12864c",
      "parents": [
        "4ab0a9409af5fad74ad1fc9e46d5a8b460f353e9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jan 29 10:08:01 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 30 18:31:08 2009 +0100"
      },
      "message": "generic-ipi: use per cpu data for single cpu ipi calls\n\nThe smp_call_function can be passed a wait parameter telling it to\nwait for all the functions running on other CPUs to complete before\nreturning, or to return without waiting. Unfortunately, this is\ncurrently just a suggestion and not manditory. That is, the\nsmp_call_function can decide not to return and wait instead.\n\nThe reason for this is because it uses kmalloc to allocate storage\nto send to the called CPU and that CPU will free it when it is done.\nBut if we fail to allocate the storage, the stack is used instead.\nThis means we must wait for the called CPU to finish before\ncontinuing.\n\nUnfortunatly, some callers do no abide by this hint and act as if\nthe non-wait option is mandatory. The MTRR code for instance will\ndeadlock if the smp_call_function is set to wait. This is because\nthe smp_call_function will wait for the other CPUs to finish their\ncalled functions, but those functions are waiting on the caller to\ncontinue.\n\nThis patch changes the generic smp_call_function code to use per cpu\nvariables if the allocation of the data fails for a single CPU call. The\nsmp_call_function_many will fall back to the smp_call_function_single\nif it fails its alloc. The smp_call_function_single is modified\nto not force the wait state.\n\nSince we now are using a single data per cpu we must synchronize the\ncallers to prevent a second caller modifying the data before the\nfirst called IPI functions complete. To do so, I added a flag to\nthe call_single_data called CSD_FLAG_LOCK. When the single CPU is\ncalled (which can be called when a many call fails an alloc), we\nset the LOCK bit on this per cpu data. When the caller finishes\nit clears the LOCK bit.\n\nThe caller must wait till the LOCK bit is cleared before setting\nit. When it is cleared, there is no IPI function using it.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "839ec5452ebfd5905b9c69b20ceb640903a8ea1a",
      "tree": "42e371a4230c50c3cb34c92e80f5fa199b01dd2b",
      "parents": [
        "804b3c28a4e4fa1c224571bf76edb534b9c4b1ed"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Jan 29 14:25:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:45 2009 -0800"
      },
      "message": "cgroup: fix root_count when mount fails due to busy subsystem\n\nroot_count was being incremented in cgroup_get_sb() after all error\nchecking was complete, but decremented in cgroup_kill_sb(), which can be\ncalled on a superblock that we gave up on due to an error.  This patch\nchanges cgroup_kill_sb() to only decrement root_count if the root was\npreviously linked into the list of roots.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nTested-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: 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": "804b3c28a4e4fa1c224571bf76edb534b9c4b1ed",
      "tree": "59e0dabb227a5067cfdc7cce13f149f141ef8cb4",
      "parents": [
        "1404f06565ee89e0ce04d4a5859c00b0e3a0dc8d"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Jan 29 14:25:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:45 2009 -0800"
      },
      "message": "cgroups: add cpu_relax() calls in css_tryget() and cgroup_clear_css_refs()\n\ncss_tryget() and cgroup_clear_css_refs() contain polling loops; these\nloops should have cpu_relax calls in them to reduce cross-cache traffic.\n\nSigned-off-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": "1404f06565ee89e0ce04d4a5859c00b0e3a0dc8d",
      "tree": "e2f294ed420461e0032e03143f06634b883dc06e",
      "parents": [
        "945048ca36173315afa2f0c53bed21ba01a588c1"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jan 29 14:25:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:45 2009 -0800"
      },
      "message": "cgroups: fix lock inconsistency in cgroup_clone()\n\nI fixed a bug in cgroup_clone() in Linus\u0027 tree in commit 7b574b7\n(\"cgroups: fix a race between cgroup_clone and umount\") without noticing\nthere was a cleanup patch in -mm tree that should be rebased (now commit\n104cbd5, \"cgroups: use task_lock() for access tsk-\u003ecgroups safe in\ncgroup_clone()\"), thus resulted in lock inconsistency.\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": "baef99a08a2e23d9386b47e53fa5f0d44fc98f66",
      "tree": "0171abae8bd05710c83444b8a236fc6ffbcac71c",
      "parents": [
        "9e9e3cbc62da43c66e894d5a61fa08b427e25202"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 29 14:25:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 29 18:04:43 2009 -0800"
      },
      "message": "cgroups: use hierarchy mutex in creation failure path\n\nNow, cgrp-\u003esibling is handled under hierarchy mutex.\nerror route should do so, too.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: 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": "97179fd46da7ddedd18e95388130ed3e06c5a0c7",
      "tree": "8d1a56e41345244d36a9d943a69c5ecf76942816",
      "parents": [
        "1267a8df209c7453d65acbdd56e3588954bf890b"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Tue Jan 27 09:53:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 16:06:55 2009 -0800"
      },
      "message": "cpumask fallout: Initialize irq_default_affinity earlier\n\nMove the initialization of irq_default_affinity to early_irq_init as\ncore_initcall is too late.\n\nirq_default_affinity can be used in init_IRQ and potentially timer and\nSMP init as well.  All of these happen before core_initcall.  Moving\nthe initialization to early_irq_init ensures that it is initialized\nbefore it is used.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1267a8df209c7453d65acbdd56e3588954bf890b",
      "tree": "816732505914ba145fd3fba77c903ed4947c8701",
      "parents": [
        "40413dcb7b273bda681dca38e6ff0bbb3728ef11"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Tue Jan 27 09:53:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 16:06:49 2009 -0800"
      },
      "message": "Make irq_*_affinity depend on CONFIG_GENERIC_HARDIRQS too.\n\nIn interrupt.h these functions are declared only if\nCONFIG_GENERIC_HARDIRQS is set.  We should define them under identical\nconditions.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "490a8d70cdd77d6262c3d5815bc0b1c54a3a63f8",
      "tree": "cf8feb25b7ce349b375a6bdfab8d4d83b3fc9715",
      "parents": [
        "8c022fdd5fc1b9949bad21d26e0cb115d045c7f9",
        "5f451fe1ab5d73b987051f0d23c85216c552e163"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 07:50:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 27 07:50:41 2009 -0800"
      },
      "message": "Merge branch \u0027hibern_fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027hibern_fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  SATA PIIX: Blacklist system that spins off disks during ACPI power off\n  SATA Sil: Blacklist system that spins off disks during ACPI power off\n  SATA AHCI: Blacklist system that spins off disks during ACPI power off\n  SATA: Blacklisting of systems that spin off disks during ACPI power off\n  DMI: Introduce dmi_first_match to make the interface more flexible\n  Hibernation: Introduce system_entering_hibernation\n"
    },
    {
      "commit": "abfe2d7b915c872f3a1fd203267cedebf90daa45",
      "tree": "a76cc5012e6d46da44b2e861df172ceef25bd39b",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jan 19 20:54:54 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Jan 27 02:15:45 2009 -0500"
      },
      "message": "Hibernation: Introduce system_entering_hibernation\n\nIntroduce boolean function system_entering_hibernation() returning\n\u0027true\u0027 during the last phase of hibernation, in which devices are\nbeing put into low power states and the sleep state (for example,\nACPI S4) is finally entered.\n\nSome device drivers need such a function to check if the system is\nin the final phase of hibernation.  In particular, some SATA drivers\nare going to use it for blacklisting systems in which the disks\nshould not be spun down during the last phase of hibernation (the\nBIOS will do that anyway).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3a9f84d354ce1e19956083c8e691727dea33bd5a",
      "tree": "abe8c280d3adb7a8e5fc838c59b122a46e6fd464",
      "parents": [
        "bf50c903faba4ec7686ee8a570ac384b0f20814d"
      ],
      "author": {
        "name": "Ed Swierk",
        "email": "eswierk@aristanetworks.com",
        "time": "Mon Jan 26 15:33:31 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 27 00:36:19 2009 +0100"
      },
      "message": "signals, debug: fix BUG: using smp_processor_id() in preemptible code in print_fatal_signal()\n\nWith print-fatal-signals\u003d1 on a kernel with CONFIG_PREEMPT\u003dy, sending an\nunexpected signal to a process causes a BUG: using smp_processor_id() in\npreemptible code.\n\nget_signal_to_deliver() releases the siglock before calling\nprint_fatal_signal(), which calls show_regs(), which calls\nsmp_processor_id(), which is not supposed to be called from a\npreemptible thread.\n\nMake sure show_regs() runs with preemption disabled.\n\nSigned-off-by: Ed Swierk \u003ceswierk@aristanetworks.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2034563ca323ee45f37a32911550d21c1f1e9626",
      "tree": "cb9cfd052df2caa736f95890580b9de39276b77f",
      "parents": [
        "924d26df6b774b85c8b4548189b20e34f904a149",
        "df291fa993c506da89a89264ff8166bccd172a14"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 15:10:37 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 15:10:37 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:\n  kbuild: fix kbuild.txt typos\n  kbuild: print usage with no arguments in scripts/config\n  Revert \"kbuild: strip generated symbols from *.ko\"\n"
    },
    {
      "commit": "37f5fed55559a030c430550bcacec75e6a833f1b",
      "tree": "ef20187783d784a1106d287bb4bb7805bf3a6ca3",
      "parents": [
        "a1c70a756f8d756668acdbfd61dfc14de12fbaea",
        "0609697eab9775564845d4c94f9e3780fb791ffd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:12:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:12:08 2009 -0800"
      },
      "message": "Merge branch \u0027sh/for-2.6.29\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh/for-2.6.29\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (22 commits)\n  dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy.\n  dma-coherent: per-device coherent area is in pages, not bytes.\n  sh: fix unaligned and nonexistent address handling\n  nommu: Stub in vm_map_ram()/vm_unmap_ram()/vm_unmap_aliases().\n  sh: fix sh-sci / early printk build on sh7723\n  sh: export the sh7343 JPU to user space\n  sh: update defconfigs.\n  serial: sh-sci: Fix up SH7720/SH7721 SCI build.\n  sh: Kill off obsolete busses from arch/sh/Kconfig.\n  sh: sh7785lcr/highlander/hp6xx need linux/irq.h.\n  sh: Migo-R MMC support using spi_gpio and mmc_spi.\n  sh: ap325rxa MMC support using spi_gpio and mmc_spi\n  sh: mach-x3proto: needs linux/irq.h.\n  sh: Drop the BKL from sys_execve() on SH-5.\n  sh: convert rsk7203 to use smsc911x.\n  sh: convert magicpanelr2 platform to use smsc911x.\n  sh: convert ap325rxa platform to use smsc911x.\n  sh: mach-migor: Add tw9910 support.\n  sh: mach-migor: Delete soc_camera_platform setup.\n  sh: mach-migor: Add ov772x support.\n  ...\n"
    },
    {
      "commit": "3386c05bdbd3e60ca7158253442f0a00133db28e",
      "tree": "19e48f0352e65eb83a0e922fb75528ed39f44ebd",
      "parents": [
        "1e70c7f7a9d4a3d2cc78b40e1d7768d99cd79899",
        "6552ebae25ffd57574c6e72d17fce67fea08b918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:56 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  debugobjects: add and use INIT_WORK_ON_STACK\n  rcu: remove duplicate CONFIG_RCU_CPU_STALL_DETECTOR\n  relay: fix lock imbalance in relay_late_setup_files\n  oprofile: fix uninitialized use of struct op_entry\n  rcu: move Kconfig menu\n  softlock: fix false panic which can occur if softlockup_thresh is reduced\n  rcu: add __cpuinit to rcu_init_percpu_data()\n"
    },
    {
      "commit": "1e70c7f7a9d4a3d2cc78b40e1d7768d99cd79899",
      "tree": "1218c32008412e57314f8f9db8d3b4912e2ecb25",
      "parents": [
        "810ee58de26c9c1255d716b1db7344c4a1093fec",
        "1d4a7f1c4faf53eb9e822743ec8a70b3019a26d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:43 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimers: fix inconsistent lock state on resume in hres_timers_resume\n  time-sched.c: tick_nohz_update_jiffies should be static\n  locking, hpet: annotate false positive warning\n  kernel/fork.c: unused variable \u0027ret\u0027\n  itimers: remove the per-cpu-ish-ness\n"
    },
    {
      "commit": "810ee58de26c9c1255d716b1db7344c4a1093fec",
      "tree": "176531e4e4989ec7a8996a356b1a79ae7b647568",
      "parents": [
        "2927fceafc91afe744e0d1d33f8bbf98c42668fc",
        "e88a0faae5baaaa3bdc6f23a55ad6bc7a7b4aa77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 09:47:28 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (29 commits)\n  xen: unitialised return value in xenbus_write_transaction\n  x86: fix section mismatch warning\n  x86: unmask CPUID levels on Intel CPUs, fix\n  x86: work around PAGE_KERNEL_WC not getting WC in iomap_atomic_prot_pfn.\n  x86: use standard PIT frequency\n  xen: handle highmem pages correctly when shrinking a domain\n  x86, mm: fix pte_free()\n  xen: actually release memory when shrinking domain\n  x86: unmask CPUID levels on Intel CPUs\n  x86: add MSR_IA32_MISC_ENABLE bits to \u003casm/msr-index.h\u003e\n  x86: fix PTE corruption issue while mapping RAM using /dev/mem\n  x86: mtrr fix debug boot parameter\n  x86: fix page attribute corruption with cpa()\n  Revert \"x86: signal: change type of paramter for sys_rt_sigreturn()\"\n  x86: use early clobbers in usercopy*.c\n  x86: remove kernel_physical_mapping_init() from init section\n  fix: crash: IP: __bitmap_intersects+0x48/0x73\n  cpufreq: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write\n  work_on_cpu: Use our own workqueue.\n  work_on_cpu: don\u0027t try to get_online_cpus() in work_on_cpu.\n  ...\n"
    },
    {
      "commit": "91a8d07d82cac3aae3ef2ea1aaba5c9c4a934e91",
      "tree": "f1d3f093332ecb5e49bff1d1290164237a026475",
      "parents": [
        "1092307d582a7566d23779c304cf86f3075ac5f0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 21 18:45:57 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 22 10:31:58 2009 +0100"
      },
      "message": "ring-buffer: reset timestamps when ring buffer is reset\n\nImpact: fix bad times of recent resets\n\nThe ring buffer needs to reset its timestamps when reseting of the\nbuffer, otherwise the timestamps are stale and might be used to\ncalculate times in the buffer causing funny timestamps to appear.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6552ebae25ffd57574c6e72d17fce67fea08b918",
      "tree": "cde6cc932c7e47d818154b011dfd8a6997d5c18e",
      "parents": [
        "749a440b2218e9937dca8c68e23e51ca4d8d37fe",
        "336f6c322d87806ef93afad6308ac65083a865e5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 22 10:03:02 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jan 22 10:03:02 2009 +0100"
      },
      "message": "Merge branch \u0027core/debugobjects\u0027 into core/urgent\n"
    },
    {
      "commit": "1092307d582a7566d23779c304cf86f3075ac5f0",
      "tree": "89b70760ec229b593d4ea9c35084ef44a68b2ec4",
      "parents": [
        "a442e5e0a2011af5b2d1f118fee0a8f9079f1d88"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Jan 15 23:40:11 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "trace: set max latency variable to zero on default\n\nImpact: trace max latencies on start of latency tracing\n\nThis patch sets the max latency to zero whenever one of the\nirq variant tracers or the wakeup tracer is set to current tracer.\n\nMost developers expect to see output when starting up a latency\ntracer. But since the max_latency is already set to max, and\nit takes a latency greater than max_latency to be recorded, there\nis no trace. This is not the expected behavior and has even confused\nmyself.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a442e5e0a2011af5b2d1f118fee0a8f9079f1d88",
      "tree": "060bada7945ebeeec57c1b8c201552767da590aa",
      "parents": [
        "faf6861ebd776871e77b761c43ec045cd20b5716"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 14 14:50:19 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "trace: stop all recording to ring buffer on ftrace_dump\n\nImpact: limit ftrace dump output\n\nCurrently ftrace_dump only calls ftrace_kill that is a fast way\nto prevent the function tracer functions from being called (just sets\na flag and clears the function to call, nothing else). It is better\nto also turn off any recording to the ring buffers as well.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "faf6861ebd776871e77b761c43ec045cd20b5716",
      "tree": "c2e0a1294a18ea5c0ef359fde4b1d1df6a9f545c",
      "parents": [
        "551b4048b3d4acf15aff9fe4aed89b892c135b02"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jan 14 12:24:42 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "trace: print ftrace_dump at KERN_EMERG log level\n\nImpact: fix to print out ftrace_dump when expected\n\nI was debugging a hard race condition to only find out that\nafter I hit the race, my log level was not at level to show\nKERN_INFO. The time it took to trigger the race was wasted because\nI did not capture the trace.\n\nSince ftrace_dump is only called from kernel oops (and only when\nit is set in the kernel command line to do so), or when a\ndeveloper adds it to their own local tree, the log level of\nthe print should be at KERN_EMERG to make sure the print appears.\n\nftrace_dump is not called by a normal user setup, and will not\nadd extra unwanted print out to the console. There is no reason\nit should be at KERN_INFO.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "551b4048b3d4acf15aff9fe4aed89b892c135b02",
      "tree": "5d8abe8ac236420a36164c24f98c840e89247e02",
      "parents": [
        "00f57f545afa422db3003b0d0b30a30f8de7ecb2"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Jan 12 11:06:18 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "ring_buffer: reset write when reserve buffer fail\n\nImpact: reset struct buffer_page.write when interrupt storm\n\nif struct buffer_page.write is not reset, any succedent committing\nwill corrupted ring_buffer:\n\nstatic inline void\nrb_set_commit_to_write(struct ring_buffer_per_cpu *cpu_buffer)\n{\n\t......\n\t\tcpu_buffer-\u003ecommit_page-\u003ecommit \u003d\n\t\t\tcpu_buffer-\u003ecommit_page-\u003ewrite;\n\t......\n}\n\nwhen \"if (RB_WARN_ON(cpu_buffer, next_page \u003d\u003d reader_page))\", ring_buffer\nis disabled, but some reserved buffers may haven\u0027t been committed.\nwe need reset struct buffer_page.write.\n\nwhen \"if (unlikely(next_page \u003d\u003d cpu_buffer-\u003ecommit_page))\", ring_buffer\nis still available, we should not corrupt it.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00f57f545afa422db3003b0d0b30a30f8de7ecb2",
      "tree": "02d5fc02d95987015b3051a63e7c481a28be4f47",
      "parents": [
        "082605de5f82eb692cc90f7fda071cc01bb5ac34"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jan 14 13:33:27 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 21 15:21:30 2009 +0100"
      },
      "message": "tracing/function-graph-tracer: fix a regression while suspend to disk\n\nImpact: fix a crash while kernel image restore\n\nWhen the function graph tracer is running and while suspend to disk, some racy\nand dangerous things happen against this tracer.\n\nThe current task will save its registers including the stack pointer which\ncontains the return address hooked by the tracer. But the current task will\ncontinue to enter other functions after that to save the memory, and then\nit will store other return addresses, and finally loose the old depth which\nmatches the return address saved in the old stack (during the registers saving).\n\nSo on image restore, the code will return to wrong addresses.\nAnd there are other things: on restore, the task will have it\u0027s \"current\"\npointer overwritten during registers restoring....switching from one task to\nanother... That would be insane to try to trace function graphs at these\nstages.\n\nThis patch makes the function graph tracer listening on power events, making\nit\u0027s tracing disabled for the current task (the one that performs the\nhibernation work) while suspend/resume to disk, making the tracing safe\nduring hibernation.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0609697eab9775564845d4c94f9e3780fb791ffd",
      "tree": "0acb503e18c4a807d2a5d9a2417ecd3c292a7026",
      "parents": [
        "cdf57cab27aef72f13a19c86858c6cac9951dc24"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Jan 21 18:51:53 2009 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Jan 21 18:51:53 2009 +0900"
      },
      "message": "dma-coherent: Restore dma_alloc_from_coherent() large alloc fall back policy.\n\nWhen doing large allocations (larger than the per-device coherent area)\nthe generic memory allocators are silently fallen back on regardless of\nconsideration for the per-device constraints.\n\nIn the DMA_MEMORY_EXCLUSIVE case falling back on generic memory is not\nan option, as it tends not to be addressable by the DMA hardware in\nquestion. This issue showed up with the 8139too breakage on the\nDreamcast, where non-addressable buffers were silently allocated due to\nthe size mismatch calculation -- while it should have simply errored out\nupon being unable to satisfy the allocation with the given device\nconstraints.\n\nThis restores fall back behaviour to what it was before the oversized\nrequest change caused multiple regressions.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "cdf57cab27aef72f13a19c86858c6cac9951dc24",
      "tree": "86226edbbe82c3f3ddca7e1ad929037e2f0ea6ad",
      "parents": [
        "2afb447f33c29cb000a494396559f8005d3e33c1"
      ],
      "author": {
        "name": "Adrian McMenamin",
        "email": "adrian@mcmen.demon.co.uk",
        "time": "Wed Jan 21 18:47:38 2009 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Jan 21 18:47:38 2009 +0900"
      },
      "message": "dma-coherent: per-device coherent area is in pages, not bytes.\n\nCommit 58c6d3dfe436eb8cfb451981d8fdc9044eaf42da (\"dma-coherent: catch\noversized requests to dma_alloc_from_coherent()\") attempted to add a\nsanity check to bail out on allocations larger than the coherent area.\n\nUnfortunately when this was implemented, the fact the coherent area\nis tracked in pages rather than bytes was overlooked, which subsequently\nbroke every single dma_alloc_from_coherent() user, forcing the allocation\nsilently through generic memory instead.\n\nSigned-off-by: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk \u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "082605de5f82eb692cc90f7fda071cc01bb5ac34",
      "tree": "f3e2536d840dff5f15e25ee609ab37a645f8fd9a",
      "parents": [
        "1de9e8e70f5acc441550ca75433563d91b269bbe"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Jan 19 14:32:51 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 20 13:09:06 2009 +0100"
      },
      "message": "ring-buffer: fix alignment problem\n\nImpact: fix to allow some archs to use the ring buffer\n\nCommits in the ring buffer are checked by pointer arithmetic.\nIf the calculation is incorrect, then the commits will never take\nplace and the buffer will simply fill up and report an error.\n\nEach page in the ring buffer has a small header:\n\nstruct buffer_data_page {\n\tu64\t\ttime_stamp;\n\tlocal_t\t\tcommit;\n\tunsigned char\tdata[];\n};\n\nUnfortuntely, some of the calculations used sizeof(struct buffer_data_page)\nto know the size of the header. But this is incorrect on some archs,\nwhere sizeof(struct buffer_data_page) does not equal\noffsetof(struct buffer_data_page, data), and on those archs, the commits\nare never processed.\n\nThis patch replaces the sizeof with offsetof.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8ccad40df8d314f786fdb06bdbedd4f43f3257cd",
      "tree": "7d3c1bde4ff36bb936a5934e602a4e1b50702545",
      "parents": [
        "31ad9081200c06ccc350625d41d1f8b2d1cef29f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 16 15:31:15 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 19 22:36:07 2009 +0100"
      },
      "message": "work_on_cpu: Use our own workqueue.\n\nImpact: remove potential clashes with generic kevent workqueue\n\nAnnoyingly, some places we want to use work_on_cpu are already in\nworkqueues.  As per Ingo\u0027s suggestion, we create a different workqueue\nfor work_on_cpu.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "31ad9081200c06ccc350625d41d1f8b2d1cef29f",
      "tree": "99768cf8eae9aaa2d1f4167103aa7ea9c70068a1",
      "parents": [
        "c7f8562a51c2e5dcc1a00a2bdd232b9965ff960d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Jan 16 15:31:15 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 19 22:36:02 2009 +0100"
      },
      "message": "work_on_cpu: don\u0027t try to get_online_cpus() in work_on_cpu.\n\nImpact: remove potential circular lock dependency with cpu hotplug lock\n\nThis has caused more problems than it solved, with a pile of cpu\nhotplug locking issues.\n\nFollowup patches will get_online_cpus() in callers that need it, but\nif they don\u0027t do it they\u0027re no worse than before when they were using\nset_cpus_allowed without locking.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f90d4118bacef87894621a3e8aba853fa0c89abc",
      "tree": "d09a52848f5d82fc3944818f62166fee23fabc66",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Fri Jan 16 10:24:10 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 19 02:44:00 2009 +0100"
      },
      "message": "cpuset: fix possible deadlock in async_rebuild_sched_domains\n\nLockdep reported some possible circular locking info when we tested cpuset on\nNUMA/fake NUMA box.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.29-rc1-00224-ga652504 #111\n-------------------------------------------------------\nbash/2968 is trying to acquire lock:\n (events){--..}, at: [\u003cffffffff8024c8cd\u003e] flush_work+0x24/0xd8\n\nbut task is already holding lock:\n (cgroup_mutex){--..}, at: [\u003cffffffff8026ad1e\u003e] cgroup_lock_live_group+0x12/0x29\n\nwhich lock already depends on the new lock.\n......\n-------------------------------------------------------\n\nSteps to reproduce:\n# mkdir /dev/cpuset\n# mount -t cpuset xxx /dev/cpuset\n# mkdir /dev/cpuset/0\n# echo 0 \u003e /dev/cpuset/0/cpus\n# echo 0 \u003e /dev/cpuset/0/mems\n# echo 1 \u003e /dev/cpuset/0/memory_migrate\n# cat /dev/zero \u003e /dev/null \u0026\n# echo $! \u003e /dev/cpuset/0/tasks\n\nThis is because async_rebuild_sched_domains has the following lock sequence:\nrun_workqueue(async_rebuild_sched_domains)\n\t-\u003e do_rebuild_sched_domains -\u003e cgroup_lock\n\nBut, attaching tasks when memory_migrate is set has following:\ncgroup_lock_live_group(cgroup_tasks_write)\n\t-\u003e do_migrate_pages -\u003e flush_work\n\nThis patch fixes it by using a separate workqueue thread.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d4a7f1c4faf53eb9e822743ec8a70b3019a26d2",
      "tree": "a3f54cd702bb48e19aa79e45deb7c4812ed0c177",
      "parents": [
        "934d96eafadcf3eb3ccd094af9919f020907fc41"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Sun Jan 18 16:39:29 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 18 21:31:37 2009 +0100"
      },
      "message": "hrtimers: fix inconsistent lock state on resume in hres_timers_resume\n\nAndrey Borzenkov reported this lockdep assert:\n\n\u003e [17854.688347] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e [17854.688347] [ INFO: inconsistent lock state ]\n\u003e [17854.688347] 2.6.29-rc2-1avb #1\n\u003e [17854.688347] ---------------------------------\n\u003e [17854.688347] inconsistent {in-hardirq-W} -\u003e {hardirq-on-W} usage.\n\u003e [17854.688347] pm-suspend/18240 [HC0[0]:SC0[0]:HE1:SE1] takes:\n\u003e [17854.688347]  (\u0026cpu_base-\u003elock){++..}, at: [\u003cc0136fcc\u003e] retrigger_next_event+0x5c/0xa0\n\u003e [17854.688347] {in-hardirq-W} state was registered at:\n\u003e [17854.688347]   [\u003cc01443cd\u003e] __lock_acquire+0x79d/0x1930\n\u003e [17854.688347]   [\u003cc01455bc\u003e] lock_acquire+0x5c/0x80\n\u003e [17854.688347]   [\u003cc03092e5\u003e] _spin_lock+0x35/0x70\n\u003e [17854.688347]   [\u003cc0136e61\u003e] hrtimer_run_queues+0x31/0x140\n\u003e [17854.688347]   [\u003cc0128d98\u003e] run_local_timers+0x8/0x20\n\u003e [17854.688347]   [\u003cc0128dd3\u003e] update_process_times+0x23/0x60\n\u003e [17854.688347]   [\u003cc013e274\u003e] tick_periodic+0x24/0x80\n\u003e [17854.688347]   [\u003cc013e2e2\u003e] tick_handle_periodic+0x12/0x70\n\u003e [17854.688347]   [\u003cc0104e24\u003e] timer_interrupt+0x14/0x20\n\u003e [17854.688347]   [\u003cc01607b9\u003e] handle_IRQ_event+0x29/0x60\n\u003e [17854.688347]   [\u003cc0161c59\u003e] handle_level_irq+0x69/0xe0\n\u003e [17854.688347]   [\u003cffffffff\u003e] 0xffffffff\n\u003e [17854.688347] irq event stamp: 55771\n\u003e [17854.688347] hardirqs last  enabled at (55771): [\u003cc0309125\u003e] _spin_unlock_irqrestore+0x35/0x60\n\u003e [17854.688347] hardirqs last disabled at (55770): [\u003cc0309419\u003e] _spin_lock_irqsave+0x19/0x80\n\u003e [17854.688347] softirqs last  enabled at (54836): [\u003cc0124f54\u003e] __do_softirq+0xc4/0x110\n\u003e [17854.688347] softirqs last disabled at (54831): [\u003cc01049ae\u003e] do_softirq+0x8e/0xe0\n\u003e [17854.688347]\n\u003e [17854.688347] other info that might help us debug this:\n\u003e [17854.688347] 3 locks held by pm-suspend/18240:\n\u003e [17854.688347]  #0:  (\u0026buffer-\u003emutex){--..}, at: [\u003cc01dd4c5\u003e] sysfs_write_file+0x25/0x100\n\u003e [17854.688347]  #1:  (pm_mutex){--..}, at: [\u003cc015056f\u003e] enter_state+0x4f/0x140\n\u003e [17854.688347]  #2:  (dpm_list_mtx){--..}, at: [\u003cc027880f\u003e] device_pm_lock+0xf/0x20\n\u003e [17854.688347]\n\u003e [17854.688347] stack backtrace:\n\u003e [17854.688347] Pid: 18240, comm: pm-suspend Not tainted 2.6.29-rc2-1avb #1\n\u003e [17854.688347] Call Trace:\n\u003e [17854.688347]  [\u003cc0306248\u003e] ? printk+0x18/0x20\n\u003e [17854.688347]  [\u003cc0141fac\u003e] print_usage_bug+0x16c/0x1d0\n\u003e [17854.688347]  [\u003cc0142bcf\u003e] mark_lock+0x8bf/0xc90\n\u003e [17854.688347]  [\u003cc0106b8f\u003e] ? pit_next_event+0x2f/0x40\n\u003e [17854.688347]  [\u003cc01441b0\u003e] __lock_acquire+0x580/0x1930\n\u003e [17854.688347]  [\u003cc030916d\u003e] ? _spin_unlock+0x1d/0x20\n\u003e [17854.688347]  [\u003cc0106b8f\u003e] ? pit_next_event+0x2f/0x40\n\u003e [17854.688347]  [\u003cc013dd38\u003e] ? clockevents_program_event+0x98/0x160\n\u003e [17854.688347]  [\u003cc0142fe8\u003e] ? mark_held_locks+0x48/0x90\n\u003e [17854.688347]  [\u003cc0309125\u003e] ? _spin_unlock_irqrestore+0x35/0x60\n\u003e [17854.688347]  [\u003cc0143229\u003e] ? trace_hardirqs_on_caller+0x139/0x190\n\u003e [17854.688347]  [\u003cc014328b\u003e] ? trace_hardirqs_on+0xb/0x10\n\u003e [17854.688347]  [\u003cc01455bc\u003e] lock_acquire+0x5c/0x80\n\u003e [17854.688347]  [\u003cc0136fcc\u003e] ? retrigger_next_event+0x5c/0xa0\n\u003e [17854.688347]  [\u003cc03092e5\u003e] _spin_lock+0x35/0x70\n\u003e [17854.688347]  [\u003cc0136fcc\u003e] ? retrigger_next_event+0x5c/0xa0\n\u003e [17854.688347]  [\u003cc0136fcc\u003e] retrigger_next_event+0x5c/0xa0\n\u003e [17854.688347]  [\u003cc013711a\u003e] hres_timers_resume+0xa/0x10\n\u003e [17854.688347]  [\u003cc013aa8e\u003e] timekeeping_resume+0xee/0x150\n\u003e [17854.688347]  [\u003cc0273384\u003e] __sysdev_resume+0x14/0x50\n\u003e [17854.688347]  [\u003cc0273407\u003e] sysdev_resume+0x47/0x80\n\u003e [17854.688347]  [\u003cc02791ab\u003e] device_power_up+0xb/0x20\n\u003e [17854.688347]  [\u003cc015043f\u003e] suspend_devices_and_enter+0xcf/0x150\n\u003e [17854.688347]  [\u003cc0150c2f\u003e] ? freeze_processes+0x3f/0x90\n\u003e [17854.688347]  [\u003cc0150614\u003e] enter_state+0xf4/0x140\n\u003e [17854.688347]  [\u003cc01506dd\u003e] state_store+0x7d/0xc0\n\u003e [17854.688347]  [\u003cc0150660\u003e] ? state_store+0x0/0xc0\n\u003e [17854.688347]  [\u003cc0202da4\u003e] kobj_attr_store+0x24/0x30\n\u003e [17854.688347]  [\u003cc01dd53c\u003e] sysfs_write_file+0x9c/0x100\n\u003e [17854.688347]  [\u003cc019916c\u003e] vfs_write+0x9c/0x160\n\u003e [17854.688347]  [\u003cc0103494\u003e] ? restore_nocheck_notrace+0x0/0xe\n\u003e [17854.688347]  [\u003cc01dd4a0\u003e] ? sysfs_write_file+0x0/0x100\n\u003e [17854.688347]  [\u003cc01992ed\u003e] sys_write+0x3d/0x70\n\u003e [17854.688347]  [\u003cc0103371\u003e] sysenter_do_call+0x12/0x31\n\nAndrey\u0027s analysis:\n\n\u003e timekeeping_resume() is called via class -\u003eresume\n\u003e method; and according to comments in sysdev_resume() and\n\u003e device_power_up(), they are called with interrupts disabled.\n\u003e\n\u003e Looking at suspend_enter, irqs *are* disabled at this point.\n\u003e\n\u003e So it actually looks like something (may be some driver)\n\u003e unconditionally enabled irqs in resume path.\n\nAdd a debug check to test this theory. If it triggers then it\ntriggers because the resume code calls it with irqs enabled,\nwhich is a no-no not just for timekeeping_resume(), but also\nbad for a number of other resume handlers.\n\nReported-by: Andrey Borzenkov \u003carvidjaar@mail.ru\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b786c6a98ef6fa81114ba7b9fbfc0d67060775e3",
      "tree": "bff900158067adba76c14a61499e4d9520463e86",
      "parents": [
        "fdb6a8f4db813b4e50f4e975efe6be12ba5bf460"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Sat Jan 17 12:04:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 18 20:29:35 2009 +0100"
      },
      "message": "relay: fix lock imbalance in relay_late_setup_files\n\nOne fail path in relay_late_setup_files() omits\nmutex_unlock(\u0026relay_channels_mutex);\nAdd it.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "091d71e023557136e96f0e54f301497a3fc95dc3",
      "tree": "342a69b70472a850997dff775fc0b2da453d1e28",
      "parents": [
        "1de9e8e70f5acc441550ca75433563d91b269bbe"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 17 00:10:45 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 18:13:41 2009 -0500"
      },
      "message": "PM: Fix compilation warning in kernel/power/main.c\n\nReorder the code in kernel/power/main.c to fix compilation warning\ntriggered by unsetting CONFIG_SUSPEND.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "88d998c264722cd6e8fafa42aee191f7d9194960",
      "tree": "72cfd34df16be3e6778ab585c8324e8f5677fe21",
      "parents": [
        "79491ca416347f9e3c51993db556ba78bef44afa",
        "d08ca2ca743f324eceba59e93188f9439e966bce"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 14:45:34 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 14:45:34 2009 -0500"
      },
      "message": "Merge branch \u0027misc\u0027 into release\n"
    },
    {
      "commit": "5a4ccaf37ffece09ef33f1cfec67efa8ee56f967",
      "tree": "9a246d76a019318f658c3db7567664cffb5f2824",
      "parents": [
        "33f1d7ecc6cffff3c618a02295de969ebbacd95d"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 21:15:32 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 14:32:17 2009 -0500"
      },
      "message": "kprobes: check CONFIG_FREEZER instead of CONFIG_PM\n\nCheck CONFIG_FREEZER instead of CONFIG_PM because kprobe booster\ndepends on freeze_processes() and thaw_processes() when CONFIG_PREEMPT\u003dy.\n\nThis fixes a linkage error which occurs when CONFIG_PREEMPT\u003dy, CONFIG_PM\u003dy\nand CONFIG_FREEZER\u003dn.\n\nReported-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "33f1d7ecc6cffff3c618a02295de969ebbacd95d",
      "tree": "66e5bc12c253f1b39abc468fbbf15d9cb455245d",
      "parents": [
        "c59765042f53a79a7a65585042ff463b69cb248c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 06 21:14:04 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 14:32:17 2009 -0500"
      },
      "message": "PM: Fix freezer compilation if PM_SLEEP is unset\n\nFreezer fails to compile if with the following configuration\nsettings:\n\nCONFIG_CGROUPS\u003dy\nCONFIG_CGROUP_FREEZER\u003dy\nCONFIG_MODULES\u003dy\nCONFIG_FREEZER\u003dy\nCONFIG_PM\u003dy\nCONFIG_PM_SLEEP\u003dn\n\nFix this by making process.o compilation depend on CONFIG_FREEZER.\n\nReported-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "7cb36b6ccdca03bd87e8faca7fd920643dd1aec7",
      "tree": "df325aa5755e73c83b26110a78cec1f2acd345b7",
      "parents": [
        "a9f8d25b655c7b5e08c9ed67a2fd2fdbe79404a6",
        "6272d68cc6a5f90c6b1a2228cf0f67b895305d17"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:55:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:55:00 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: sched_slice() fixlet\n  sched: fix update_min_vruntime\n  sched: SCHED_OTHER vs SCHED_IDLE isolation\n  sched: SCHED_IDLE weight change\n  sched: fix bandwidth validation for UID grouping\n  Revert \"sched: improve preempt debugging\"\n"
    },
    {
      "commit": "6ae301e85c9c58d2f430a8a7057ce488b7ff76df",
      "tree": "473a5da20df4868b13c2d4cadb2ce3804f548069",
      "parents": [
        "3eabdb76a03bbe8f556162738c264dbfb24cff6a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jan 15 13:51:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:39:38 2009 -0800"
      },
      "message": "resources: fix parameter name and kernel-doc\n\nFix __request_region() parameter kernel-doc notation and parameter name:\n\nWarning(linux-2.6.28-git10//kernel/resource.c:627): No description found for parameter \u0027flags\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45ce80fb6b6f9594d1396d44dd7e7c02d596fef8",
      "tree": "2409270f7073c08329ac01c82df0509a264af48c",
      "parents": [
        "23964d2d02984d44aeb2d84d7ffb3359e728df43"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jan 15 13:50:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:39:37 2009 -0800"
      },
      "message": "cgroups: consolidate cgroup documents\n\nMove Documentation/cpusets.txt and Documentation/controllers/* to\nDocumentation/cgroups/\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.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": "6272d68cc6a5f90c6b1a2228cf0f67b895305d17",
      "tree": "9f7e6635d4ffb9d713d3b2be83a4cd4bd4749080",
      "parents": [
        "e17036dac189dd034c092a91df56aa740db7146d"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Thu Jan 15 17:17:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 21:07:57 2009 +0100"
      },
      "message": "sched: sched_slice() fixlet\n\nMike\u0027s change: 0a582440f \"sched: fix sched_slice())\" broke group\nscheduling by forgetting to reload cfs_rq on each loop.\n\nThis patch fixes aim7 regression and specjbb2005 regression becomes\nless than 1.5% on 8-core stokley.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Jayson King \u003cdev@jaysonking.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "88fc241f54459ac3d86c5e13b449730199f66061",
      "tree": "d8148e145e9252b76b12b8d466ff3ecbfa4222ea",
      "parents": [
        "0773a6cf673316440999752e23f8c3d4f85e48b9"
      ],
      "author": {
        "name": "Doug Chapman",
        "email": "doug.chapman@hp.com",
        "time": "Thu Jan 15 10:38:56 2009 -0800"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Thu Jan 15 10:38:56 2009 -0800"
      },
      "message": "[IA64] dump stack on kernel unaligned warnings\n\nOften the cause of kernel unaligned access warnings is not\nobvious from just the ip displayed in the warning.  This adds\nthe option via proc to dump the stack in addition to the warning.\nThe default is off (just display the 1 line warning).  To enable\nthe stack to be shown: echo 1 \u003e /proc/sys/kernel/unaligned-dump-stack\n\nSigned-off-by: Doug Chapman \u003cdoug.chapman@hp.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "e17036dac189dd034c092a91df56aa740db7146d",
      "tree": "e4dc53a5ad8cccf71e611db3ee001a2e5a1e38f8",
      "parents": [
        "6bc912b71b6f33b041cfde93ca3f019cbaa852bc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 15 14:53:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:12:19 2009 +0100"
      },
      "message": "sched: fix update_min_vruntime\n\nImpact: fix SCHED_IDLE latency problems\n\nOK, so we have 1 running task A (which is obviously curr and the tree is\nequally obviously empty).\n\n\u0027A\u0027 nicely chugs along, doing its thing, carrying min_vruntime along as it\ngoes.\n\nThen some whacko speed freak SCHED_IDLE task gets inserted due to SMP\nbalancing, which is very likely far right, in that case\n\nupdate_curr\n  update_min_vruntime\n    cfs_rq-\u003erb_leftmost :\u003d true (the crazy task sitting in a tree)\n      vruntime \u003d se-\u003evruntime\n\nand voila, min_vruntime is waaay right of where it ought to be.\n\nOK, so why did I write it like that to begin with...\n\nAah, yes.\n\nSay we\u0027ve just dequeued current\n\nschedule\n  deactivate_task(prev)\n    dequeue_entity\n      update_min_vruntime\n\nThen we\u0027ll set\n\n  vruntime \u003d cfs_rq-\u003emin_vruntime;\n\nwe find !cfs_rq-\u003ecurr, but do find someone in the tree. Then we _must_\ndo vruntime \u003d se-\u003evruntime, because\n\n vruntime \u003d min_vruntime(vruntime :\u003d cfs_rq-\u003emin_vruntime, se-\u003evruntime)\n\nwill not advance vruntime, and cause lags the other way around (which we\nfixed with that initial patch: 1af5f730fc1bf7c62ec9fb2d307206e18bf40a69\n(sched: more accurate min_vruntime accounting).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6bc912b71b6f33b041cfde93ca3f019cbaa852bc",
      "tree": "f6128f946bb275aa68f814f5f6a9c08df43965b7",
      "parents": [
        "cce7ade803699463ecc62a065ca522004f7ccb3d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 15 14:53:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:07:29 2009 +0100"
      },
      "message": "sched: SCHED_OTHER vs SCHED_IDLE isolation\n\nStronger SCHED_IDLE isolation:\n\n - no SCHED_IDLE buddies\n - never let SCHED_IDLE preempt on wakeup\n - always preempt SCHED_IDLE on wakeup\n - limit SLEEPER fairness for SCHED_IDLE.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cce7ade803699463ecc62a065ca522004f7ccb3d",
      "tree": "b71c6ccdae2920b1f55fb2e857fc3fa927bee630",
      "parents": [
        "98a4826b99bc4bcc34c604b2fc4fcf4d771600ec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 15 14:53:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:07:28 2009 +0100"
      },
      "message": "sched: SCHED_IDLE weight change\n\nIncrease the SCHED_IDLE weight from 2 to 3, this gives much more stable\nvruntime numbers.\n\ntime advanced in 100ms:\n\n weight\u003d2\n\n 64765.988352\n 67012.881408\n 88501.412352\n\n weight\u003d3\n\n 35496.181411\n 34130.971298\n 35497.411573\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "98a4826b99bc4bcc34c604b2fc4fcf4d771600ec",
      "tree": "fef4d0c48a91ce241555d4813b7f52beaf8b274c",
      "parents": [
        "01e3eb82278bf45221fc38b391bc5ee0f6a314d6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jan 14 10:56:32 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 15:07:27 2009 +0100"
      },
      "message": "sched: fix bandwidth validation for UID grouping\n\nImpact: make rt-limit tunables work again\n\nMark Glines reported:\n\n\u003e I\u0027ve got an issue on x86-64 where I can\u0027t configure the system to allow\n\u003e RT tasks for a non-root user.\n\u003e\n\u003e In 2.6.26.5, I was able to do the following to set things up nicely:\n\u003e echo 450000 \u003e/sys/kernel/uids/0/cpu_rt_runtime\n\u003e echo 450000 \u003e/sys/kernel/uids/1000/cpu_rt_runtime\n\u003e\n\u003e Seems like every value I try to echo into the /sys files returns EINVAL.\n\nFor UID grouping we initialize the root group with infinite bandwidth\nwhich by default is actually more than the global limit, therefore the\nbandwidth check always fails.\n\nBecause the root group is a phantom group (for UID grouping) we cannot\nruntime adjust it, therefore we let it reflect the global bandwidth\nsettings.\n\nReported-by: Mark Glines \u003cmark@glines.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "934d96eafadcf3eb3ccd094af9919f020907fc41",
      "tree": "8ccda81ddd77195ebe22d38b98d13f97452eedc6",
      "parents": [
        "6d612b0f943289856c6e8186c564cda922cd040e"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@infradead.org",
        "time": "Wed Jan 14 20:38:17 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 12:06:56 2009 +0100"
      },
      "message": "time-sched.c: tick_nohz_update_jiffies should be static\n\nImpact: cleanup, reduce kernel size a bit, avoid sparse warning\n\nFixes sparse warning:\n\n kernel/time/tick-sched.c:137:6: warning: symbol \u0027tick_nohz_update_jiffies\u0027 was not declared. Should it be static?\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bca268565fd18f0b36ab8fff6e1623d8dffae2b1",
      "tree": "11abda03d7a7764cfa6a49a6ec2da1576b3058ee",
      "parents": [
        "74d96f018673759d04d032c137d132f6447bfb1e",
        "26689452f5ca201add63b1b1ff0dbcf82d6885e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 14 19:58:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 14 19:58:40 2009 -0800"
      },
      "message": "Merge branch \u0027syscalls\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027syscalls\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (44 commits)\n  [CVE-2009-0029] s390 specific system call wrappers\n  [CVE-2009-0029] System call wrappers part 33\n  [CVE-2009-0029] System call wrappers part 32\n  [CVE-2009-0029] System call wrappers part 31\n  [CVE-2009-0029] System call wrappers part 30\n  [CVE-2009-0029] System call wrappers part 29\n  [CVE-2009-0029] System call wrappers part 28\n  [CVE-2009-0029] System call wrappers part 27\n  [CVE-2009-0029] System call wrappers part 26\n  [CVE-2009-0029] System call wrappers part 25\n  [CVE-2009-0029] System call wrappers part 24\n  [CVE-2009-0029] System call wrappers part 23\n  [CVE-2009-0029] System call wrappers part 22\n  [CVE-2009-0029] System call wrappers part 21\n  [CVE-2009-0029] System call wrappers part 20\n  [CVE-2009-0029] System call wrappers part 19\n  [CVE-2009-0029] System call wrappers part 18\n  [CVE-2009-0029] System call wrappers part 17\n  [CVE-2009-0029] System call wrappers part 16\n  [CVE-2009-0029] System call wrappers part 15\n  ...\n"
    },
    {
      "commit": "2ea038917bbdd51a7ae4a898c6a04641324dd033",
      "tree": "6a6f8b1db4d097d260449f88c267e39ab9d2bb3f",
      "parents": [
        "a6525042bfdfcab128bd91fad264de10fd24a55e"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 14 21:38:20 2009 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Wed Jan 14 21:38:20 2009 +0100"
      },
      "message": "Revert \"kbuild: strip generated symbols from *.ko\"\n\nThis reverts commit ad7a953c522ceb496611d127e51e278bfe0ff483.\n\nAnd commit: (\"allow stripping of generated symbols under CONFIG_KALLSYMS_ALL\")\n            9bb482476c6c9d1ae033306440c51ceac93ea80c\n\nThese stripping patches has caused a set of issues:\n\n1) People have reported compatibility issues with binutils due to\n   lack of support for `--strip-unneeded-symbols\u0027 with objcopy 2.15.92.0.2\n   Reported by: Wenji\n2) ccache and distcc no longer works as expeced\n   Reported by: Ted, Roland, + others\n3) The installed modules increased a lot in size\n   Reported by: Ted, Davej + others\n\nReported-by: Wenji Huang \u003cwenji.huang@oracle.com\u003e\nReported-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nReported-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "9316fcacb89c59fe556c48587ac02cd7f5d38045",
      "tree": "01e358788e2aef292d46fb8c1f598edf3449fe47",
      "parents": [
        "18e6959c385f3edf3991fa6662a53dac4eb10d5b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Jan 14 09:35:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 14 09:42:11 2009 -0800"
      },
      "message": "kernel/up.c: omit it if SMP\u003dy, USE_GENERIC_SMP_HELPERS\u003dn\n\nFix the sparc build - we were including `up.o\u0027 on SMP builds, when\nCONFIG_USE_GENERIC_SMP_HELPERS\u003dn.\n\nTested-by: Robert Reif \u003creif@earthlink.net\u003e\nFixed-by: Robert Reif \u003creif@earthlink.net\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: 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": "d4e82042c4cfa87a7d51710b71f568fe80132551",
      "tree": "202c311b52f4e4db9fbbbd80607744e2aa2e5885",
      "parents": [
        "836f92adf121f806e9beb5b6b88bd5c9c4ea3f24"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:34 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:31 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 32\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "836f92adf121f806e9beb5b6b88bd5c9c4ea3f24",
      "tree": "0deccad6d01b7761a8d96cbc12b8e9541317380e",
      "parents": [
        "6559eed8ca7db0531a207cd80be5e28cd6f213c5"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:33 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:31 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 31\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "6559eed8ca7db0531a207cd80be5e28cd6f213c5",
      "tree": "08d7a42d9eb8e7e9b7aa6930a07f1acecb35a282",
      "parents": [
        "2e4d0924eb0c403ce4014fa139d1d61bf2c44fee"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:32 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:30 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 30\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "1e7bfb2134dfec37ce04fb3a4ca89299e892d10c",
      "tree": "99c676262e696754dcbfb2d6f59499972cd0c38c",
      "parents": [
        "c4ea37c26a691ad0b7e86aa5884aab27830e95c9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:29 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:29 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 27\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "c4ea37c26a691ad0b7e86aa5884aab27830e95c9",
      "tree": "4a3bd25e61cd3782f535ad2140a01bf3835dca4f",
      "parents": [
        "d5460c9974a321a194aded4a8c4daaac68ea8171"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:28 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:29 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 26\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "e48fbb699f82ef1e80bd7126046394d2dc9ca7e6",
      "tree": "d361155949c3c31724946a6d619ece7a093e30a1",
      "parents": [
        "5a8a82b1d306a325d899b67715618413657efda4"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:26 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:28 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 24\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "5a8a82b1d306a325d899b67715618413657efda4",
      "tree": "ac599eb041a3cdcbbb3ba0a67ff2f14e251371f5",
      "parents": [
        "3e0fa65f8ba4fd24b3dcfaf14d5b15eaab0fdc61"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:25 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:28 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 23\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "003d7ab479168132a2b2c6700fe682b08f08ab0c",
      "tree": "e9f51f17949cabab6324ee1415a55e350334c841",
      "parents": [
        "a6b42e83f249aad723589b2bdf6d1dfb2b0997c8"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:21 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:26 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 19\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "a6b42e83f249aad723589b2bdf6d1dfb2b0997c8",
      "tree": "0a0b8a966d5170e4dafa1e2b195a93f6f9963f64",
      "parents": [
        "ca013e945b1ba5828b151ee646946f1297b67a4c"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:20 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:25 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 18\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "ca013e945b1ba5828b151ee646946f1297b67a4c",
      "tree": "d277caa7b4581492ab9c4bb42912de3b3d931f50",
      "parents": [
        "002c8976ee537724b20a5e179d9b349309438836"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:19 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:25 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 17\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "a5f8fa9e9ba5ef3305e147f41ad6e1e84ac1f0bd",
      "tree": "a9bedc6890d6379f0839c280a20c5da3bd9f2352",
      "parents": [
        "17da2bd90abf428523de0fb98f7075e00e3ed42e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:11 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:21 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 09\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    }
  ],
  "next": "17da2bd90abf428523de0fb98f7075e00e3ed42e"
}
