)]}'
{
  "log": [
    {
      "commit": "19e5eebb8eaa5ca3ff8aa18cb57ccb7a9f67277d",
      "tree": "652d43e29e101433fbb100b7af8ef0c35e420d7b",
      "parents": [
        "43365bd7ff37979d2afdccbe953299ed64a4649b"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Wed Dec 15 19:10:18 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 16:36:30 2010 +0100"
      },
      "message": "sched: Fix interactivity bug by charging unaccounted run-time on entity re-weight\n\nMike Galbraith reported poor interactivity[*] when the new shares distribution\ncode was combined with autogroups.\n\nThe root cause turns out to be a mis-ordering of accounting accrued execution\ntime and shares updates.  Since update_curr() is issued hierarchically,\nupdating the parent entity weights to reflect child enqueue/dequeue results in\nthe parent\u0027s unaccounted execution time then being accrued (vs vruntime) at the\nnew weight as opposed to the weight present at accumulation.\n\nWhile this doesn\u0027t have much effect on processes with timeslices that cross a\ntick, it is particularly problematic for an interactive process (e.g. Xorg)\nwhich incurs many (tiny) timeslices.  In this scenario almost all updates are\nat dequeue which can result in significant fairness perturbation (especially if\nit is the only thread, resulting in potential {tg-\u003eshares, MIN_SHARES}\ntransitions).\n\nCorrect this by ensuring unaccounted time is accumulated prior to manipulating\nan entity\u0027s weight.\n\n[*] http://xkcd.com/619/ is perversely Nostradamian here.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20101216031038.159704378@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "43365bd7ff37979d2afdccbe953299ed64a4649b",
      "tree": "b90aa8813d0f92cae88bc26604e48dea0ee9f87d",
      "parents": [
        "ca680888d5d0d03862ec311a83c6a1c7a1e00a01"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Wed Dec 15 19:10:17 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 16:36:22 2010 +0100"
      },
      "message": "sched: Move periodic share updates to entity_tick()\n\nLong running entities that do not block (dequeue) require periodic updates to\nmaintain accurate share values.  (Note: group entities with several threads are\nquite likely to be non-blocking in many circumstances).\n\nBy virtue of being long-running however, we will see entity ticks (otherwise\nthe required update occurs in dequeue/put and we are done).  Thus we can move\nthe detection (and associated work) for these updates into the periodic path.\n\nThis restores the \u0027atomicity\u0027 of update_curr() with respect to accounting.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101216031038.067028969@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ca680888d5d0d03862ec311a83c6a1c7a1e00a01",
      "tree": "bc2a1777f1d715f947fa77940ebce5c43029b37b",
      "parents": [
        "40dc11ffb35e8c4e8fa71092048e0f8de9db758c",
        "b0c3844d8af6b9f3f18f31e1b0502fbefa2166be"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 16:35:08 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Dec 19 16:35:14 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc6\u0027 into sched/core\n\nMerge reason: Update to the latest -rc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0fcdcfbbc98f70f559e4b36773a69972489a6d8f",
      "tree": "108d532e9c79b76c6adaf8b564749a19ffbbce66",
      "parents": [
        "6d5e93c2aa1248b25f9de0eaca1dca038e31d79d",
        "2d64672ed38721b7a3815009d79bfb90a1f34a17"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 18:50:10 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 18:50:10 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: It is likely that WORKER_NOT_RUNNING is true\n  MAINTAINERS: Add workqueue entry\n  workqueue: check the allocation of system_unbound_wq\n"
    },
    {
      "commit": "2d64672ed38721b7a3815009d79bfb90a1f34a17",
      "tree": "91a52918b036a07bf8008eeae6e7dccf967fa4e0",
      "parents": [
        "3e6cd7a4b6a04cf354a18c9d2e7ecec8fa1772fb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 03 23:12:33 2010 -0500"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Dec 14 15:05:54 2010 +0100"
      },
      "message": "workqueue: It is likely that WORKER_NOT_RUNNING is true\n\nRunning the annotate branch profiler on three boxes, including my\nmain box that runs firefox, evolution, xchat, and is part of the distcc farm,\nshowed this with the likelys in the workqueue code:\n\n correct incorrect  %        Function                  File              Line\n ------- ---------  -        --------                  ----              ----\n      96   996253  99 wq_worker_sleeping             workqueue.c          703\n      96   996247  99 wq_worker_waking_up            workqueue.c          677\n\nThe likely()s in this case were assuming that WORKER_NOT_RUNNING will\nmost likely be false. But this is not the case. The reason is\n(and shown by adding trace_printks and testing it) that most of the time\nWORKER_PREP is set.\n\nIn worker_thread() we have:\n\n\tworker_clr_flags(worker, WORKER_PREP);\n\n\t[ do work stuff ]\n\n\tworker_set_flags(worker, WORKER_PREP, false);\n\n(that \u0027false\u0027 means not to wake up an idle worker)\n\nThe wq_worker_sleeping() is called from schedule when a worker thread\nis putting itself to sleep. Which happens most of the time outside\nof that [ do work stuff ].\n\nThe wq_worker_waking_up is called by the wakeup worker code, which\nis also callod outside that [ do work stuff ].\n\nThus, the likely and unlikely used by those two functions are actually\nbackwards.\n\nRemove the annotation and let gcc figure it out.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "40dc11ffb35e8c4e8fa71092048e0f8de9db758c",
      "tree": "88ae143dab98b902b7ec94220160560463c063f9",
      "parents": [
        "806c09a7db457be3758e14b1f152761135d89af5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 26 17:22:16 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:16:01 2010 +0100"
      },
      "message": "printk: Use this_cpu_{read|write} api on printk_pending\n\n__get_cpu_var() is a bit inefficient, lets use __this_cpu_read() and\n__this_cpu_write() to manipulate printk_pending.\n\nprintk_needs_cpu(cpu) is called only for the current cpu :\nUse faster __this_cpu_read().\n\nRemove the redundant unlikely on (cpu_is_offline(cpu)) test:\n\n # size kernel/printk.o*\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   9942\t    756\t 263488\t 274186\t  42f0a\tkernel/printk.o.new\n   9990\t    756\t 263488\t 274234\t  42f3a\tkernel/printk.o.old\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290788536.2855.237.camel@edumazet-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "806c09a7db457be3758e14b1f152761135d89af5",
      "tree": "b0fafff45634be80f3caf7227c5d47317f26e0e9",
      "parents": [
        "8e9255e6a2141e050d51bc4d96dbef494a87d653"
      ],
      "author": {
        "name": "Dario Faggioli",
        "email": "raistlin@linux.it",
        "time": "Tue Nov 30 19:51:33 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:16:00 2010 +0100"
      },
      "message": "sched: Make pushable_tasks CONFIG_SMP dependant\n\nAs noted by Peter Zijlstra at https://lkml.org/lkml/2010/11/10/391\n(while reviewing other stuff, though), tracking pushable tasks\nonly makes sense on SMP systems.\n\nSigned-off-by: Dario Faggioli \u003craistlin@linux.it\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nAcked-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1291143093.2697.298.camel@Palantir\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e9255e6a2141e050d51bc4d96dbef494a87d653",
      "tree": "f190b142830153eaab05555a93c4f71a144ba3d4",
      "parents": [
        "5091faa449ee0b7d73bc296a93bca9540fc51d0a",
        "6313e3c21743cc88bb5bd8aa72948ee1e83937b6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:15:26 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:15:29 2010 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/core\n\nMerge reason: we want to queue up dependent cleanup\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6313e3c21743cc88bb5bd8aa72948ee1e83937b6",
      "tree": "0199e3ec8d3ad7799468f51d251b542192099777",
      "parents": [
        "6dde39be39e636c1d41e73590668d5903b11535b",
        "e7a3481c0246c8e45e79c629efd63b168e91fcda",
        "18483b81ee7e70ee68d4b18be618be5cfcc0b290",
        "61ab25447ad6334a74e32f60efb135a3467223f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 08 06:40:59 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 08 06:40:59 2010 -0800"
      },
      "message": "Merge branches \u0027x86-fixes-for-linus\u0027, \u0027perf-fixes-for-linus\u0027 and \u0027sched-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/pvclock: Zero last_value on resume\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf record: Fix eternal wait for stillborn child\n  perf header: Don\u0027t assume there\u0027s no attr info if no sample ids is provided\n  perf symbols: Figure out start address of kernel map from kallsyms\n  perf symbols: Fix kallsyms kernel/module map splitting\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  nohz: Fix printk_needs_cpu() return value on offline cpus\n  printk: Fix wake_up_klogd() vs cpu hotplug\n"
    },
    {
      "commit": "81e8d2162566379adcf4b3700f03845c62577145",
      "tree": "abf52998d7a1b3cabb939abac590c27fa9c39f2a",
      "parents": [
        "ff43fa8b41fe93cc62bb571a1bfeb487a3f79901",
        "25c9170ed64a6551beefe9315882f754e14486f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 07 08:14:28 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 07 08:14:28 2010 -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  genirq: Fix incorrect proc spurious output\n"
    },
    {
      "commit": "7787d2c2f440cc7854bed3d039bf4cc59d9e7897",
      "tree": "d7402ea46b2aa0a4d049e8edc61a302bda4db4d5",
      "parents": [
        "60658f8a293750b59a8a844bf5c387139af9500a",
        "c9e664f1fdf34aa8cede047b206deaa8f1945af0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 06 15:51:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 06 15:51:14 2010 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM / Hibernate: Fix memory corruption related to swap\n  PM / Hibernate: Use async I/O when reading compressed hibernation image\n"
    },
    {
      "commit": "c9e664f1fdf34aa8cede047b206deaa8f1945af0",
      "tree": "6038002f46173ca785936ac2fe54177197f98a08",
      "parents": [
        "9f339caf8454f0c21983111350ede93983db4340"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 03 22:57:45 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Dec 06 23:52:08 2010 +0100"
      },
      "message": "PM / Hibernate: Fix memory corruption related to swap\n\nThere is a problem that swap pages allocated before the creation of\na hibernation image can be released and used for storing the contents\nof different memory pages while the image is being saved.  Since the\nkernel stored in the image doesn\u0027t know of that, it causes memory\ncorruption to occur after resume from hibernation, especially on\nsystems with relatively small RAM that need to swap often.\n\nThis issue can be addressed by keeping the GFP_IOFS bits clear\nin gfp_allowed_mask during the entire hibernation, including the\nsaving of the image, until the system is finally turned off or\nthe hibernation is aborted.  Unfortunately, for this purpose\nit\u0027s necessary to rework the way in which the hibernate and\nsuspend code manipulates gfp_allowed_mask.\n\nThis change is based on an earlier patch from Hugh Dickins.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "9f339caf8454f0c21983111350ede93983db4340",
      "tree": "ebe959b206b1edfd4d3976617527d43d3858b00c",
      "parents": [
        "698fd6a2c3ca05ec796072defb5c415289a86cdc"
      ],
      "author": {
        "name": "Bojan Smojver",
        "email": "bojan@rexursive.com",
        "time": "Thu Nov 25 23:41:39 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Dec 06 23:38:29 2010 +0100"
      },
      "message": "PM / Hibernate: Use async I/O when reading compressed hibernation image\n\nThis is a fix for reading LZO compressed image using async I/O.\nEssentially, instead of having just one page into which we keep\nreading blocks from swap, we allocate enough of them to cover the\nlargest compressed size and then let block I/O pick them all up. Once\nwe have them all (and here we wait), we decompress them, as usual.\nObviously, the very first block we still pick up synchronously,\nbecause we need to know the size of the lot before we pick up the\nrest.\n\nAlso fixed the copyright line, which I\u0027ve forgotten before.\n\nSigned-off-by: Bojan Smojver \u003cbojan@rexursive.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "33dd94ae1ccbfb7bf0fb6c692bc3d1c4269e6177",
      "tree": "c00535d8fe9b29be84b02d057e41cd63d7fe3b6b",
      "parents": [
        "a0b0f58cdd32ab363a600a294ddaa90f0c32de8c"
      ],
      "author": {
        "name": "Nelson Elhage",
        "email": "nelhage@ksplice.com",
        "time": "Thu Dec 02 14:31:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 14:51:16 2010 -0800"
      },
      "message": "do_exit(): make sure that we run with get_fs() \u003d\u003d USER_DS\n\nIf a user manages to trigger an oops with fs set to KERNEL_DS, fs is not\notherwise reset before do_exit().  do_exit may later (via mm_release in\nfork.c) do a put_user to a user-controlled address, potentially allowing\na user to leverage an oops into a controlled write into kernel memory.\n\nThis is only triggerable in the presence of another bug, but this\npotentially turns a lot of DoS bugs into privilege escalations, so it\u0027s\nworth fixing.  I have proof-of-concept code which uses this bug along\nwith CVE-2010-3849 to write a zero to an arbitrary kernel address, so\nI\u0027ve tested that this is not theoretical.\n\nA more logical place to put this fix might be when we know an oops has\noccurred, before we call do_exit(), but that would involve changing\nevery architecture, in multiple places.\n\nLet\u0027s just stick it in do_exit instead.\n\n[akpm@linux-foundation.org: update code comment]\nSigned-off-by: Nelson Elhage \u003cnelhage@ksplice.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25c9170ed64a6551beefe9315882f754e14486f4",
      "tree": "655035a70de19a8d88cbd04264bfaebc1af92a5a",
      "parents": [
        "22a5b566c8c442b0b35b3b106795e2f2b3578096"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Tue Nov 30 17:36:08 2010 +0900"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 01 08:44:26 2010 +0100"
      },
      "message": "genirq: Fix incorrect proc spurious output\n\nSince commit a1afb637(switch /proc/irq/*/spurious to seq_file) all\n/proc/irq/XX/spurious files show the information of irq 0.\n\nCurrent irq_spurious_proc_open() passes on NULL as the 3rd argument,\nwhich is used as an IRQ number in irq_spurious_proc_show(), to the\nsingle_open(). Because of this, all the /proc/irq/XX/spurious file\nshows IRQ 0 information regardless of the IRQ number.\n\nTo fix the problem, irq_spurious_proc_open() must pass on the\nappropreate data (IRQ number) to single_open().\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nReviewed-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nLKML-Reference: \u003c4CF4B778.90604@jp.fujitsu.com\u003e\nCc: stable@kernel.org [2.6.33+]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "5091faa449ee0b7d73bc296a93bca9540fc51d0a",
      "tree": "55f5e96e189af65c85c769fce48627b8a5abb86b",
      "parents": [
        "822bc180a7f7a7bc5fcaaea195f41b487cc8cae8"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Tue Nov 30 14:18:03 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 30 16:03:35 2010 +0100"
      },
      "message": "sched: Add \u0027autogroup\u0027 scheduling feature: automated per session task groups\n\nA recurring complaint from CFS users is that parallel kbuild has\na negative impact on desktop interactivity.  This patch\nimplements an idea from Linus, to automatically create task\ngroups.  Currently, only per session autogroups are implemented,\nbut the patch leaves the way open for enhancement.\n\nImplementation: each task\u0027s signal struct contains an inherited\npointer to a refcounted autogroup struct containing a task group\npointer, the default for all tasks pointing to the\ninit_task_group.  When a task calls setsid(), a new task group\nis created, the process is moved into the new task group, and a\nreference to the preveious task group is dropped.  Child\nprocesses inherit this task group thereafter, and increase it\u0027s\nrefcount.  When the last thread of a process exits, the\nprocess\u0027s reference is dropped, such that when the last process\nreferencing an autogroup exits, the autogroup is destroyed.\n\nAt runqueue selection time, IFF a task has no cgroup assignment,\nits current autogroup is used.\n\nAutogroup bandwidth is controllable via setting it\u0027s nice level\nthrough the proc filesystem:\n\n  cat /proc/\u003cpid\u003e/autogroup\n\nDisplays the task\u0027s group and the group\u0027s nice level.\n\n  echo \u003cnice level\u003e \u003e /proc/\u003cpid\u003e/autogroup\n\nSets the task group\u0027s shares to the weight of nice \u003clevel\u003e task.\nSetting nice level is rate limited for !admin users due to the\nabuse risk of task group locking.\n\nThe feature is enabled from boot by default if\nCONFIG_SCHED_AUTOGROUP\u003dy is selected, but can be disabled via\nthe boot option noautogroup, and can also be turned on/off on\nthe fly via:\n\n  echo [01] \u003e /proc/sys/kernel/sched_autogroup_enabled\n\n... which will automatically move tasks to/from the root task group.\n\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n[ Removed the task_group_path() debug code, and fixed !EVENTFD build failure. ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1290281700.28711.9.camel@maggy.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "822bc180a7f7a7bc5fcaaea195f41b487cc8cae8",
      "tree": "875bc605db4996e5e008f73fde1daf27fd49a53c",
      "parents": [
        "b7a2b39d9b7703ccf068f549c8dc3465fc41d015"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 29 16:55:40 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 30 10:07:10 2010 +0100"
      },
      "message": "sched: Fix unregister_fair_sched_group()\n\nIn the flipping and flopping between calling\nunregister_fair_sched_group() on a per-cpu versus per-group basis\nwe ended up in a bad state.\n\nRemove from the list for the passed cpu as opposed to some\narbitrary index.\n\n( This fixes explosions w/ autogroup as well as a group\n  creation/destruction stress test. )\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nLKML-Reference: \u003c20101130005740.080828123@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a9e40a2493d805224f900d839b06188639b7ccd6",
      "tree": "b33c9477a0728f6299a00a3e817aa26872019576",
      "parents": [
        "75f5d2c9bd36047364d1fb35c0720ab37df3be02",
        "ee6dcfa40a50fe12a3ae0fb4d2653c66c3ed6556"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 28 12:25:02 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 28 12:25:02 2010 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Fix the software context switch counter\n  perf, x86: Fixup Kconfig deps\n  x86, perf, nmi: Disable perf if counters are not accessible\n  perf: Fix inherit vs. context rotation bug\n"
    },
    {
      "commit": "03187552762cba3db20d22bc7b0fe2d3642bc15b",
      "tree": "813ea6cbb302e08e71e2ba9ee7e71fb1ce7db9ce",
      "parents": [
        "fbe6c4047f011d76be83bc2380531cd4fb6aa0e6",
        "c0deae8c9587419ab13874b74425ce2eb2e18508"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:29:20 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:29:20 2010 +0900"
      },
      "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  posix-cpu-timers: Rcu_read_lock/unlock protect find_task_by_vpid call\n"
    },
    {
      "commit": "d2f30c73aba19be828c759edcd21140390cd06e4",
      "tree": "b9bad75b11e21680f8f9443f0143d62be23cae78",
      "parents": [
        "1b065fdff1c950d96e4c571abe873a9a8aaa6d51",
        "02a9d03772aa1ff33a26180a2da0bfb191240eda"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:28:17 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:28:17 2010 +0900"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf symbols: Remove incorrect open-coded container_of()\n  perf record: Handle restrictive permissions in /proc/{kallsyms,modules}\n  x86/kprobes: Prevent kprobes to probe on save_args()\n  irq_work: Drop cmpxchg() result\n  perf: Fix owner-list vs exit\n  x86, hw_nmi: Move backtrace_mask declaration under ARCH_HAS_NMI_WATCHDOG\n  tracing: Fix recursive user stack trace\n  perf,hw_breakpoint: Initialize hardware api earlier\n  x86: Ignore trap bits on single step exceptions\n  tracing: Force arch_local_irq_* notrace for paravirt\n  tracing: Fix module use of trace_bprintk()\n"
    },
    {
      "commit": "1b065fdff1c950d96e4c571abe873a9a8aaa6d51",
      "tree": "603d792daf79ae9a0161d97191202bf5d796dc7d",
      "parents": [
        "b76a1e4f2a2f95354f4567c8eb420fd4cb68fc26",
        "d5ad140bc1505a98c0f040937125bfcbb508078f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:27:54 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 27 07:27:54 2010 +0900"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix idle balancing\n  sched: Fix volanomark performance regression\n"
    },
    {
      "commit": "b7a2b39d9b7703ccf068f549c8dc3465fc41d015",
      "tree": "6890598daf8e4148a2a9ff085a6cac1f71b24c74",
      "parents": [
        "335d7afbfb71faac833734a94240c1e07cf0ead8"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Fri Nov 26 12:37:09 2010 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:05:36 2010 +0100"
      },
      "message": "sched: Remove unused argument dest_cpu to migrate_task()\n\nRemove unused argument, \u0027dest_cpu\u0027 of migrate_task(), and pass runqueue,\nas it is always known at the call site.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c201011261237.09187.knikanth@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "335d7afbfb71faac833734a94240c1e07cf0ead8",
      "tree": "483a24c6005af6eb25a256d92a697411d94a7458",
      "parents": [
        "22a867d81707b0a2720bb5f65255265b95d30526"
      ],
      "author": {
        "name": "Gerald Schaefer",
        "email": "gerald.schaefer@de.ibm.com",
        "time": "Mon Nov 22 15:47:36 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:05:34 2010 +0100"
      },
      "message": "mutexes, sched: Introduce arch_mutex_cpu_relax()\n\nThe spinning mutex implementation uses cpu_relax() in busy loops as a\ncompiler barrier. Depending on the architecture, cpu_relax() may do more\nthan needed in this specific mutex spin loops. On System z we also give\nup the time slice of the virtual cpu in cpu_relax(), which prevents\neffective spinning on the mutex.\n\nThis patch replaces cpu_relax() in the spinning mutex code with\narch_mutex_cpu_relax(), which can be defined by each architecture that\nselects HAVE_ARCH_MUTEX_CPU_RELAX. The default is still cpu_relax(), so\nthis patch should not affect other architectures than System z for now.\n\nSigned-off-by: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290437256.7455.4.camel@thinkpad\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22a867d81707b0a2720bb5f65255265b95d30526",
      "tree": "7ec19b155b50b13ae95244c2bfa16aea4920c4f6",
      "parents": [
        "5bb6b1ea67a73f0665a41726dd7138977b992c6c",
        "3561d43fd289f590fdae672e5eb831b8d5cf0bf6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:03:27 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:05:21 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc3\u0027 into sched/core\n\nMerge reason: Pick up latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "61ab25447ad6334a74e32f60efb135a3467223f8",
      "tree": "f0cda4931a7ba79609b3b1b4c2e0fda31851e14b",
      "parents": [
        "49f4138346b3cec2706adff02658fe27ceb1e46f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Nov 26 13:00:59 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:03:12 2010 +0100"
      },
      "message": "nohz: Fix printk_needs_cpu() return value on offline cpus\n\nThis patch fixes a hang observed with 2.6.32 kernels where timers got enqueued\non offline cpus.\n\nprintk_needs_cpu() may return 1 if called on offline cpus. When a cpu gets\nofflined it schedules the idle process which, before killing its own cpu, will\ncall tick_nohz_stop_sched_tick(). That function in turn will call\nprintk_needs_cpu() in order to check if the local tick can be disabled. On\noffline cpus this function should naturally return 0 since regardless if the\ntick gets disabled or not the cpu will be dead short after. That is besides the\nfact that __cpu_disable() should already have made sure that no interrupts on\nthe offlined cpu will be delivered anyway.\n\nIn this case it prevents tick_nohz_stop_sched_tick() to call\nselect_nohz_load_balancer(). No idea if that really is a problem. However what\nmade me debug this is that on 2.6.32 the function get_nohz_load_balancer() is\nused within __mod_timer() to select a cpu on which a timer gets enqueued. If\nprintk_needs_cpu() returns 1 then the nohz_load_balancer cpu doesn\u0027t get\nupdated when a cpu gets offlined. It may contain the cpu number of an offline\ncpu. In turn timers get enqueued on an offline cpu and not very surprisingly\nthey never expire and cause system hangs.\n\nThis has been observed 2.6.32 kernels. On current kernels __mod_timer() uses\nget_nohz_timer_target() which doesn\u0027t have that problem. However there might be\nother problems because of the too early exit tick_nohz_stop_sched_tick() in\ncase a cpu goes offline.\n\nEasiest way to fix this is just to test if the current cpu is offline and call\nprintk_tick() directly which clears the condition.\n\nAlternatively I tried a cpu hotplug notifier which would clear the condition,\nhowever between calling the notifier function and printk_needs_cpu() something\ncould have called printk() again and the problem is back again. This seems to\nbe the safest fix.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c20101126120235.406766476@de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "49f4138346b3cec2706adff02658fe27ceb1e46f",
      "tree": "20259bf8196685766e8b4d3ae761102a0f635913",
      "parents": [
        "d5ad140bc1505a98c0f040937125bfcbb508078f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Nov 26 13:42:47 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:03:11 2010 +0100"
      },
      "message": "printk: Fix wake_up_klogd() vs cpu hotplug\n\nwake_up_klogd() may get called from preemptible context but uses\n__raw_get_cpu_var() to write to a per cpu variable. If it gets preempted\nbetween getting the address and writing to it, the cpu in question could be\noffline if the process gets scheduled back and hence writes to the per cpu data\nof an offline cpu.\n\nThis buggy behaviour was introduced with fa33507a \"printk: robustify\nprintk, fix #2\" which was supposed to fix a \"using smp_processor_id() in\npreemptible\" warning.\n\nLet\u0027s use this_cpu_write() instead which disables preemption and makes sure\nthat the outlined scenario cannot happen.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101126124247.GC7023@osiris.boeblingen.de.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee6dcfa40a50fe12a3ae0fb4d2653c66c3ed6556",
      "tree": "e77ac01a6bf2106f7a2c22f00e43cb2960d72ba5",
      "parents": [
        "cc2067a51424dd25c10c1b1230b4222d8baec94d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 26 13:49:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:00:59 2010 +0100"
      },
      "message": "perf: Fix the software context switch counter\n\nStephane noticed that because the perf_sw_event() call is inside the\nperf_event_task_sched_out() call it won\u0027t get called unless we\nhave a per-task counter.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dddd3379a619a4cb8247bfd3c94ca9ae3797aa2e",
      "tree": "9b090784b46956d236b51c4addfcd97f575f205e",
      "parents": [
        "02a9d03772aa1ff33a26180a2da0bfb191240eda"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 24 10:05:55 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:00:56 2010 +0100"
      },
      "message": "perf: Fix inherit vs. context rotation bug\n\nIt was found that sometimes children of tasks with inherited events had\none extra event. Eventually it turned out to be due to the list rotation\nno being exclusive with the list iteration in the inheritance code.\n\nCure this by temporarily disabling the rotation while we inherit the events.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e5cba24e3f018d4beb6acd101a82483c98f91ce7",
      "tree": "687339b9d285c7d19d5c521cae9a30bd9b389631",
      "parents": [
        "698fd6a2c3ca05ec796072defb5c415289a86cdc"
      ],
      "author": {
        "name": "Hitoshi Mitake",
        "email": "mitake@dcl.info.waseda.ac.jp",
        "time": "Fri Nov 26 12:06:44 2010 +0100"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 26 12:06:44 2010 +0100"
      },
      "message": "workqueue: check the allocation of system_unbound_wq\n\nI found a trivial bug on initialization of workqueue.\nCurrent init_workqueues doesn\u0027t check the result of\nallocation of system_unbound_wq, this should be checked\nlike other queues.\n\nSigned-off-by: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "5bb6b1ea67a73f0665a41726dd7138977b992c6c",
      "tree": "d16d962dded41088032250b24f0cbee735f3c97c",
      "parents": [
        "51a96c77815e7f139892a6e9c8275a50e9baebdf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 19 21:11:09 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 23 10:29:08 2010 +0100"
      },
      "message": "sched: Add some clock info to sched_debug\n\nAdd more clock information to /proc/sched_debug, Thomas wanted to see\nthe sched_clock_stable state.\n\nRequested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "51a96c77815e7f139892a6e9c8275a50e9baebdf",
      "tree": "64388fce480b43d0588d108da9e4c526421486cf",
      "parents": [
        "2e01f4740a874b6085da6ebf541e7ffde9a72bf2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 19 20:37:53 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 23 10:29:08 2010 +0100"
      },
      "message": "cpu: Remove incorrect BUG_ON\n\nOleg mentioned that there is no actual guarantee the dying cpu\u0027s\nmigration thread is actually finished running when we get there, so\nreplace the BUG_ON() with a spinloop waiting for it.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e01f4740a874b6085da6ebf541e7ffde9a72bf2",
      "tree": "ec040f4b5fe064042ad5ef81cdd4fa0c70d18178",
      "parents": [
        "70caf8a6c13c2279b35f2ad6b644815533d6c476"
      ],
      "author": {
        "name": "Dhaval Giani",
        "email": "dhaval.giani@gmail.com",
        "time": "Thu Nov 18 15:44:54 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 23 10:29:07 2010 +0100"
      },
      "message": "cpu: Remove unused variable\n\nGCC warns us about:\n\n kernel/cpu.c: In function ‘take_cpu_down’:\n kernel/cpu.c:200:15: warning: unused variable ‘cpu’\n\nThis variable is unused since param-\u003ehcpu is directly\nused later on in cpu_notify.\n\nSigned-off-by: Dhaval Giani \u003cdhaval_giani@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290091494.1145.5.camel@gondor.retis\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "70caf8a6c13c2279b35f2ad6b644815533d6c476",
      "tree": "eae7e189473aa028eaced1a5a2b38bef4f2c9587",
      "parents": [
        "28d0686cf7b14e30243096bd874d3f80591ed392"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 20 00:53:51 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 23 10:29:07 2010 +0100"
      },
      "message": "sched: Fix UP build breakage\n\nThe recent cgroup-scheduling rework caused a UP build problem.\n\nCc: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28d0686cf7b14e30243096bd874d3f80591ed392",
      "tree": "a5e9c1ed7dfb51049de3a725fdcb8d782d2f3ed8",
      "parents": [
        "9437178f623a19af5951808d880a8599f66ac150"
      ],
      "author": {
        "name": "Erik Gilling",
        "email": "konkers@android.com",
        "time": "Fri Nov 19 18:08:51 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 23 10:29:07 2010 +0100"
      },
      "message": "sched: Make task dump print all 15 chars of proc comm\n\nSigned-off-by: Erik Gilling \u003ckonkers@android.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290218934-8544-3-git-send-email-john.stultz@linaro.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "33e0d57f5d2f079104611be9f3fccc27ef2c6b24",
      "tree": "8903edabbf327e9244f8751eff179f967344c27d",
      "parents": [
        "864ee6cb22fd64c1f4fba8ea3f390ffd8816b563"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 19 11:54:40 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 19 11:54:40 2010 -0800"
      },
      "message": "Revert \"kernel: make /proc/kallsyms mode 400 to reduce ease of attacking\"\n\nThis reverts commit 59365d136d205cc20fe666ca7f89b1c5001b0d5a.\n\nIt turns out that this can break certain existing user land setups.\nQuoth Sarah Sharp:\n\n \"On Wednesday, I updated my branch to commit 460781b from linus\u0027 tree,\n  and my box would not boot.  klogd segfaulted, which stalled the whole\n  system.\n\n  At first I thought it actually hung the box, but it continued booting\n  after 5 minutes, and I was able to log in.  It dropped back to the\n  text console instead of the graphical bootup display for that period\n  of time.  dmesg surprisingly still works.  I\u0027ve bisected the problem\n  down to this commit (commit 59365d136d205cc20fe666ca7f89b1c5001b0d5a)\n\n  The box is running klogd 1.5.5ubuntu3 (from Jaunty).  Yes, I know\n  that\u0027s old.  I read the bit in the commit about changing the\n  permissions of kallsyms after boot, but if I can\u0027t boot that doesn\u0027t\n  help.\"\n\nSo let\u0027s just keep the old default, and encourage distributions to do\nthe \"chmod -r /proc/kallsyms\" in their bootup scripts.  This is not\nworth a kernel option to change default behavior, since it\u0027s so easily\ndone in user space.\n\nReported-and-bisected-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Marcus Meissner \u003cmeissner@suse.de\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d42dc3feb6649c0e08641b0a6f0e0bad22aeeb2",
      "tree": "919c0b1a42789de7b4fc0f029b0698426ac98b03",
      "parents": [
        "70b99eff756e8995b607a9d33f242c1e4f480f32",
        "e3839ed8e89e79202c0402ac46965c0686897890"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 18 08:24:58 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 18 08:24:58 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb,ppc: Fix regression in evr register handling\n  kgdb,x86: fix regression in detach handling\n  kdb: fix crash when KDB_BASE_CMD_MAX is exceeded\n  kdb: fix memory leak in kdb_main.c\n"
    },
    {
      "commit": "9437178f623a19af5951808d880a8599f66ac150",
      "tree": "a2f315092f0b7b31cf023a82175c6cf68fd5e04c",
      "parents": [
        "d6b5591829bd348a5fbe1c428d28dea00621cdba"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:10 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:50 2010 +0100"
      },
      "message": "sched: Update tg-\u003eshares after cpu.shares write\n\nFormerly sched_group_set_shares would force a rebalance by overflowing domain\nshare sums.  Now that per-cpu averages are maintained we can set the true value\nby issuing an update_cfs_shares() following a tg-\u003eshares update.\n\nAlso initialize tg se-\u003eload to 0 for consistency since we\u0027ll now set correct\nweights on enqueue.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com?\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234938.465521344@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6b5591829bd348a5fbe1c428d28dea00621cdba",
      "tree": "d8f8131c4d8033685b2e77bffee6cdcf0a975d38",
      "parents": [
        "3b3d190ec3683d568fd2ebaead5e1ec7f97b6e37"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:09 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:50 2010 +0100"
      },
      "message": "sched: Allow update_cfs_load() to update global load\n\nRefactor the global load updates from update_shares_cpu() so that\nupdate_cfs_load() can update global load when it is more than ~10%\nout of sync.\n\nThe new global_load parameter allows us to force an update, regardless of\nthe error factor so that we can synchronize w/ update_shares().\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234938.377473595@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3b3d190ec3683d568fd2ebaead5e1ec7f97b6e37",
      "tree": "6839bc473200dcb69c5de998921684ac569ce18b",
      "parents": [
        "c66eaf619c0c7937e9ded160ae83b5a7a6b19b56"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:08 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:49 2010 +0100"
      },
      "message": "sched: Implement demand based update_cfs_load()\n\nWhen the system is busy, dilation of rq-\u003enext_balance makes lb-\u003eupdate_shares()\ninsufficiently frequent for threads which don\u0027t sleep (no dequeue/enqueue\nupdates).  Adjust for this by making demand based updates based on the\naccumulation of execution time sufficient to wrap our averaging window.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234938.291159744@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c66eaf619c0c7937e9ded160ae83b5a7a6b19b56",
      "tree": "04fca9a8b4c017efa00d7e7077a1aba9d454248a",
      "parents": [
        "a7a4f8a752ec734b2eab904fc863d5dc873de338"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:07 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:49 2010 +0100"
      },
      "message": "sched: Update shares on idle_balance\n\nSince shares updates are no longer expensive and effectively local, update them\nat idle_balance().  This allows us to more quickly redistribute shares to\nanother cpu when our load becomes idle.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234938.204191702@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a7a4f8a752ec734b2eab904fc863d5dc873de338",
      "tree": "18b69c4cc0fc10cf6f0fe429308b25086942d921",
      "parents": [
        "67e86250f8ea7b8f7da53ac25ea73c6bd71f5cd9"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:06 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:49 2010 +0100"
      },
      "message": "sched: Add sysctl_sched_shares_window\n\nIntroduce a new sysctl for the shares window and disambiguate it from\nsched_time_avg.\n\nA 10ms window appears to be a good compromise between accuracy and performance.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234938.112173964@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67e86250f8ea7b8f7da53ac25ea73c6bd71f5cd9",
      "tree": "9e429bdc568172f00e81aa4dcb57796ed0d404dd",
      "parents": [
        "e33078baa4d30ad1d0e46d1f62b9e5a63a3e6ee3"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:05 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:48 2010 +0100"
      },
      "message": "sched: Introduce hierarchal order on shares update list\n\nAvoid duplicate shares update calls by ensuring children always appear before\nparents in rq-\u003eleaf_cfs_rq_list.\n\nThis allows us to do a single in-order traversal for update_shares().\n\nSince we always enqueue in bottom-up order this reduces to 2 cases:\n\n1) Our parent is already in the list, e.g.\n\n   root\n     \\\n      b\n      /\\\n      c d* (root-\u003eb-\u003ec already enqueued)\n\nSince d\u0027s parent is enqueued we push it to the head of the list, implicitly ahead of b.\n\n2) Our parent does not appear in the list (or we have no parent)\n\nIn this case we enqueue to the tail of the list, if our parent is subsequently enqueued\n(bottom-up) it will appear to our right by the same rule.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234938.022488865@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e33078baa4d30ad1d0e46d1f62b9e5a63a3e6ee3",
      "tree": "13d1a075c9cd41ce666cf21b0b209bd3d121f566",
      "parents": [
        "f0d7442a5924a802b66eef79b3708f77297bfb35"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:04 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:48 2010 +0100"
      },
      "message": "sched: Fix update_cfs_load() synchronization\n\nUsing cfs_rq-\u003enr_running is not sufficient to synchronize update_cfs_load with\nthe put path since nr_running accounting occurs at deactivation.\n\nIt\u0027s also not safe to make the removal decision based on load_avg as this fails\nwith both high periods and low shares.  Resolve this by clipping history after\n4 periods without activity.\n\nNote: the above will always occur from update_shares() since in the\nlast-task-sleep-case that task will still be cfs_rq-\u003ecurr when update_cfs_load\nis called.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.933428187@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f0d7442a5924a802b66eef79b3708f77297bfb35",
      "tree": "edffcb20dca3dfe7315b128dc8948977c7c27fa8",
      "parents": [
        "9e3081ca61147b29f52fddb4f7c6b6b82ea5eb7a"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Mon Nov 15 15:47:03 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:47 2010 +0100"
      },
      "message": "sched: Fix load corruption from update_cfs_shares()\n\nAs part of enqueue_entity both a new entity weight and its contribution to the\nqueuing cfs_rq / rq are updated.  Since update_cfs_shares will only update the\nqueueing weights when the entity is on_rq (which in this case it is not yet),\nthere\u0027s a dependency loop here:\n\nupdate_cfs_shares needs account_entity_enqueue to update cfs_rq-\u003eload.weight\naccount_entity_enqueue needs the updated weight for the queuing cfs_rq load[*]\n\nFix this and avoid spurious dequeue/enqueues by issuing update_cfs_shares as\nif we had accounted the enqueue already.\n\nThis was also resulting in rq-\u003eload corruption previously.\n\n[*]: this dependency also exists when using the group cfs_rq w/\n     update_cfs_shares as the weight of the enqueued entity changes\n     without the load being updated.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.844900206@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9e3081ca61147b29f52fddb4f7c6b6b82ea5eb7a",
      "tree": "74ec7a4f3e544ed64afb6cb7abe6322ca700d19a",
      "parents": [
        "3d4b47b4b040c9d77dd68104cfc1055d89a55afd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 15 15:47:02 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:47 2010 +0100"
      },
      "message": "sched: Make tg_shares_up() walk on-demand\n\nMake tg_shares_up() use the active cgroup list, this means we cannot\ndo a strict bottom-up walk of the hierarchy, but assuming its a very\nwide tree with a small number of active groups it should be a win.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.754159484@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3d4b47b4b040c9d77dd68104cfc1055d89a55afd",
      "tree": "a4b39b5d7c89a319b81543c1b26778d6220e772b",
      "parents": [
        "2069dd75c7d0f49355939e5586daf5a9ab216db7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 15 15:47:01 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:47 2010 +0100"
      },
      "message": "sched: Implement on-demand (active) cfs_rq list\n\nMake certain load-balance actions scale per number of active cgroups\ninstead of the number of existing cgroups.\n\nThis makes wakeup/sleep paths more expensive, but is a win for systems\nwhere the vast majority of existing cgroups are idle.\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.666535048@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2069dd75c7d0f49355939e5586daf5a9ab216db7",
      "tree": "c221747420e47b194a2a634024438a55420224d5",
      "parents": [
        "48c5ccae88dcd989d9de507e8510313c6cbd352b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 15 15:47:00 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:46 2010 +0100"
      },
      "message": "sched: Rewrite tg_shares_up)\n\nBy tracking a per-cpu load-avg for each cfs_rq and folding it into a\nglobal task_group load on each tick we can rework tg_shares_up to be\nstrictly per-cpu.\n\nThis should improve cpu-cgroup performance for smp systems\nsignificantly.\n\n[ Paul: changed to use queueing cfs_rq + bug fixes ]\n\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101115234937.580480400@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48c5ccae88dcd989d9de507e8510313c6cbd352b",
      "tree": "06fe8ce2ac28e9f5844de8bc32ecbef97e40d68b",
      "parents": [
        "92fd4d4d67b945c0766416284d4ab236b31542c4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 13 19:32:29 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:27:46 2010 +0100"
      },
      "message": "sched: Simplify cpu-hot-unplug task migration\n\nWhile discussing the need for sched_idle_next(), Oleg remarked that\nsince try_to_wake_up() ensures sleeping tasks will end up running on a\nsane cpu, we can do away with migrate_live_tasks().\n\nIf we then extend the existing hack of migrating current from\nCPU_DYING to migrating the full rq worth of tasks from CPU_DYING, the\nneed for the sched_idle_next() abomination disappears as well, since\nidle will be the only possible thread left after the migration thread\nstops.\n\nThis greatly simplifies the hot-unplug task migration path, as can be\nseen from the resulting code reduction (and about half the new lines\nare comments).\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1289851597.2109.547.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92fd4d4d67b945c0766416284d4ab236b31542c4",
      "tree": "00b8b5f90748f752ccaba3dddbe271091d93543a",
      "parents": [
        "fe7de49f9d4e53f24ec9ef762a503f70b562341c",
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:22:14 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:22:26 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc2\u0027 into sched/core\n\nMerge reason: Move to a .37-rc base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "94e8ba728640dc01375a14e337f3b892bfacbeeb",
      "tree": "b13b06de29ea71dfafd0505736704491e559440b",
      "parents": [
        "8882135bcd332f294df5455747ea43ba9e6f77ad"
      ],
      "author": {
        "name": "Sergio Aguirre",
        "email": "saaguirre@ti.com",
        "time": "Tue Nov 16 12:02:47 2010 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:18:47 2010 +0100"
      },
      "message": "irq_work: Drop cmpxchg() result\n\nThe compiler warned us about:\n\n kernel/irq_work.c: In function \u0027irq_work_run\u0027:\n kernel/irq_work.c:148: warning: value computed is not used\n\nDropping the cmpxchg() result is indeed weird, but correct -\nso annotate away the warning.\n\nSigned-off-by: Sergio Aguirre \u003csaaguirre@ti.com\u003e\nCc: Huang Ying \u003cying.huang@intel.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1289930567-17828-1-git-send-email-saaguirre@ti.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8882135bcd332f294df5455747ea43ba9e6f77ad",
      "tree": "758f26d26750fd5007e885cc28125f7c1fa24ca6",
      "parents": [
        "fcf48a725a176ba12aa7be64c50190deaa2f86df"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 09 19:01:43 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:18:46 2010 +0100"
      },
      "message": "perf: Fix owner-list vs exit\n\nOleg noticed that a perf-fd keeping a reference on the creating task\nleads to a few funny side effects.\n\nThere\u0027s two different aspects to this:\n\n  - kernel based perf-events, these should not take out\n    a reference on the creating task and appear on the task\u0027s\n    event list since they\u0027re not bound to fds nor visible\n    to userspace.\n\n  - fork() and pthread_create(), these can lead to the creating\n    task dying (and thus the task\u0027s event-list becomming useless)\n    but keeping the list and ref alive until the event is closed.\n\nCombined they lead to malfunction of the ptrace hw_tracepoints.\n\nCure this by not considering kernel based perf_events for the\nowner-list and destroying the owner-list when the owner dies.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nLKML-Reference: \u003c1289576883.2084.286.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d5ad140bc1505a98c0f040937125bfcbb508078f",
      "tree": "adc1581eb61159675f9163515fd2402f81b586e2",
      "parents": [
        "b5482cfa1c95a188b3054fa33274806add91bbe5"
      ],
      "author": {
        "name": "Nikhil Rao",
        "email": "ncrao@google.com",
        "time": "Wed Nov 17 11:42:04 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:12:33 2010 +0100"
      },
      "message": "sched: Fix idle balancing\n\nAn earlier commit reverts idle balancing throttling reset to fix a 30%\nregression in volanomark throughput. We still need to reset idle_stamp\nwhen we pull a task in newidle balance.\n\nReported-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Nikhil Rao \u003cncrao@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290022924-3548-1-git-send-email-ncrao@google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5482cfa1c95a188b3054fa33274806add91bbe5",
      "tree": "bcd6091faa23ab203ea9f6f4262a466bf3a696a1",
      "parents": [
        "55f6561c6941713ab5ae9180525b026dd40b7d14"
      ],
      "author": {
        "name": "Alex Shi",
        "email": "alex.shi@intel.com",
        "time": "Tue Nov 16 17:34:02 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:11:43 2010 +0100"
      },
      "message": "sched: Fix volanomark performance regression\n\nCommit fab4762 triggers excessive idle balancing, causing a ~30% loss in\nvolanomark throughput. Remove idle balancing throttle reset.\n\nOriginally-by: Alex Shi \u003calex.shi@intel.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Nikhil Rao \u003cncrao@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1289928732.5169.211.camel@maggy.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fcf48a725a176ba12aa7be64c50190deaa2f86df",
      "tree": "5d611ba5b1eb4dd821c93ca2f9d08078b563305a",
      "parents": [
        "0e2af2a9abf94b408ff70679b692a8644fed4aab",
        "3c502e7a0255d82621ff25d60cc816624830497e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 10:37:51 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 10:37:51 2010 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/urgent\n"
    },
    {
      "commit": "a89d4bd055718d3b4ddb380ee22951a1300b4096",
      "tree": "ca7a040a619f7c1fb6a42e77be7ff9147417aa2b",
      "parents": [
        "e53beacd23d9cb47590da6a7a7f6d417b941a994",
        "91e86e560d0b3ce4c5fc64fd2bbb99f856a30a4e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 08:07:36 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 08:07:36 2010 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent\n"
    },
    {
      "commit": "5450d904054b4ed582793ad6ecb5469f03cc4c46",
      "tree": "025a63a774f56b02e001cd49ead0c26f428cbb9b",
      "parents": [
        "85e76ab50aecbdc9011806f2f8943450ccb0d93c"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Wed Nov 10 07:22:18 2010 -0600"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Nov 17 13:54:57 2010 -0600"
      },
      "message": "kdb: fix crash when KDB_BASE_CMD_MAX is exceeded\n\nWhen the number of dyanmic kdb commands exceeds KDB_BASE_CMD_MAX, the\nkernel will fault.\n\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "85e76ab50aecbdc9011806f2f8943450ccb0d93c",
      "tree": "3cf312d0b247a7e2cc40cc5a4bfb35759aa57dda",
      "parents": [
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Wed Nov 10 07:22:18 2010 -0600"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Nov 17 13:54:57 2010 -0600"
      },
      "message": "kdb: fix memory leak in kdb_main.c\n\nCall kfree in the error path as well as the success path in kdb_ll().\n\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "451a3c24b0135bce54542009b5fde43846c7cf67",
      "tree": "f0fbbcc155aef2a1ffcb8aa593fe7a966d0e6900",
      "parents": [
        "55f6561c6941713ab5ae9180525b026dd40b7d14"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove extraneous #include \u003csmp_lock.h\u003e\n\nThe big kernel lock has been removed from all these files at some point,\nleaving only the #include.\n\nRemove this too as a cleanup.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59365d136d205cc20fe666ca7f89b1c5001b0d5a",
      "tree": "d2496dd73d699de6987599e5c4651ea5ba7a4857",
      "parents": [
        "1d6636502b23a964f4e5aac5237d1bbb76a9f912"
      ],
      "author": {
        "name": "Marcus Meissner",
        "email": "meissner@suse.de",
        "time": "Tue Nov 16 11:46:03 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 19:06:01 2010 -0800"
      },
      "message": "kernel: make /proc/kallsyms mode 400 to reduce ease of attacking\n\nMaking /proc/kallsyms readable only for root by default makes it\nslightly harder for attackers to write generic kernel exploits by\nremoving one source of knowledge where things are in the kernel.\n\nThis is the second submit, discussion happened on this on first submit\nand mostly concerned that this is just one hole of the sieve ...  but\none of the bigger ones.\n\nChanging the permissions of at least System.map and vmlinux is also\nrequired to fix the same set, but a packaging issue.\n\nTarget of this starter patch and follow ups is removing any kind of\nkernel space address information leak from the kernel.\n\n[ Side note: the default of root-only reading is the \"safe\" value, and\n  it\u0027s easy enough to then override at any time after boot.  The /proc\n  filesystem allows root to change the permissions with a regular\n  chmod, so you can \"revert\" this at run-time by simply doing\n\n    chmod og+r /proc/kallsyms\n\n  as root if you really want regular users to see the kernel symbols.\n  It does help some tools like \"perf\" figure them out without any\n  setup, so it may well make sense in some situations.  - Linus ]\n\nSigned-off-by: Marcus Meissner \u003cmeissner@suse.de\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nReviewed-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d33fdee4d090076462cfe25473f7139c3204b16e",
      "tree": "0b7cbabcd57b72baf0e5bbfa2ce97094a518adf0",
      "parents": [
        "1e8703b2e6aefba84dd9633d90a4093ff1200b93",
        "1e5a74059f9059d330744eac84873b1b99657008"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 15:20:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 15:20:05 2010 -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: Fix cross-sched-class wakeup preemption\n  sched: Fix runnable condition for stoptask\n  sched: Use group weight, idle cpu metrics to fix imbalances during idle\n"
    },
    {
      "commit": "1e8703b2e6aefba84dd9633d90a4093ff1200b93",
      "tree": "648c6a9ebd0ecfae1d5ef9c44e9996300b7232cd",
      "parents": [
        "45314915ed8089634144c975357bf5ba17f06ab9",
        "00fafcda1773245a5292f953321ec3f0668c8c28"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 15:18:17 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 15:18:17 2010 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM / PM QoS: Fix reversed min and max\n  PM / OPP: Hide OPP configuration when SoCs do not provide an implementation\n  PM: Allow devices to be removed during late suspend and early resume\n"
    },
    {
      "commit": "45314915ed8089634144c975357bf5ba17f06ab9",
      "tree": "6b7db771ee69fff267b781faaab388be162df843",
      "parents": [
        "f281233d3eba15fb225d21ae2e228fd4553d824a",
        "4c115e951d80aff126468adaec7a6c7854f61ab8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 14:31:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 14:31:03 2010 -0800"
      },
      "message": "Merge branch \u0027futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Address compiler warnings in exit_robust_list\n"
    },
    {
      "commit": "2ebc8ec86fe0f3f3acf9ba9b41a368f819e7807e",
      "tree": "c0b3d4f14ae6dd98318d78fcf7d16f47954e06a4",
      "parents": [
        "df6e61d4ca268dc8706db38222fde9f04701566c",
        "89480801a17a3069f45169d40b828c8e511aa005"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 09:27:13 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 09:27:13 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] kprobes: Fix the return address of multiple kretprobes\n  [S390] kprobes: disable interrupts throughout\n  [S390] ftrace: build without frame pointers on s390\n  [S390] mm: add devmem_is_allowed() for STRICT_DEVMEM checking\n  [S390] vmlogrdr: purge after recording is switched off\n  [S390] cio: fix incorrect ccw_device_init_count\n  [S390] tape: add medium state notifications\n  [S390] fix get_user_pages_fast\n"
    },
    {
      "commit": "df6e61d4ca268dc8706db38222fde9f04701566c",
      "tree": "64b3e7571df84ce1e8d6aa1fb4dcb6a69a519d2c",
      "parents": [
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 15 21:17:27 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 16 07:56:09 2010 -0800"
      },
      "message": "kernel/sysctl.c: Fix build failure with !CONFIG_PRINTK\n\nSigh...\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12b3052c3ee8f508b2c7ee4ddd63ed03423409d8",
      "tree": "b97d0f209f363cfad94ce9d075312274e349da89",
      "parents": [
        "6800e4c0ea3e96cf78953b8b5743381cb1bb9e37"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 15 18:36:29 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 15 15:40:01 2010 -0800"
      },
      "message": "capabilities/syslog: open code cap_syslog logic to fix build failure\n\nThe addition of CONFIG_SECURITY_DMESG_RESTRICT resulted in a build\nfailure when CONFIG_PRINTK\u003dn.  This is because the capabilities code\nwhich used the new option was built even though the variable in question\ndidn\u0027t exist.\n\nThe patch here fixes this by moving the capabilities checks out of the\nLSM and into the caller.  All (known) LSMs should have been calling the\ncapabilities hook already so it actually makes the code organization\nbetter to eliminate the hook altogether.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00fafcda1773245a5292f953321ec3f0668c8c28",
      "tree": "97aa6f2399b6d0e8335322865c2179059ebca8ab",
      "parents": [
        "43e60861fe9d39740cf5b355f58fecedf0d8e9ba"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Nov 15 22:45:22 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 15 22:45:22 2010 +0100"
      },
      "message": "PM / PM QoS: Fix reversed min and max\n\npm_qos_get_value had min and max reversed, causing all pm_qos\nrequests to have no effect.\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nAcked-by: mark \u003cmarkgross@thegnar.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "91e86e560d0b3ce4c5fc64fd2bbb99f856a30a4e",
      "tree": "26d7afb8373474a4d44d0eba4130499676c35bc7",
      "parents": [
        "b5908548537ccd3ada258ca5348df7ffc93e5a06"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 10 12:56:12 2010 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 12 21:20:08 2010 -0500"
      },
      "message": "tracing: Fix recursive user stack trace\n\nThe user stack trace can fault when examining the trace. Which\nwould call the do_page_fault handler, which would trace again,\nwhich would do the user stack trace, which would fault and call\ndo_page_fault again ...\n\nThus this is causing a recursive bug. We need to have a recursion\ndetector here.\n\n[ Resubmitted by Jiri Olsa ]\n\n[ Eric Dumazet recommended using __this_cpu_* instead of __get_cpu_* ]\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c1289390172-9730-3-git-send-email-jolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8a9f772c14f85e2a580baadc50c194835da2d4e5",
      "tree": "4ac04e465fa8295944f997fb517dc9904bb8e4f3",
      "parents": [
        "25a34554d600b799cbf5159bef372b02d3b4e1c6",
        "cedb4a7d9f6aedb0dce94d6285b69dcb3c10fa05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:52:47 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:52:47 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (27 commits)\n  block: remove unused copy_io_context()\n  Documentation: remove anticipatory scheduler info\n  block: remove REQ_HARDBARRIER\n  ioprio: rcu_read_lock/unlock protect find_task_by_vpid call (V2)\n  ioprio: fix RCU locking around task dereference\n  block: ioctl: fix information leak to userland\n  block: read i_size with i_size_read()\n  cciss: fix proc warning on attempt to remove non-existant directory\n  bio: take care not overflow page count when mapping/copying user data\n  block: limit vec count in bio_kmalloc() and bio_alloc_map_data()\n  block: take care not to overflow when calculating total iov length\n  block: check for proper length of iov entries in blk_rq_map_user_iov()\n  cciss: remove controllers supported by hpsa\n  cciss: use usleep_range not msleep for small sleeps\n  cciss: limit commands allocated on reset_devices\n  cciss: Use kernel provided PCI state save and restore functions\n  cciss: fix board status waiting code\n  drbd: Removed checks for REQ_HARDBARRIER on incomming BIOs\n  drbd: REQ_HARDBARRIER -\u003e REQ_FUA transition for meta data accesses\n  drbd: Removed the BIO_RW_BARRIER support form the receiver/epoch code\n  ...\n"
    },
    {
      "commit": "28397babba4d2bb4a529859dd1f4fb9a0beb3e48",
      "tree": "d8ec5cb703d3d8e2c7d0e66f25c361c90aee3ae2",
      "parents": [
        "99efb9369c54fa98fc354a9ad4bc8c59f3212ff4",
        "034c6efa4616e5ff6253549e973e7fef12899324"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:39:52 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 08:39:52 2010 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf, amd: Use kmalloc_node(,__GFP_ZERO) for northbridge structure allocation\n  perf_events: Fix time tracking in samples\n  perf trace: update usage\n  perf trace: update Documentation with new perf trace variants\n  perf trace: live-mode command-line cleanup\n  perf trace record: handle commands correctly\n  perf record: make the record options available outside perf record\n  perf trace scripting: remove system-wide param from shell scripts\n  perf trace scripting: fix some small memory leaks and missing error checks\n  perf: Fix usages of profile_cpu in builtin-top.c to use cpu_list\n  perf, ui: Eliminate stack-smashing protection compiler complaint\n"
    },
    {
      "commit": "eaf06b241b091357e72b76863ba16e89610d31bd",
      "tree": "83bc8667309050b3538630707513574c14c51f37",
      "parents": [
        "203f40a5a030ed4048cd40e3bd9ab5df6c5df589"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Thu Nov 11 14:05:18 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:32 2010 -0800"
      },
      "message": "Restrict unprivileged access to kernel syslog\n\nThe kernel syslog contains debugging information that is often useful\nduring exploitation of other vulnerabilities, such as kernel heap\naddresses.  Rather than futilely attempt to sanitize hundreds (or\nthousands) of printk statements and simultaneously cripple useful\ndebugging functionality, it is far simpler to create an option that\nprevents unprivileged users from reading the syslog.\n\nThis patch, loosely based on grsecurity\u0027s GRKERNSEC_DMESG, creates the\ndmesg_restrict sysctl.  When set to \"0\", the default, no restrictions are\nenforced.  When set to \"1\", only users with CAP_SYS_ADMIN can read the\nkernel syslog via dmesg(8) or other mechanisms.\n\n[akpm@linux-foundation.org: explain the config option in kernel.txt]\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38715258aa2e8cd94bd4aafadc544e5104efd551",
      "tree": "1af8d367a68ddcc8868500aa70da21e1eb7ddf5a",
      "parents": [
        "8d056cb965b8fb7c53c564abf28b1962d1061cd3"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Thu Nov 11 14:05:16 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:31 2010 -0800"
      },
      "message": "latencytop: fix per task accumulator\n\nPer task latencytop accumulator prematurely terminates due to erroneous\nplacement of latency_record_count.  It should be incremented whenever a\nnew record is allocated instead of increment on every latencytop event.\n\nAlso fix search iterator to only search known record events instead of\nblindly searching all pre-allocated space.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nReviewed-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "834b40380e93e36f1c9b48ec1d280cebe3d7bd8c",
      "tree": "acb6c23488baaf50e1cabd218738281973616734",
      "parents": [
        "aec04288904a7308f2900926902040e7a69ae2be"
      ],
      "author": {
        "name": "Alexey Khoroshilov",
        "email": "khoroshilov@ispras.ru",
        "time": "Thu Nov 11 14:05:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 12 07:55:31 2010 -0800"
      },
      "message": "kernel/range.c: fix clean_sort_range() for the case of full array\n\nclean_sort_range() should return a number of nonempty elements of range\narray, but if the array is full clean_sort_range() returns 0.\n\nThe problem is that the number of nonempty elements is evaluated by\nfinding the first empty element of the array.  If there is no such element\nit returns an initial value of local variable nr_range that is zero.\n\nThe fix is trivial: it changes initial value of nr_range to size of the\narray.\n\nThe bug can lead to loss of information regarding all ranges, since\ntypically returned value of clean_sort_range() is considered as an actual\nnumber of ranges in the array after a series of add/subtract operations.\n\nFound by Analytical Verification project of Linux Verification Center\n(linuxtesting.org), thanks to Alexander Kolosov.\n\nSigned-off-by: Alexey Khoroshilov \u003ckhoroshilov@ispras.ru\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c502e7a0255d82621ff25d60cc816624830497e",
      "tree": "1f30638f22ef9ed748fac1f73cb18169efe49ae7",
      "parents": [
        "6c0aca288e726405b01dacb12cac556454d34b2a"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Nov 04 17:33:01 2010 -0500"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Nov 12 14:51:55 2010 +0100"
      },
      "message": "perf,hw_breakpoint: Initialize hardware api earlier\n\nWhen using early debugging, the kernel does not initialize the\nhw_breakpoint API early enough and causes the late initialization of\nthe kernel debugger to fail. The boot arguments are:\n\n    earlyprintk\u003dvga ekgdboc\u003dkbd kgdbwait\n\nThen simply type \"go\" at the kdb prompt and boot. The kernel will\nlater emit the message:\n\n    kgdb: Could not allocate hwbreakpoints\n\nAnd at that point the kernel debugger will cease to work correctly.\n\nThe solution is to initialize the hw_breakpoint at the same time that\nall the other perf call backs are initialized instead of using a\ncore_initcall() initialization which happens well after the kernel\ndebugger can make use of hardware breakpoints.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4CD3396D.1090308@windriver.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "1e5a74059f9059d330744eac84873b1b99657008",
      "tree": "f32f8ac76d5a6c49c1b4cd8f83155af00007fac0",
      "parents": [
        "2d46709082c062cae7cce1a15f8cd4cd81b92d88"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Oct 31 12:37:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 11 14:37:23 2010 +0100"
      },
      "message": "sched: Fix cross-sched-class wakeup preemption\n\nInstead of dealing with sched classes inside each check_preempt_curr()\nimplementation, pull out this logic into the generic wakeup preemption\npath.\n\nThis fixes a hang in KVM (and others) where we are waiting for the\nstop machine thread to run ...\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nTested-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nTested-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1288891946.2039.31.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "13b9b6e746d753d43270a78dd39694912646b5d9",
      "tree": "e7c4f657a21f7a94daa12b3880f1383ce27b58cf",
      "parents": [
        "034c6efa4616e5ff6253549e973e7fef12899324"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Nov 10 22:19:24 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 10 22:19:24 2010 -0500"
      },
      "message": "tracing: Fix module use of trace_bprintk()\n\nOn use of trace_printk() there\u0027s a macro that determines if the format\nis static or a variable. If it is static, it defaults to __trace_bprintk()\notherwise it uses __trace_printk().\n\nA while ago, Lai Jiangshan added __trace_bprintk(). In that patch, we\ndiscussed a way to allow modules to use it. The difference between\n__trace_bprintk() and __trace_printk() is that for faster processing,\njust the format and args are stored in the trace instead of running\nit through a sprintf function. In order to do this, the format used\nby the __trace_bprintk() had to be persistent.\n\nSee commit 1ba28e02a18cbdbea123836f6c98efb09cbf59ec\n\nThe problem comes with trace_bprintk() where the module is unloaded.\nThe pointer left in the buffer is still pointing to the format.\n\nTo solve this issue, the formats in the module were copied into kernel\ncore. If the same format was used, they would use the same copy (to prevent\nmemory leak). This all worked well until we tried to merge everything.\n\nAt the time this was written, Lai Jiangshan, Frederic Weisbecker,\nIngo Molnar and myself were all touching the same code. When this was\nmerged, we lost the part of it that was in module.c. This kept out the\ncopying of the formats and unloading the module could cause bad pointers\nleft in the ring buffer.\n\nThis patch adds back (with updates required for current kernel) the\nmodule code that sets up the necessary pointers.\n\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "43e60861fe9d39740cf5b355f58fecedf0d8e9ba",
      "tree": "7751208ba2b579d22e70bd5043c6b4c63847feb5",
      "parents": [
        "d08a5ace18dce9b18d8eb56bb6c0feef082b1b33"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Nov 11 01:51:26 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Nov 11 01:51:26 2010 +0100"
      },
      "message": "PM / OPP: Hide OPP configuration when SoCs do not provide an implementation\n\nSince the OPP API is only useful with an appropraite SoC-specific\nimplementation there is no point in offering the ability to enable\nthe API on general systems. Provide an ARCH_HAS OPP Kconfig symbol\nwhich masks out the option unless selected by an implementation.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Nishanth Menon \u003cnm@ti.com\u003e\nAcked-by: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2d46709082c062cae7cce1a15f8cd4cd81b92d88",
      "tree": "8222a0f18aca8a91c7929264d83bf6010a905993",
      "parents": [
        "aae6d3ddd8b90f5b2c8d79a2b914d1706d124193"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 09 14:36:52 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 10 23:13:58 2010 +0100"
      },
      "message": "sched: Fix runnable condition for stoptask\n\nHeiko reported that the TASK_RUNNING check is not sufficient for\nCONFIG_PREEMPT\u003dy since we can get preempted with !TASK_RUNNING.\n\nHe suggested adding a -\u003ese.on_rq test to the existing TASK_RUNNING\none, however TASK_RUNNING will always have -\u003ese.on_rq, so we might as\nwell reduce that to a single test.\n\n[ stop tasks should never get preempted, but its good to handle\n  this case correctly should this ever happen ]\n\nReported-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aae6d3ddd8b90f5b2c8d79a2b914d1706d124193",
      "tree": "b993f929f4b1cc38ef01094ff4504eaf358adb31",
      "parents": [
        "f6614b7bb405a9b35dd28baea989a749492c46b2"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Fri Sep 17 15:02:32 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 10 23:13:56 2010 +0100"
      },
      "message": "sched: Use group weight, idle cpu metrics to fix imbalances during idle\n\nCurrently we consider a sched domain to be well balanced when the imbalance\nis less than the domain\u0027s imablance_pct. As the number of cores and threads\nare increasing, current values of imbalance_pct (for example 25% for a\nNUMA domain) are not enough to detect imbalances like:\n\na) On a WSM-EP system (two sockets, each having 6 cores and 12 logical threads),\n24 cpu-hogging tasks get scheduled as 13 on one socket and 11 on another\nsocket. Leading to an idle HT cpu.\n\nb) On a hypothetial 2 socket NHM-EX system (each socket having 8 cores and\n16 logical threads), 16 cpu-hogging tasks can get scheduled as 9 on one\nsocket and 7 on another socket. Leaving one core in a socket idle\nwhereas in another socket we have a core having both its HT siblings busy.\n\nWhile this issue can be fixed by decreasing the domain\u0027s imbalance_pct\n(by making it a function of number of logical cpus in the domain), it\ncan potentially cause more task migrations across sched groups in an\noverloaded case.\n\nFix this by using imbalance_pct only during newly_idle and busy\nload balancing. And during idle load balancing, check if there\nis an imbalance in number of idle cpu\u0027s across the busiest and this\nsched_group or if the busiest group has more tasks than its weight that\nthe idle cpu in this_group can pull.\n\nReported-by: Nikhil Rao \u003cncrao@google.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1284760952.2676.11.camel@sbsiddha-MOBL3.sc.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eed01528a45dc4138e9a08064b4b6cc1a9426899",
      "tree": "c7b4256b4158abc74338f14ac2071ec33c52d7e6",
      "parents": [
        "7e55055e5bb00085051ca59c570c83a820e1e0ee"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue Oct 26 16:08:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 10 22:58:39 2010 +0100"
      },
      "message": "perf_events: Fix time tracking in samples\n\nThis patch corrects time tracking in samples. Without this patch\nboth time_enabled and time_running are bogus when user asks for\nPERF_SAMPLE_READ.\n\nOne uses PERF_SAMPLE_READ to sample the values of other counters\nin each sample. Because of multiplexing, it is necessary to know\nboth time_enabled, time_running to be able to scale counts correctly.\n\nIn this second version of the patch, we maintain a shadow\ncopy of ctx-\u003etime which allows us to compute ctx-\u003etime without\ncalling update_context_time() from NMI context. We avoid the\nissue that update_context_time() must always be called with\nctx-\u003elock held.\n\nWe do not keep shadow copies of the other event timings\nbecause if the lead event is overflowing then it is active\nand thus it\u0027s been scheduled in via event_sched_in() in\nwhich case neither tstamp_stopped, tstamp_running can be modified.\n\nThis timing logic only applies to samples when PERF_SAMPLE_READ\nis used.\n\nNote that this patch does not address timing issues related\nto sampling inheritance between tasks. This will be addressed\nin a future patch.\n\nWith this patch, the libpfm4 example task_smpl now reports\ncorrect counts (shown on 2.4GHz Core 2):\n\n$ task_smpl -p 2400000000 -e unhalted_core_cycles:u,instructions_retired:u,baclears  noploop 5\nnoploop for 5 seconds\nIIP:0x000000004006d6 PID:5596 TID:5596 TIME:466,210,211,430 STREAM_ID:33 PERIOD:2,400,000,000 ENA\u003d1,010,157,814 RUN\u003d1,010,157,814 NR\u003d3\n\t2,400,000,254 unhalted_core_cycles:u (33)\n\t2,399,273,744 instructions_retired:u (34)\n\t53,340 baclears (35)\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4cc6e14b.1e07e30a.256e.5190@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02e031cbc843b010e72fcc05c76113c688b2860f",
      "tree": "9f68559ec3acc39bcc4ce2ff87043a094eaa2e8f",
      "parents": [
        "00e375e7e962f938f6b3c93e4cd097a5e26cc788"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Nov 10 14:54:09 2010 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Nov 10 14:54:09 2010 +0100"
      },
      "message": "block: remove REQ_HARDBARRIER\n\nREQ_HARDBARRIER is dead now, so remove the leftovers.  What\u0027s left\nat this point is:\n\n - various checks inside the block layer.\n - sanity checks in bio based drivers.\n - now unused bio_empty_barrier helper.\n - Xen blockfront use of BLKIF_OP_WRITE_BARRIER - it\u0027s dead for a while,\n   but Xen really needs to sort out it\u0027s barrier situaton.\n - setting of ordered tags in uas - dead code copied from old scsi\n   drivers.\n - scsi different retry for barriers - it\u0027s dead and should have been\n   removed when flushes were converted to FS requests.\n - blktrace handling of barriers - removed.  Someone who knows blktrace\n   better should add support for REQ_FLUSH and REQ_FUA, though.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "4c115e951d80aff126468adaec7a6c7854f61ab8",
      "tree": "9f808df3fe056c317d37b53d3640982c9bc593cc",
      "parents": [
        "814ce2521121c2459e16cea8c7221e157edbeddd"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhart@linux.intel.com",
        "time": "Thu Nov 04 15:00:00 2010 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 10 13:27:50 2010 +0100"
      },
      "message": "futex: Address compiler warnings in exit_robust_list\n\nSince commit 1dcc41bb (futex: Change 3rd arg of fetch_robust_entry()\nto unsigned int*) some gcc versions decided to emit the following\nwarning:\n\nkernel/futex.c: In function ‘exit_robust_list’:\nkernel/futex.c:2492: warning: ‘next_pi’ may be used uninitialized in this function\n\nThe commit did not introduce the warning as gcc should have warned\nbefore that commit as well. It\u0027s just gcc being silly.\n\nThe code path really can\u0027t result in next_pi being unitialized (or\nshould not), but let\u0027s keep the build clean. Annotate next_pi as an\nuninitialized_var.\n\n[ tglx: Addressed the same issue in futex_compat.c and massaged the\n  \tchangelog ]\n\nSigned-off-by: Darren Hart \u003cdvhart@linux.intel.com\u003e\nTested-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nTested-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1288897200-13008-1-git-send-email-dvhart@linux.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c0deae8c9587419ab13874b74425ce2eb2e18508",
      "tree": "54887135a674951d19e169b5ff17a866b16d7cbe",
      "parents": [
        "814ce2521121c2459e16cea8c7221e157edbeddd"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@gmail.com",
        "time": "Wed Nov 03 18:52:56 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 10 13:07:06 2010 +0100"
      },
      "message": "posix-cpu-timers: Rcu_read_lock/unlock protect find_task_by_vpid call\n\nCommit 4221a9918e38b7494cee341dda7b7b4bb8c04bde \"Add RCU check for\nfind_task_by_vpid()\" introduced rcu_lockdep_assert to find_task_by_pid_ns.\nAdd rcu_read_lock/rcu_read_unlock to call find_task_by_vpid.\n\nTetsuo Handa wrote:\n| Quoting from one of posts in that thead\n| http://kerneltrap.org/mailarchive/linux-kernel/2010/2/8/4536388\n|\n|| Usually tasklist gives enough protection, but if copy_process() fails\n|| it calls free_pid() lockless and does call_rcu(delayed_put_pid().\n|| This means, without rcu lock find_pid_ns() can\u0027t scan the hash table\n|| safely.\n\nThomas Gleixner wrote:\n| We can remove the tasklist_lock while at it. rcu_read_lock is enough.\n\nPatch also replaces thread_group_leader with has_group_leader_pid\nin accordance to comment by Oleg Nesterov:\n\n| ... thread_group_leader() check is not relaible without \n| tasklist. If we race with de_thread() find_task_by_vpid() can find\n| the new leader before it updates its -\u003egroup_leader.\n|\n| perhaps it makes sense to change posix_cpu_timer_create() to use \n| has_group_leader_pid() instead, just to make this code not look racy\n| and avoid adding new problems.\n\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nLKML-Reference: \u003c20101103165256.GD30053@swordfish.minsk.epam.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "becf91f18750cf1c60828aa2ee63a36b05c2e4d0",
      "tree": "3b97a843ef2aaad89250ec8b8897474ad0169c44",
      "parents": [
        "ec6743bb06510c7b629603ce35713d6ae9273579"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Nov 10 10:05:56 2010 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Wed Nov 10 10:05:54 2010 +0100"
      },
      "message": "[S390] ftrace: build without frame pointers on s390\n\ns390 doesn\u0027t need FRAME_POINTERS in order to have a working function tracer.\nWe don\u0027t need frame pointers in order to get strack traces since we always\nhave valid backchains by using the -mkernel-backchain gcc option.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "433039e97f672b81e6c8f6daef385dcf035c6e29",
      "tree": "0b4b181cf1db4019ae34dccc49e06945e4df117b",
      "parents": [
        "4b4a2700f462102569b407102c60d3b9cf4432a0"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Nov 05 16:17:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 17:45:35 2010 -0700"
      },
      "message": "watchdog: Fix section mismatch and potential undefined behavior.\n\nCommit d9ca07a05ce1 (\"watchdog: Avoid kernel crash when disabling\nwatchdog\") introduces a section mismatch.\n\nNow that we reference no_watchdog from non-__init code it can no longer\nbe __initdata.\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0a70217107e6f9844628120412cb27bb4cea194",
      "tree": "3c805ee6cfe97afee77b226e0cf5d36135e82dda",
      "parents": [
        "b312e131cb88b83b6edc7a017b0249b4ea176edc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Nov 05 16:53:42 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 14:16:03 2010 -0700"
      },
      "message": "posix-cpu-timers: workaround to suppress the problems with mt exec\n\nposix-cpu-timers.c correctly assumes that the dying process does\nposix_cpu_timers_exit_group() and removes all !CPUCLOCK_PERTHREAD\ntimers from signal-\u003ecpu_timers list.\n\nBut, it also assumes that timer-\u003eit.cpu.task is always the group\nleader, and thus the dead -\u003etask means the dead thread group.\n\nThis is obviously not true after de_thread() changes the leader.\nAfter that almost every posix_cpu_timer_ method has problems.\n\nIt is not simple to fix this bug correctly. First of all, I think\nthat timer-\u003eit.cpu should use struct pid instead of task_struct.\nAlso, the locking should be reworked completely. In particular,\ntasklist_lock should not be used at all. This all needs a lot of\nnontrivial and hard-to-test changes.\n\nChange __exit_signal() to do posix_cpu_timers_exit_group() when\nthe old leader dies during exec. This is not the fix, just the\ntemporary hack to hide the problem for 2.6.37 and stable. IOW,\nthis is obviously wrong but this is what we currently have anyway:\ncpu timers do not work after mt exec.\n\nIn theory this change adds another race. The exiting leader can\ndetach the timers which were attached to the new leader. However,\nthe window between de_thread() and release_task() is small, we\ncan pretend that sys_timer_create() was called before de_thread().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "408af87a397a8ddef56ad39a79481f592aa1ac1a",
      "tree": "b1e2aeafa2ade41e7b64a0025fa050f3be83d5c7",
      "parents": [
        "9a8a0caddec7f77174a33e53f5ee9e87181b6232"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Thu Nov 04 21:44:41 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Nov 05 08:21:34 2010 -0700"
      },
      "message": "Clean up relay_alloc_page_array() slightly by using vzalloc rather than vmalloc and memset\n\nWe can optimize kernel/relay.c::relay_alloc_page_array() slightly by\nusing vzalloc.  The patch makes these changes:\n\n - use vzalloc instead of vmalloc+memset.\n - remove redundant local variable \u0027array\u0027.\n - declare local \u0027pa_size\u0027 as const.\n\nCuts down nicely on both source and object-code size.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nAcked-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82279e6bd7643da1b3fbda42555c3238c7b00d38",
      "tree": "e3f846e0a7daf6966375809ff4317f9eb57a9af9",
      "parents": [
        "bb8430a2c8fe2b726033017daadf73c69b0348ea",
        "4600d7c493f354a3e338a35bcf8a3bfbe815776a",
        "4882720b267b7b1d1b0ce08334b205f0329d4615"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 20:40:24 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 31 20:40:24 2010 -0400"
      },
      "message": "Merge branches \u0027irq-core-for-linus\u0027 and \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Fix up irq_node() for irq_data changes.\n  genirq: Add single IRQ reservation helper\n  genirq: Warn if enable_irq is called before irq is set up\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  semaphore: Remove mutex emulation\n  staging: Final semaphore cleanup\n  jbd2: Convert jbd2_slab_create_sem to mutex\n  hpfs: Convert sbi-\u003ehpfs_creation_de to mutex\n\nFix up trivial change/delete conflicts with deleted \u0027dream\u0027 drivers\n(drivers/staging/dream/camera/{mt9d112.c,mt9p012_fox.c,mt9t013.c,s5k3e2fx.c})\n"
    },
    {
      "commit": "f02a38d86a14b6e544e218d806ffb0442785f62b",
      "tree": "84aace4aaf4b018c48f25ec2831888354baae16c",
      "parents": [
        "925d169f5b86fe57e2f5264ea574cce9a89b719d",
        "169ed55bd30305b933f52bfab32a58671d44ab68",
        "7b79462a20826a7269322113c68ca78d5f67c0bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 11:43:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 30 11:43:26 2010 -0700"
      },
      "message": "Merge branches \u0027perf-fixes-for-linus\u0027 and \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  jump label: Add work around to i386 gcc asm goto bug\n  x86, ftrace: Use safe noops, drop trap test\n  jump_label: Fix unaligned traps on sparc.\n  jump label: Make arch_jump_label_text_poke_early() optional\n  jump label: Fix error with preempt disable holding mutex\n  oprofile: Remove deprecated use of flush_scheduled_work()\n  oprofile: Fix the hang while taking the cpu offline\n  jump label: Fix deadlock b/w jump_label_mutex vs. text_mutex\n  jump label: Fix module __init section race\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Check irq_remapped instead of remapping_enabled in destroy_irq()\n"
    },
    {
      "commit": "120a795da07c9a02221ca23464c28a7c6ad7de1d",
      "tree": "14e0f5ab35e9397f4a1b2f5e24b8394a601aa409",
      "parents": [
        "af2951325bd6c26cb2c91943c7b11aed53504056"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 02:54:44 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 08:45:43 2010 -0400"
      },
      "message": "audit mmap\n\nNormal syscall audit doesn\u0027t catch 5th argument of syscall.  It also\ndoesn\u0027t catch the contents of userland structures pointed to be\nsyscall argument, so for both old and new mmap(2) ABI it doesn\u0027t\nrecord the descriptor we are mapping.  For old one it also misses\nflags.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ab263f47c9781a644de8b28013434b645082922e",
      "tree": "bae72a448f5d5f37fb5c762a4c336fe731523dfd",
      "parents": [
        "207032051a5ed38df332729ba42e98e9a1e60434"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 14:19:41 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 08:45:42 2010 -0400"
      },
      "message": "audit: Use rcu for task lookup protection\n\nProtect the task lookups in audit_receive_msg() with rcu_read_lock()\ninstead of tasklist_lock and use lock/unlock_sighand to protect\nagainst the exit race.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "207032051a5ed38df332729ba42e98e9a1e60434",
      "tree": "632311aa731ce8cda33888b54816837f2d1529bd",
      "parents": [
        "3c80fe4ac9cfb13b1bfa4edf1544e8b656716694"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 14:19:35 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 08:45:42 2010 -0400"
      },
      "message": "audit: Do not send uninitialized data for AUDIT_TTY_GET\n\naudit_receive_msg() sends uninitialized data for AUDIT_TTY_GET when\nthe task was not found.\n\nSend reply only when task was found.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3c80fe4ac9cfb13b1bfa4edf1544e8b656716694",
      "tree": "c605435b642323cd76eea9567a43d8c67b9c9db1",
      "parents": [
        "f7a998a9491f2da1d3e44d150aa611d10093da4f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 14:19:31 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 08:45:25 2010 -0400"
      },
      "message": "audit: Call tty_audit_push_task() outside preempt disabled\n\nWhile auditing all tasklist_lock read_lock sites I stumbled over the\nfollowing call chain:\n\naudit_prepare_user_tty()\n  read_lock(\u0026tasklist_lock);\n  tty_audit_push_task();\n     mutex_lock(\u0026buf-\u003emutex);\n\n     --\u003e buf-\u003emutex is locked with preemption disabled.\n\nSolve this by acquiring a reference to the task struct under\nrcu_read_lock and call tty_audit_push_task outside of the preempt\ndisabled region.\n\nMove all code which needs to be protected by sighand lock into\ntty_audit_push_task() and use lock/unlock_sighand as we do not hold\ntasklist_lock.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f7a998a9491f2da1d3e44d150aa611d10093da4f",
      "tree": "5d7c32eff458aeab7bcfeafd2d27e377b1f2b970",
      "parents": [
        "b8800aa5d9c7e4e2869321c77b80f322a0d9663a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 02:18:32 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 02:18:32 2010 -0400"
      },
      "message": "in untag_chunk() we need to do alloc_chunk() a bit earlier\n\n... while we are not holding spinlocks.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b8800aa5d9c7e4e2869321c77b80f322a0d9663a",
      "tree": "27bda6447f0b2ab2eec7beafcef090da489222fa",
      "parents": [
        "d29be158a68254f58cf1fbf60ce1e89557a321aa"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Oct 20 17:23:50 2010 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 01:42:19 2010 -0400"
      },
      "message": "audit: make functions static\n\nI was doing some namespace checks and found some simple stuff in\naudit that could be cleaned up. Make some functions static, and\nput const on make_reply payload arg.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d29be158a68254f58cf1fbf60ce1e89557a321aa",
      "tree": "cd42581516bc189c2e1d83b15fad984c7001561c",
      "parents": [
        "2d10d8737ccdba752d60106abbc6ed4f37404923"
      ],
      "author": {
        "name": "Miloslav Trmac",
        "email": "mitr@redhat.com",
        "time": "Thu Sep 16 18:14:11 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 01:41:57 2010 -0400"
      },
      "message": "Audit: add support to match lsm labels on user audit messages\n\nAdd support for matching by security label (e.g. SELinux context) of\nthe sender of an user-space audit record.\n\nThe audit filter code already allows user space to configure such\nfilters, but they were ignored during evaluation.  This patch implements\nevaluation of these filters.\n\nFor example, after application of this patch, PAM authentication logs\ncaused by cron can be disabled using\n\tauditctl -a user,never -F subj_type\u003dcrond_t\n\nSigned-off-by: Miloslav Trmac \u003cmitr@redhat.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1e431a9d6478940c0b5fcfa1c17a336fc0683409",
      "tree": "ce6b454ecbad4f535b9a18ef8605f8218a409ee6",
      "parents": [
        "75d73126fd490e26a9bdfc2338ca068e71563e0b",
        "ff10b88b5a05c8f1646dd15fb9f6093c1384ff6d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 11:49:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 11:49:38 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb,ppc: Individual register get/set for ppc\n  kgdbts: prevent re-entry to kgdbts before it unregisters\n  debug_core,x86,blackfin: Clean up hw debug disable API\n  kdb: Fix early debugging crash regression\n  kgdb,arm: fix register dump\n  kdb: fix per_cpu command to remove supress mask\n  kdb: Add kdb kernel module sample\n"
    },
    {
      "commit": "d7ba979d45272385ce0fdf141d922e61ff48e07b",
      "tree": "713ffb5f2e079c6abdeb15cd4830a014df12db9b",
      "parents": [
        "578bd4dfcda63d2ef15f025f1d5d55c0e56b9660"
      ],
      "author": {
        "name": "Dongdong Deng",
        "email": "dongdong.deng@windriver.com",
        "time": "Wed Aug 18 06:02:00 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 29 13:14:41 2010 -0500"
      },
      "message": "debug_core,x86,blackfin: Clean up hw debug disable API\n\nThe kgdb_disable_hw_debug() was an architecture specific function for\ndisabling all hardware breakpoints on a per cpu basis when entering\nthe debug core.\n\nThis patch will remove the weak function kdbg_disable_hw_debug() and\nchange it into a call back which lives with the rest of hw breakpoint\ncall backs in struct kgdb_arch.\n\nSigned-off-by: Dongdong Deng \u003cdongdong.deng@windriver.com\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "578bd4dfcda63d2ef15f025f1d5d55c0e56b9660",
      "tree": "1c8e62b55dff82b64a0e4148134074cf4d8ffdae",
      "parents": [
        "834b2964b7ab047610da038e42d61dc8dac6339a"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 29 13:14:41 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 29 13:14:41 2010 -0500"
      },
      "message": "kdb: Fix early debugging crash regression\n\nThe kdb_current legally be equal to NULL in the early boot of the x86\narch.  The problem pcan be observed by booting with the kernel arguments:\n\n    earlyprintk\u003dvga ekgdboc\u003dkbd kgdbwait\n\nThe kdb shell will oops on entry and recursively fault because it\ncannot get past the final stage of shell initialization.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "931ea24819f2bd40cca2dc214558bfcc3c91549e",
      "tree": "1ae4c97345544e206879160abe69f406bc61a351",
      "parents": [
        "4aad8f51d0672f1c95e2cf0e1bc7b9ab42d8e1ea"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 29 08:04:16 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Oct 29 13:14:40 2010 -0500"
      },
      "message": "kdb: fix per_cpu command to remove supress mask\n\nRusty pointed out that the per_cpu command uses up lots of space on\nthe stack and the cpu supress mask is probably not needed.\n\nThis patch removes the need for the supress mask as well as fixing up\nthe following problems with the kdb per_cpu command:\n  * The per_cpu command should allow an address as an argument\n  * When you have more data than can be displayed on one screen allow\n    the user to break out of the print loop.\n\nReported-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "95bcd683fb694a3e2d0538bf486430a0dfbb4111",
      "tree": "c170ccfd23480b971065c3e700f64d590050fc87",
      "parents": [
        "de31c3ca8179d7c21def7ecb56e4fec0c8659d36"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Oct 29 11:02:43 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 29 12:56:13 2010 -0400"
      },
      "message": "jump label: Make arch_jump_label_text_poke_early() optional\n\nSome archs do not need to do anything special for jump labels on\nstartup (like MIPS).  This patch adds a weak function stub for\narch_jump_label_text_poke_early();\n\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: David Daney \u003cddaney@caviumnetworks.com\u003e\nSuggested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c1286218615-24011-2-git-send-email-ddaney@caviumnetworks.com\u003e\nLKML-Reference: \u003c20101015201037.703989993@goodmis.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    }
  ],
  "next": "de31c3ca8179d7c21def7ecb56e4fec0c8659d36"
}
