)]}'
{
  "log": [
    {
      "commit": "31089c13bcb18d2cd2a3ddfbe3a28666346f237e",
      "tree": "9db4868a4c524efd6f927a555e43c009a70243a5",
      "parents": [
        "4cd1993f0046fbc765dbf20af90966f5661e3789"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Fri Aug 14 15:47:18 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Aug 15 10:55:45 2009 +0200"
      },
      "message": "timekeeping: Introduce timekeeping_leap_insert\n\nMove the adjustment of xtime, wall_to_monotonic and the update of the\nvsyscall variables to the timekeeping code.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nLKML-Reference: \u003c20090814134807.609730216@de.ibm.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4cd1993f0046fbc765dbf20af90966f5661e3789",
      "tree": "8772c03b73159524183f08337b134503ddf8479e",
      "parents": [
        "97fd9ed48ce2b807edc363bef3e817aeeb5cd5e6",
        "64f1607ffbbc772685733ea63e6f7f4183df1b16"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Aug 14 15:59:00 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Aug 14 15:59:30 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into timers/core\n\nReason: Martin\u0027s timekeeping cleanup series depends on both\ntimers/core and mainline changes.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2d860ad76f4ee4d2eba0fe3797c8d7cdce432cc0",
      "tree": "928e3a162ce9bf9294afd138f5609cf3b70a747b",
      "parents": [
        "3493e84de60590d3012139187f631f2dfbf0887f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 13:05:10 2009 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Aug 13 23:09:27 2009 +0200"
      },
      "message": "genirq: prevent wakeup of freed irq thread\n\nfree_irq() can remove an irqaction while the corresponding interrupt\nis in progress, but free_irq() sets action-\u003ethread to NULL\nunconditionally, which might lead to a NULL pointer dereference in\nhandle_IRQ_event() when the hard interrupt context tries to wake up\nthe handler thread.\n\nPrevent this by moving the thread stop after synchronize_irq(). No\nneed to set action-\u003ethread to NULL either as action is going to be\nfreed anyway.\n\nThis fixes a boot crash reported against preempt-rt which uses the\nmainline irq threads code to implement full irq threading.\n\n[ tglx: removed local irqthread variable ]\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3493e84de60590d3012139187f631f2dfbf0887f",
      "tree": "c7a994c2e6f0d06b5044ea0b322e5ff0cc0b4a63",
      "parents": [
        "919aa96a9cfc5071f037bf58718e05335562a6ac",
        "94d5d1b2d891f1fd5205f978246b7864d998b25c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 12:24:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 12:24:33 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_counter: Report the cloning task as parent on perf_counter_fork()\n  perf_counter: Fix an ipi-deadlock\n  perf: Rework/fix the whole read vs group stuff\n  perf_counter: Fix swcounter context invariance\n  perf report: Don\u0027t show unresolved DSOs and symbols when -S/-d is used\n  perf tools: Add a general option to enable raw sample records\n  perf tools: Add a per tracepoint counter attribute to get raw sample\n  perf_counter: Provide hw_perf_counter_setup_online() APIs\n  perf list: Fix large list output by using the pager\n  perf_counter, x86: Fix/improve apic fallback\n  perf record: Add missing -C option support for specifying profile cpu\n  perf tools: Fix dso__new handle() to handle deleted DSOs\n  perf tools: Fix fallback to cplus_demangle() when bfd_demangle() is not available\n  perf report: Show the tid too in -D\n  perf record: Fix .tid and .pid fill-in when synthesizing events\n  perf_counter, x86: Fix generic cache events on P6-mobile CPUs\n  perf_counter, x86: Fix lapic printk message\n"
    },
    {
      "commit": "919aa96a9cfc5071f037bf58718e05335562a6ac",
      "tree": "00f55468065e2f290aa3f24bdc61654f82da9dcc",
      "parents": [
        "1c2ffff407140adf75bb72ae375688480793a228",
        "392741e0a4e17c82e3978b7fcbf04291294dc0a1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 12:09:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 13 12:09:16 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Fix handling of bad requeue syscall pairing\n  futex: Fix compat_futex to be same as futex for REQUEUE_PI\n  locking, sched: Give waitqueue spinlocks their own lockdep classes\n  futex: Update futex_q lock_ptr on requeue proxy lock\n"
    },
    {
      "commit": "94d5d1b2d891f1fd5205f978246b7864d998b25c",
      "tree": "fc0655229d5c53110a696932aadc804f8aac63e4",
      "parents": [
        "970892a9031a5dc7217bd394fb9d89fa75a4a7bc"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 13 16:14:42 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 16:17:15 2009 +0200"
      },
      "message": "perf_counter: Report the cloning task as parent on perf_counter_fork()\n\nA bug in (9f498cc: perf_counter: Full task tracing) makes\nprofiling multi-threaded apps it go belly up.\n\n[ output as: (PID:TID):(PPID:PTID) ]\n\n # ./perf report -D | grep FORK\n0x4b0 [0x18]: PERF_EVENT_FORK: (3237:3237):(3236:3236)\n0xa10 [0x18]: PERF_EVENT_FORK: (3237:3238):(3236:3236)\n0xa70 [0x18]: PERF_EVENT_FORK: (3237:3239):(3236:3236)\n0xad0 [0x18]: PERF_EVENT_FORK: (3237:3240):(3236:3236)\n0xb18 [0x18]: PERF_EVENT_FORK: (3237:3241):(3236:3236)\n\nShows us that the test (27d028d perf report: Update for the new\nFORK/EXIT events) in builtin-report.c:\n\n        /*\n         * A thread clone will have the same PID for both\n         * parent and child.\n         */\n        if (thread \u003d\u003d parent)\n                return 0;\n\nWill clearly fail.\n\nThe problem is that perf_counter_fork() reports the actual\nparent, instead of the cloning thread.\n\nFixing that (with the below patch), yields:\n\n # ./perf report -D | grep FORK\n0x4c8 [0x18]: PERF_EVENT_FORK: (1590:1590):(1589:1589)\n0xbd8 [0x18]: PERF_EVENT_FORK: (1590:1591):(1590:1590)\n0xc80 [0x18]: PERF_EVENT_FORK: (1590:1592):(1590:1590)\n0x3338 [0x18]: PERF_EVENT_FORK: (1590:1593):(1590:1590)\n0x66b0 [0x18]: PERF_EVENT_FORK: (1590:1594):(1590:1590)\n\nWhich both makes more sense and doesn\u0027t confuse perf report\nanymore.\n\nReported-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: paulus@samba.org\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nLKML-Reference: \u003c1250172882.5241.62.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "970892a9031a5dc7217bd394fb9d89fa75a4a7bc",
      "tree": "d6d5eee6d24cde67c279d5cc753512fc85cd9e5b",
      "parents": [
        "3dab77fb1bf89664bb1c9544607159dcab6f7d57"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Aug 13 11:47:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 12:58:05 2009 +0200"
      },
      "message": "perf_counter: Fix an ipi-deadlock\n\nperf_pending_counter() is called from IRQ context and will call\nperf_counter_disable(), however perf_counter_disable() uses\nsmp_call_function_single() which doesn\u0027t fancy being used with\nIRQs disabled due to IPI deadlocks.\n\nFix this by making it use the local __perf_counter_disable()\ncall and teaching the counter_sched_out() code about pending\ndisables as well.\n\nThis should cover the case where a counter migrates before the\npending queue gets processed.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey J Ashford \u003ccjashfor@us.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nLKML-Reference: \u003c20090813103655.244097721@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3dab77fb1bf89664bb1c9544607159dcab6f7d57",
      "tree": "9b0a47c53784cb066cecfd3091ac6042ce21a29e",
      "parents": [
        "bcfc2602e8541ac13b1def38e2591dca072cff7a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Aug 13 11:47:53 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 12:58:04 2009 +0200"
      },
      "message": "perf: Rework/fix the whole read vs group stuff\n\nReplace PERF_SAMPLE_GROUP with PERF_SAMPLE_READ and introduce\nPERF_FORMAT_GROUP to deal with group reads in a more generic\nway.\n\nThis allows you to get group reads out of read() as well.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey J Ashford \u003ccjashfor@us.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nLKML-Reference: \u003c20090813103655.117411814@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bcfc2602e8541ac13b1def38e2591dca072cff7a",
      "tree": "0e5601dac2fbc4ca1ff452cebd1adb345b710599",
      "parents": [
        "8fd101f20bdf771949a8f3a5a779877d09b2fb56"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 13 09:51:55 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 12:18:43 2009 +0200"
      },
      "message": "perf_counter: Fix swcounter context invariance\n\nperf_swcounter_is_counting() uses a lock, which means we cannot\nuse swcounters from NMI or when holding that particular lock,\nthis is unintended.\n\nThe below removes the lock, this opens up race window, but not\nworse than the swcounters already experience due to RCU\ntraversal of the context in perf_swcounter_ctx_event().\n\nThis also fixes the hard lockups while opening a lockdep\ntracepoint counter.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Corey J Ashford \u003ccjashfor@us.ibm.com\u003e\nLKML-Reference: \u003c1250149915.10001.66.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "28402971d869e26271b25301011f667d3a5640c3",
      "tree": "39fe9451f609c3ad47382595c61db855ee5dc49d",
      "parents": [
        "8f7a0dc51674ad0dd06155291b0aed60d655943c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 10:13:22 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 13 10:13:22 2009 +0200"
      },
      "message": "perf_counter: Provide hw_perf_counter_setup_online() APIs\n\nProvide weak aliases for hw_perf_counter_setup_online(). This is\nused by the BTS patches (for v2.6.32), but it interacts with\nfixes so propagate this upstream. (it has no effect as of yet)\n\nAlso export perf_counter_output() to architecture code.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "39cbb602b543e477df71dca84b5b2e36f8bd29fc",
      "tree": "70639084b6a04ce428cecbaa5fa30c2d71d5ff33",
      "parents": [
        "7cb7beb31aa3d941833b6a6e553687422c31e4b6"
      ],
      "author": {
        "name": "Alan D. Brunelle",
        "email": "alan.brunelle@hp.com",
        "time": "Fri Aug 07 12:01:08 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Aug 12 18:50:08 2009 +0200"
      },
      "message": "Remove double removal of blktrace directory\n\ncommit fd51d251e4cdb21f68e9dbc4336514d64a105a79\nAuthor: Stefan Raspl \u003craspl@linux.vnet.ibm.com\u003e\nDate:   Tue May 19 09:59:08 2009 +0200\n\n    blktrace: remove debugfs entries on bad path\n\nadded in an explicit invocation of debugfs_remove for bt-\u003edir, in\nblk_remove_buf_file_callback we are also getting the directory removed. On\noccasion I am seeing memory corruption that I have bisected down to\nthis commit. [The testing involves a (long) series of I/O benchmarks\nwith blktrace invoked around the actual runs.] I believe that this\ncommitted patch is correct, but the problem actually lies in the code\nin blk_remove_buf_file_callback.\n\nWith this patch I am able to consistently get complete runs whereas\npreviously I could not get a single run to complete.\n\nThe first part of the patch simply moves the debugfs_remove below the\nrelay_close: the relay_close call will remove files under bt-\u003edir, and\nso we should not remove the directory until all the files we created\nhave been removed. (Note: This is not sufficient to fix the problem -\nthe file system code has ref counts on the directoy, so our invocation\ndoes not cause the directory to actually be removed. Nonetheless, we\nshould not rely upon that feature.)\n\nSigned-off-by: Alan D. Brunelle \u003calan.brunelle@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d00aa6695b67a31be2ce5f7464da32c20cb50699",
      "tree": "4e4a2bbd1ab710ddca3bd1a611a6c3e9a00f52f9",
      "parents": [
        "cec36911b5fa4ac342f6de856b12a9f71f84e6e5",
        "1853db0e02ae4088f102b0d8e59e83dc98f93f03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 10 11:48:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 10 11:48:51 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)\n  perf_counter: Zero dead bytes from ftrace raw samples size alignment\n  perf_counter: Subtract the buffer size field from the event record size\n  perf_counter: Require CAP_SYS_ADMIN for raw tracepoint data\n  perf_counter: Correct PERF_SAMPLE_RAW output\n  perf tools: callchain: Fix bad rounding of minimum rate\n  perf_counter tools: Fix libbfd detection for systems with libz dependency\n  perf: \"Longum est iter per praecepta, breve et efficax per exempla\"\n  perf_counter: Fix a race on perf_counter_ctx\n  perf_counter: Fix tracepoint sampling to be part of generic sampling\n  perf_counter: Work around gcc warning by initializing tracepoint record unconditionally\n  perf tools: callchain: Fix sum of percentages to be 100% by displaying amount of ignored chains in fractal mode\n  perf tools: callchain: Fix \u0027perf report\u0027 display to be callchain by default\n  perf tools: callchain: Fix spurious \u0027perf report\u0027 warnings: ignore empty callchains\n  perf record: Fix the -A UI for empty or non-existent perf.data\n  perf util: Fix do_read() to fail on EOF instead of busy-looping\n  perf list: Fix the output to not include tracepoints without an id\n  perf_counter/powerpc: Fix oops on cpus without perf_counter hardware support\n  perf stat: Fix tool option consistency: rename -S/--scale to -c/--scale\n  perf report: Add debug help for the finding of symbol bugs - show the symtab origin (DSO, build-id, kernel, etc)\n  perf report: Fix per task mult-counter stat reporting\n  ...\n"
    },
    {
      "commit": "392741e0a4e17c82e3978b7fcbf04291294dc0a1",
      "tree": "c58437276d5eae05c46b3739d9bece01e357e6e2",
      "parents": [
        "4dc88029fd916b860ef063c40180aa604ce93494"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Fri Aug 07 15:20:48 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 20:38:11 2009 +0200"
      },
      "message": "futex: Fix handling of bad requeue syscall pairing\n\nIf futex_requeue(requeue_pi\u003d1) finds a futex_q that was created by a call\nother the futex_wait_requeue_pi(), the q.rt_waiter may be null.  If so,\nthis will result in an oops from the following call graph:\n\nfutex_requeue()\n  rt_mutex_start_proxy_lock()\n    task_blocks_on_rt_mutex()\n      waiter-\u003etask dereference\n        OOPS\n\nWe currently WARN_ON() if this is detected, clearly this is inadequate.\nIf we detect a mispairing in futex_requeue(), bail out, seding -EINVAL to\nuser-space.\n\nV2: Fix parenthesis warnings.\n\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nCc: John Stultz \u003cjohnstul@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c4A7CA8C0.7010809@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cec36911b5fa4ac342f6de856b12a9f71f84e6e5",
      "tree": "329f88e132e35a9be143f7bc5562ffd12690dffe",
      "parents": [
        "a3263969b02260f8733940f580c7af1c716d38ad",
        "ad7d6c7a0654a4bbda3e109f56af713267e96274"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 10 11:21:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 10 11:21:13 2009 -0700"
      },
      "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  x86/irq: Fix move_irq_desc() for nodes without ram\n"
    },
    {
      "commit": "4dc88029fd916b860ef063c40180aa604ce93494",
      "tree": "0c81f4012d0dda7238a137465f12a3e9e685f7b0",
      "parents": [
        "2fc391112fb6f3424435a3aa2fda887497b5f807"
      ],
      "author": {
        "name": "Dinakar Guniguntala",
        "email": "dino@in.ibm.com",
        "time": "Mon Aug 10 18:31:42 2009 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 15:41:12 2009 +0200"
      },
      "message": "futex: Fix compat_futex to be same as futex for REQUEUE_PI\n\nNeed to add the REQUEUE_PI checks to the compat_sys_futex API\nas well to ensure 32 bit requeue\u0027s work fine on a 64 bit\nsystem. Patch is against latest tip\n\nSigned-off-by: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nCc: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nLKML-Reference: \u003c20090810130142.GA23619@in.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2fc391112fb6f3424435a3aa2fda887497b5f807",
      "tree": "89cda7002d591807536dca68b6344a558b081428",
      "parents": [
        "beda2c7ea2c15ed01eef00a997d2b0496c3a502d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Aug 10 12:33:05 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 14:43:09 2009 +0200"
      },
      "message": "locking, sched: Give waitqueue spinlocks their own lockdep classes\n\nGive waitqueue spinlocks their own lockdep classes when they\nare initialised from init_waitqueue_head().  This means that\nstruct wait_queue::func functions can operate other waitqueues.\n\nThis is used by CacheFiles to catch the page from a backing fs\nbeing unlocked and to wake up another thread to take a copy of\nit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: linux-cachefs@redhat.com\nCc: torvalds@osdl.org\nCc: akpm@linux-foundation.org\nLKML-Reference: \u003c20090810113305.17284.81508.stgit@warthog.procyon.org.uk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4e95fc2cbb31d70a65beffeaf8773f881328c34",
      "tree": "c0a00094c9c38bad5e09fd19fe23521c361177d7",
      "parents": [
        "a044560c3a1f0ad75ce685c1ed7604820b9ed319"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 10 11:20:12 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 11:33:09 2009 +0200"
      },
      "message": "perf_counter: Require CAP_SYS_ADMIN for raw tracepoint data\n\nRaw tracepoint data contains various kernel internals and\ndata from other users, so restrict this to CAP_SYS_ADMIN.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249896452.17467.75.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a044560c3a1f0ad75ce685c1ed7604820b9ed319",
      "tree": "51fa4979ad02d388b35e1a56020bfbd8c2e5329d",
      "parents": [
        "c0a8865e32c8d1a562db38e06ef31ef23282f646"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 10 11:16:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 11:33:09 2009 +0200"
      },
      "message": "perf_counter: Correct PERF_SAMPLE_RAW output\n\nPERF_SAMPLE_* output switches should unconditionally output the\ncorrect format, as they are the only way to unambiguously parse\nthe PERF_EVENT_SAMPLE data.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249896447.17467.74.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "beda2c7ea2c15ed01eef00a997d2b0496c3a502d",
      "tree": "17a6849721e2cee1165e7cb95e01718c1120a442",
      "parents": [
        "f4b9a988685da6386d7f9a72df3098bcc3270526"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Sun Aug 09 15:34:39 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 10 11:07:03 2009 +0200"
      },
      "message": "futex: Update futex_q lock_ptr on requeue proxy lock\n\nfutex_requeue() can acquire the lock on behalf of a waiter\nearly on or during the requeue loop if it is uncontended or in\nthe event of a lock steal or owner died. On wakeup, the waiter\n(in futex_wait_requeue_pi()) cleans up the pi_state owner using\nthe lock_ptr to protect against concurrent access to the\npi_state. The pi_state is hung off futex_q\u0027s on the requeue\ntarget futex hash bucket so the lock_ptr needs to be updated\naccordingly.\n\nThe problem manifested by triggering the WARN_ON in\nlookup_pi_state() about the pid !\u003d pi_state-\u003eowner-\u003epid.  With\nthis patch, the pi_state is properly guarded against concurrent\naccess via the requeue target hb lock.\n\nThe astute reviewer may notice that there is a window of time\nbetween when futex_requeue() unlocks the hb locks and when\nfutex_wait_requeue_pi() will acquire hb2-\u003elock.  During this\ntime the pi_state and uval are not in sync with the underlying\nrtmutex owner (but the uval does indicate there are waiters, so\nno atomic changes will occur in userspace).  However, this is\nnot a problem. Should a contending thread enter\nlookup_pi_state() and acquire hb2-\u003elock before the ownership is\nfixed up, it will find the pi_state hung off a waiter\u0027s\n(possibly the pending owner\u0027s) futex_q and block on the\nrtmutex.  Once futex_wait_requeue_pi() fixes up the owner, it\nwill also move the pi_state from the old owner\u0027s\ntask-\u003epi_state_list to its own.\n\nv3: Fix plist lock name for application to mainline (rather\n    than -rt) Compile tested against tip/v2.6.31-rc5.\n\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nCc: John Stultz \u003cjohnstul@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c4A7F4EFF.6090903@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e9b11afdbfe17a9cc6356076179b7ea11972607",
      "tree": "d76b83fec78abd1106c645ae705a5815561e8a34",
      "parents": [
        "95d0ad049cd6937634c0a75f9518f5166daabfce",
        "17d42c1c497aa54952b9e58c1502a46f0df40315"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 09 14:57:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 09 14:57:41 2009 -0700"
      },
      "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_exit_group(): Do not use thread_group_cputimer()\n"
    },
    {
      "commit": "95d0ad049cd6937634c0a75f9518f5166daabfce",
      "tree": "ace9d7edcda7cf8400dce293ca26a5599cd81720",
      "parents": [
        "413dd8768ada25adbf53284696b71de7e7844969",
        "f413cdb80ce00ec1a4d0ab949b5d96c81cae7f75"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 09 14:57:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 09 14:57:26 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_counter: Fix/complete ftrace event records sampling\n  perf_counter, ftrace: Fix perf_counter integration\n  tracing/filters: Always free pred on filter_add_subsystem_pred() failure\n  tracing/filters: Don\u0027t use pred on alloc failure\n  ring-buffer: Fix memleak in ring_buffer_free()\n  tracing: Fix recordmcount.pl to handle sections with only weak functions\n  ring-buffer: Fix advance of reader in rb_buffer_peek()\n  tracing: do not use functions starting with .L in recordmcount.pl\n  ring-buffer: do not disable ring buffer on oops_in_progress\n  ring-buffer: fix check of try_to_discard result\n"
    },
    {
      "commit": "713e3e1875749f341247a0c922e6ddd38fbd991c",
      "tree": "0419bf8fbb3bf28a275d196bcdcb0d00cf773986",
      "parents": [
        "7b2aa037e878c939676675969983284a02958ae3",
        "0e692a94e378628b7d527260ad939894454bcca8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 09 14:56:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 09 14:56:51 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: Fix typos in documentation\n  lockdep: Fix file mode of lock_stat\n  rtmutex: Avoid deadlock in rt_mutex_start_proxy_lock()\n"
    },
    {
      "commit": "3a80b4a3539696f4b0574876326860323035a302",
      "tree": "9d2901259a2b25b181997f89495452fd7f06827b",
      "parents": [
        "3a43ce68ae1758fa6a839386025ef45acb6baa22"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 07 19:49:01 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:54:46 2009 +0200"
      },
      "message": "perf_counter: Fix a race on perf_counter_ctx\n\nWhile extending perfcounters with BTS hw-tracing, Markus\nMetzger managed to trigger this warning:\n\n   [  995.557128] WARNING: at kernel/perf_counter.c:1191 __perf_counter_task_sched_out+0x48/0x6b()\n\ntriggers because commit\n9f498cc5be7e013d8d6e4c616980ed0ffc8680d2 (perf_counter: Full\ntask tracing) removed clearing of tsk-\u003eperf_counter_ctxp out\nfrom under ctx-\u003elock which introduced a race (against\nperf_lock_task_context).\n\nMove it back and deal with the exit notification by explicitly\npassing along the former task context.\n\nReported-by: Markus T Metzger \u003cmarkus.t.metzger@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249667341.17467.5.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a43ce68ae1758fa6a839386025ef45acb6baa22",
      "tree": "5431e80f427ac6312dc123ecfdb101ea71b3d364",
      "parents": [
        "10b8e3066066708f304e0fc5cfe658e05abf943d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Aug 08 04:26:37 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:54:45 2009 +0200"
      },
      "message": "perf_counter: Fix tracepoint sampling to be part of generic sampling\n\nBased on Peter\u0027s comments, make tracepoint sampling generic\njust like all the other sampling bits are. This is a rename\nwith no code changes:\n\n- PERF_SAMPLE_TP_RECORD to PERF_SAMPLE_RAW\n- struct perf_tracepoint_record to perf_raw_record\n\nWe want the system in place that transport tracepoints raw\nsamples events into the perf ring buffer to be generalized and\nusable by any type of counter.\n\nReported-by; Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249698400-5441-4-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "10b8e3066066708f304e0fc5cfe658e05abf943d",
      "tree": "1ccebafe8ae44f6f032f993c63eb58a6c2aadea4",
      "parents": [
        "25446036cbfc2c89faacdb4fb4603943d2197dc6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Aug 08 04:26:35 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:54:44 2009 +0200"
      },
      "message": "perf_counter: Work around gcc warning by initializing tracepoint record unconditionally\n\nDespite that the tracepoint record is always present when the\nPERF_SAMPLE_TP_RECORD flag is set, gcc raises a warning,\nthinking it might not be initialized:\n\n  kernel/perf_counter.c: In function ‘perf_counter_output’:\n  kernel/perf_counter.c:2650: warning: ‘tp’ may be used uninitialized in this function\n\nThen, initialize it to NULL and always check if it\u0027s not NULL\nbefore dereference it.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1249698400-5441-2-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7b4b6658e152ed4568cfff48175d93645df081d1",
      "tree": "663ff8dc6b7b11fcfbfaf6e24e146e2e29b3489c",
      "parents": [
        "46ab976443c6c566c8fe6fc72a6733a55ba9fbea"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 09:29:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:54:30 2009 +0200"
      },
      "message": "perf_counter: Fix software counters for fast moving event sources\n\nReimplement the software counters to deal with fast moving\nevent sources (such as tracepoints). This means being able\nto generate multiple overflows from a single \u0027event\u0027 as well\nas support throttling.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f413cdb80ce00ec1a4d0ab949b5d96c81cae7f75",
      "tree": "08a9621cb1318f73a37faeed14c4e728408551ad",
      "parents": [
        "3a6593050fbd8bbcaed3a44d01c31d907315c86c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Aug 07 01:25:54 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:53:48 2009 +0200"
      },
      "message": "perf_counter: Fix/complete ftrace event records sampling\n\nThis patch implements the kernel side support for ftrace event\nrecord sampling.\n\nA new counter sampling attribute is added:\n\n   PERF_SAMPLE_TP_RECORD\n\nwhich requests ftrace events record sampling. In this case\nif a PERF_TYPE_TRACEPOINT counter is active and a tracepoint\nfires, we emit the tracepoint binary record to the\nperfcounter event buffer, as a sample.\n\nResult, after setting PERF_SAMPLE_TP_RECORD attribute from perf\nrecord:\n\n perf record -f -F 1 -a -e workqueue:workqueue_execution\n perf report -D\n\n 0x21e18 [0x48]: event: 9\n .\n . ... raw event: size 72 bytes\n .  0000:  09 00 00 00 01 00 48 00 d0 c7 00 81 ff ff ff ff  ......H........\n .  0010:  0a 00 00 00 0a 00 00 00 21 00 00 00 00 00 00 00  ........!......\n .  0020:  2b 00 01 02 0a 00 00 00 0a 00 00 00 65 76 65 6e  +...........eve\n .  0030:  74 73 2f 31 00 00 00 00 00 00 00 00 0a 00 00 00  ts/1...........\n .  0040:  e0 b1 31 81 ff ff ff ff                          .......\n.\n0x21e18 [0x48]: PERF_EVENT_SAMPLE (IP, 1): 10: 0xffffffff8100c7d0 period: 33\n\nThe raw ftrace binary record starts at offset 0020.\n\nTranslation:\n\n struct trace_entry {\n\ttype\t\t\u003d 0x2b \u003d 43;\n\tflags\t\t\u003d 1;\n\tpreempt_count\t\u003d 2;\n\tpid\t\t\u003d 0xa \u003d 10;\n\ttgid\t\t\u003d 0xa \u003d 10;\n }\n\n thread_comm \u003d \"events/1\"\n thread_pid  \u003d 0xa \u003d 10;\n func\t    \u003d 0xffffffff8131b1e0 \u003d flush_to_ldisc()\n\nWhat will come next?\n\n - Userspace support (\u0027perf trace\u0027), \u0027flight data recorder\u0027 mode\n   for perf trace, etc.\n\n - The unconditional copy from the profiling callback brings\n   some costs however if someone wants no such sampling to\n   occur, and needs to be fixed in the future. For that we need\n   to have an instant access to the perf counter attribute.\n   This is a matter of a flag to add in the struct ftrace_event.\n\n - Take care of the events recursivity! Don\u0027t ever try to record\n   a lock event for example, it seems some locking is used in\n   the profiling fast path and lead to a tracing recursivity.\n   That will be fixed using raw spinlock or recursivity\n   protection.\n\n - [...]\n\n - Profit! :-)\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a6593050fbd8bbcaed3a44d01c31d907315c86c",
      "tree": "5bbaa0015ed0b0986146cc6fa9390f559bcb66b1",
      "parents": [
        "e3560336be655c6791316482fe288b119f34c427"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 21 17:34:57 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:47:25 2009 +0200"
      },
      "message": "perf_counter, ftrace: Fix perf_counter integration\n\nAdds possible second part to the assign argument of TP_EVENT().\n\n  TP_perf_assign(\n\t__perf_count(foo);\n\t__perf_addr(bar);\n  )\n\nWhich, when specified make the swcounter increment with @foo instead\nof the usual 1, and report @bar for PERF_SAMPLE_ADDR (data address\nassociated with the event) when this triggers a counter overflow.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e3560336be655c6791316482fe288b119f34c427",
      "tree": "43ca9a6b489aaa3918b773f78a7eda37458ef0a8",
      "parents": [
        "26528e773ecc74fb1b61b7275f86f761cbb340ec",
        "7b2aa037e878c939676675969983284a02958ae3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:46:45 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 09 12:46:49 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/urgent\n\nMerge reason: Merge up to almost-rc6 to pick up latest perfcounters\n              (on which we\u0027ll queue up a dependent fix)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "17d42c1c497aa54952b9e58c1502a46f0df40315",
      "tree": "0aefce76ad5dca93c9ca5d9261c77e2b4a0c8967",
      "parents": [
        "7b2aa037e878c939676675969983284a02958ae3"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Thu Aug 06 16:03:30 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 08 18:30:25 2009 +0200"
      },
      "message": "posix_cpu_timers_exit_group(): Do not use thread_group_cputimer()\n\nWhen the process exits we don\u0027t have to run new cputimer nor\nuse running one (as it not accounts when tsk-\u003eexit_state !\u003d 0)\nto get process CPU times.  As there is only one thread we can\njust use CPU times fields from task and signal structs.\n\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Vitaly Mayatskikh \u003cvmayatsk@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26528e773ecc74fb1b61b7275f86f761cbb340ec",
      "tree": "e3892e1c58783cc022517dab31b1e18179cb930b",
      "parents": [
        "96b2de313b1e0e02aea80ee47df6a2b5cbdf8e13"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Sat Aug 08 10:49:53 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 08 17:56:13 2009 +0200"
      },
      "message": "tracing/filters: Always free pred on filter_add_subsystem_pred() failure\n\nIf filter_add_subsystem_pred() fails due to ENOSPC or ENOMEM,\nthe pred doesn\u0027t get freed, while as a side effect it does for\nother errors. Make it so the caller always frees the pred for\nany error.\n\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1249746593.6453.32.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96b2de313b1e0e02aea80ee47df6a2b5cbdf8e13",
      "tree": "f6d1a22d6ab587d346f642fe89db9d75401da57b",
      "parents": [
        "bd3f02212d6a457267e0c9c02c426151c436d9d4"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "tzanussi@gmail.com",
        "time": "Sat Aug 08 10:49:09 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 08 17:55:34 2009 +0200"
      },
      "message": "tracing/filters: Don\u0027t use pred on alloc failure\n\nDan Carpenter sent me a fix to prevent pred from being used if\nit couldn\u0027t be allocated.  I noticed the same problem also\nexisted for the create_pred() case and added a fix for that.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c1249746549.6453.29.camel@tropicana\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ad7d6c7a0654a4bbda3e109f56af713267e96274",
      "tree": "4090be64f42e9c721a797d6798611ad9c07d2a2e",
      "parents": [
        "7b2aa037e878c939676675969983284a02958ae3"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Aug 04 09:01:33 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 08 17:06:03 2009 +0200"
      },
      "message": "x86/irq: Fix move_irq_desc() for nodes without ram\n\nDon\u0027t move it if target node is -1.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c4A785B5D.4070702@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "da758ddede96dd850945d3417ff75209a666ba0d",
      "tree": "f8da615ef68c9311b87af8fed6a7b717d7e5564d",
      "parents": [
        "389623fef0e8b088f293c437d3b7094fe82349fd",
        "1054598cab8674438675085fae459e960eb10799"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:43:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:43:07 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_counter: Fix double list iteration in per task precise stats\n  perf: Auto-detect libelf\n  perf symbol: Fix symbol parsing in certain cases: use the build-id as a symlink\n  perf_counter/powerpc: Check oprofile_cpu_type for NULL before using it\n  ftrace: Fix perf-tracepoint OOPS\n  perf report: Add missing command line options to man page\n  perf: Auto-detect libbfd\n  perf report: Make --sort comm,dso,symbol the default\n"
    },
    {
      "commit": "9c8a8228d0827e0d91d28527209988f672f97d28",
      "tree": "795b72cfb89abe8bfae1c51dd329e0d6c2ed754f",
      "parents": [
        "2198a64a7487aba036f71998ade8a6528070d32c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Aug 06 15:09:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:39:56 2009 -0700"
      },
      "message": "execve: must clear current-\u003eclear_child_tid\n\nWhile looking at Jens Rosenboom bug report\n(http://lkml.org/lkml/2009/7/27/35) about strange sys_futex call done from\na dying \"ps\" program, we found following problem.\n\nclone() syscall has special support for TID of created threads.  This\nsupport includes two features.\n\nOne (CLONE_CHILD_SETTID) is to set an integer into user memory with the\nTID value.\n\nOne (CLONE_CHILD_CLEARTID) is to clear this same integer once the created\nthread dies.\n\nThe integer location is a user provided pointer, provided at clone()\ntime.\n\nkernel keeps this pointer value into current-\u003eclear_child_tid.\n\nAt execve() time, we should make sure kernel doesnt keep this user\nprovided pointer, as full user memory is replaced by a new one.\n\nAs glibc fork() actually uses clone() syscall with CLONE_CHILD_SETTID and\nCLONE_CHILD_CLEARTID set, chances are high that we might corrupt user\nmemory in forked processes.\n\nFollowing sequence could happen:\n\n1) bash (or any program) starts a new process, by a fork() call that\n   glibc maps to a clone( ...  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID\n   ...) syscall\n\n2) When new process starts, its current-\u003eclear_child_tid is set to a\n   location that has a meaning only in bash (or initial program) context\n   (\u0026THREAD_SELF-\u003etid)\n\n3) This new process does the execve() syscall to start a new program.\n   current-\u003eclear_child_tid is left unchanged (a non NULL value)\n\n4) If this new program creates some threads, and initial thread exits,\n   kernel will attempt to clear the integer pointed by\n   current-\u003eclear_child_tid from mm_release() :\n\n        if (tsk-\u003eclear_child_tid\n            \u0026\u0026 !(tsk-\u003eflags \u0026 PF_SIGNALED)\n            \u0026\u0026 atomic_read(\u0026mm-\u003emm_users) \u003e 1) {\n                u32 __user * tidptr \u003d tsk-\u003eclear_child_tid;\n                tsk-\u003eclear_child_tid \u003d NULL;\n\n                /*\n                 * We don\u0027t check the error code - if userspace has\n                 * not set up a proper pointer then tough luck.\n                 */\n\u003c\u003c here \u003e\u003e      put_user(0, tidptr);\n                sys_futex(tidptr, FUTEX_WAKE, 1, NULL, NULL, 0);\n        }\n\n5) OR : if new program is not multi-threaded, but spied by /proc/pid\n   users (ps command for example), mm_users \u003e 1, and the exiting program\n   could corrupt 4 bytes in a persistent memory area (shm or memory mapped\n   file)\n\nIf current-\u003eclear_child_tid points to a writeable portion of memory of the\nnew program, kernel happily and silently corrupts 4 bytes of memory, with\nunexpected effects.\n\nFix is straightforward and should not break any sane program.\n\nReported-by: Jens Rosenboom \u003cjens@mcbone.net\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Sonny Rao \u003csonnyrao@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.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": "69dd647f969c28d18de77e2153f30d05a1874571",
      "tree": "7328f31d84b567e7f5648d35b5c535f9223e368a",
      "parents": [
        "2020002a878403a6858868d85a43623f74859dba"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Aug 06 15:07:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 07 10:39:55 2009 -0700"
      },
      "message": "generic-ipi: fix hotplug_cfd()\n\nUse CONFIG_HOTPLUG_CPU, not CONFIG_CPU_HOTPLUG\n\nWhen hot-unpluging a cpu, it will leak memory allocated at cpu hotplug,\nbut only if CPUMASK_OFFSTACK\u003dy, which is default to n.\n\nThe bug was introduced by 8969a5ede0f9e17da4b943712429aef2c9bcd82b\n(\"generic-ipi: remove kmalloc()\").\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\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": "bd3f02212d6a457267e0c9c02c426151c436d9d4",
      "tree": "eb96e54b958c0d8202e2a3c65ada5399c387f9c0",
      "parents": [
        "7dbdee2e9a2ac42ea5135801bcc9d1a8e3f672aa"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Aug 07 12:49:29 2009 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Aug 07 12:46:39 2009 -0400"
      },
      "message": "ring-buffer: Fix memleak in ring_buffer_free()\n\nI noticed oprofile memleaked in linux-2.6 current tree,\nand tracked this ring-buffer leak.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nLKML-Reference: \u003c4A7C06B9.2090302@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9795447f71324d8f14c19ed68b43c883135c3f59",
      "tree": "07bec75b0e0b90d1e9bc4395f13b8a08edae1a97",
      "parents": [
        "1bbf20835c4e088667a090ce6523a0f70b62dc76"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Aug 07 16:37:10 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 07 11:58:38 2009 +0200"
      },
      "message": "lockdep: Fix file mode of lock_stat\n\n/proc/lock_stat is writable.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c4A7BE7B6.10904@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1054598cab8674438675085fae459e960eb10799",
      "tree": "9dcf2c60080e8275bded902f7a08ebcd8140dfcc",
      "parents": [
        "9424edc2da097c8589fcc24a72552d33e54be161"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Aug 06 18:06:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 06 20:25:18 2009 +0200"
      },
      "message": "perf_counter: Fix double list iteration in per task precise stats\n\nBrice Goglin reported this crash with per task precise stats:\n\n\u003e I finally managed to test the threaded perfcounter statistics (thanks a\n\u003e lot for implementing it). I am running 2.6.31-rc5 (with the AMD\n\u003e magny-cours patches but I don\u0027t think they matter here). I am trying to\n\u003e measure local/remote memory accesses per thread during the well-known\n\u003e stream benchmark. It\u0027s compiled with OpenMP using 16 threads on a\n\u003e quad-socket quad-core barcelona machine.\n\u003e\n\u003e Command line is:\n\u003e  /mnt/scratch/bgoglin/cpunode/linux-2.6.31/tools/perf/perf record -f -s\n\u003e -e r1000001e0 -e r1000002e0 -e r1000004e0 -e r1000008e0 ./stream\n\u003e\n\u003e It seems to work fine with a single -e \u003ccounter\u003e on the command line\n\u003e while it crashes when there are at least 2 of them.\n\u003e It seems to work fine without -s as well.\n\nA silly copy-paste resulted in a messed up iteration which would\ncause the OOPS.\n\nReported-by: Brice Goglin \u003cBrice.Goglin@inria.fr\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Brice Goglin \u003cBrice.Goglin@inria.fr\u003e\nLKML-Reference: \u003c1249574786.32113.550.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "469535a598f28c13a2a42037e1b778f671af1d16",
      "tree": "907a3434e87bdab3f37f3c965a230af7af9bdb30",
      "parents": [
        "3f6e968ef4e1d8d93d8a8505461b0e50a9e97ad8"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Jul 30 19:19:18 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 06 14:20:25 2009 +0200"
      },
      "message": "ring-buffer: Fix advance of reader in rb_buffer_peek()\n\nWhen calling rb_buffer_peek() from ring_buffer_consume() and a\npadding event is returned, the function rb_advance_reader() is\ncalled twice. This may lead to missing samples or under high\nworkloads to the warning below. This patch fixes this. If a padding\nevent is returned by rb_buffer_peek() it will be consumed by the\ncalling function now.\n\nAlso, I simplified some code in ring_buffer_consume().\n\n------------[ cut here ]------------\nWARNING: at /dev/shm/.source/linux/kernel/trace/ring_buffer.c:2289 rb_advance_reader+0x2e/0xc5()\nHardware name: Anaheim\nModules linked in:\nPid: 29, comm: events/2 Tainted: G        W  2.6.31-rc3-oprofile-x86_64-standard-00059-g5050dc2 #1\nCall Trace:\n[\u003cffffffff8106776f\u003e] ? rb_advance_reader+0x2e/0xc5\n[\u003cffffffff81039ffe\u003e] warn_slowpath_common+0x77/0x8f\n[\u003cffffffff8103a025\u003e] warn_slowpath_null+0xf/0x11\n[\u003cffffffff8106776f\u003e] rb_advance_reader+0x2e/0xc5\n[\u003cffffffff81068bda\u003e] ring_buffer_consume+0xa0/0xd2\n[\u003cffffffff81326933\u003e] op_cpu_buffer_read_entry+0x21/0x9e\n[\u003cffffffff810be3af\u003e] ? __find_get_block+0x4b/0x165\n[\u003cffffffff8132749b\u003e] sync_buffer+0xa5/0x401\n[\u003cffffffff810be3af\u003e] ? __find_get_block+0x4b/0x165\n[\u003cffffffff81326c1b\u003e] ? wq_sync_buffer+0x0/0x78\n[\u003cffffffff81326c76\u003e] wq_sync_buffer+0x5b/0x78\n[\u003cffffffff8104aa30\u003e] worker_thread+0x113/0x1ac\n[\u003cffffffff8104dd95\u003e] ? autoremove_wake_function+0x0/0x38\n[\u003cffffffff8104a91d\u003e] ? worker_thread+0x0/0x1ac\n[\u003cffffffff8104dc9a\u003e] kthread+0x88/0x92\n[\u003cffffffff8100bdba\u003e] child_rip+0xa/0x20\n[\u003cffffffff8104dc12\u003e] ? kthread+0x0/0x92\n[\u003cffffffff8100bdb0\u003e] ? child_rip+0x0/0x20\n---[ end trace f561c0a58fcc89bd ]---\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af6af30c0fcd77e621638e53ef8b176bca8bd3b4",
      "tree": "fde3faf7cc117e208dd033eee707dbd9de5f912e",
      "parents": [
        "386c0b702b1ea81c0f54f5c9832a3d4a52270f14"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Aug 05 20:41:04 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 06 06:26:09 2009 +0200"
      },
      "message": "ftrace: Fix perf-tracepoint OOPS\n\nNot all tracepoints are created equal, in specific the ftrace\ntracepoints are created with TRACE_EVENT_FORMAT() which does\nnot generate the needed bits to tie them into perf counters.\n\nFor those events, don\u0027t create the \u0027id\u0027 file and fail\n-\u003eprofile_enable when their ID is specified through other\nmeans.\n\nReported-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1249497664.5890.4.camel@laptop\u003e\n[ v2: fix build error in the !CONFIG_EVENT_PROFILE case ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1bbf20835c4e088667a090ce6523a0f70b62dc76",
      "tree": "91fea2bd29abf6be58c55e259d2904de303fcf3e",
      "parents": [
        "90bc1a658a53f8832ee799685703977a450e5af9"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Wed Aug 05 12:05:21 2009 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 06 05:50:21 2009 +0200"
      },
      "message": "rtmutex: Avoid deadlock in rt_mutex_start_proxy_lock()\n\nIn the event of a lock steal or owner died,\nrt_mutex_start_proxy_lock() will give the rt_mutex to the\nwaiting task, but it fails to release the wait_lock. This leads\nto subsequent deadlocks when other tasks try to acquire the\nrt_mutex.\n\nI also removed a few extra blank lines that really spaced this\nroutine out. I must have been high on the \\n when I wrote this\noriginally...\n\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Dinakar Guniguntala \u003cdino@in.ibm.com\u003e\nCc: John Stultz \u003cjohnstul@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c4A79D7F1.4000405@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "464e85eb0e63096bd52e4c3e2a6fb8357fb95828",
      "tree": "838010839e0b7b3e3a403d381f2b56dd065da3d0",
      "parents": [
        "0f2541d299d233eddddee4345795e0c46264fd56"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Aug 05 15:26:37 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 05 20:20:00 2009 -0400"
      },
      "message": "ring-buffer: do not disable ring buffer on oops_in_progress\n\nThe commit:\n\n  commit e0fdace10e75dac67d906213b780ff1b1a4cc360\n  Author: David Miller \u003cdavem@davemloft.net\u003e\n  Date:   Fri Aug 1 01:11:22 2008 -0700\n\n    debug_locks: set oops_in_progress if we will log messages.\n\n    Otherwise lock debugging messages on runqueue locks can deadlock the\n    system due to the wakeups performed by printk().\n\n    Signed-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n    Signed-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\nWill permanently set oops_in_progress on any lockdep failure.\nWhen this triggers it will cause any read from the ring buffer to\npermanently disable the ring buffer (not to mention no locking of\nprintk).\n\nThis patch removes the check. It keeps the print in NMI which makes\nsense. This is probably OK, since the ring buffer should not cause\nsomething to set oops_in_progress anyway.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0f2541d299d233eddddee4345795e0c46264fd56",
      "tree": "19a1628703792d1e0ae8abe18c240d60a6e1705d",
      "parents": [
        "e16852cfc5580b88cb327413ab8c89375f380592"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Aug 05 12:02:48 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 05 20:19:59 2009 -0400"
      },
      "message": "ring-buffer: fix check of try_to_discard result\n\nThe function ring_buffer_discard_commit inversed the code path\nof the result of try_to_discard. It should skip incrementing the\nentry counter if try_to_discard succeeded. But instead, it increments\nthe entry conder if it succeeded to discard, and does not increment\nit if it fails.\n\nThe result of this bug is that filtering will make the stat counters\nincorrect.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a40694a38a745af0dd7d8b796597ada1dd6caeb7",
      "tree": "b9f7014a6309f6b82e947d926384c0e2101b28cd",
      "parents": [
        "ea5634246beaedd91b93d7e7fce7d825232d1b78",
        "f26542600e605482a1231c44ddb2966d69bd09b0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:32:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:32:40 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_counter: Set the CONFIG_PERF_COUNTERS default to y if CONFIG_PROFILING\u003dy\n  perf: Fix read buffer overflow\n  perf top: Add mwait_idle_with_hints to skip_symbols[]\n  perf tools: Fix faulty check\n  perf report: Update for the new FORK/EXIT events\n  perf_counter: Full task tracing\n  perf_counter: Collapse inherit on read()\n  tracing, perf_counter: Add help text to CONFIG_EVENT_PROFILE\n  perf_counter tools: Fix link errors with older toolchains\n"
    },
    {
      "commit": "ea5634246beaedd91b93d7e7fce7d825232d1b78",
      "tree": "6c9de515fbb7b59465a28d524fcfc578afbe3382",
      "parents": [
        "7193675dc8ffa0325d013602d2bbccc0954db502",
        "07903af152b0597d94e9b0030746b63c4664e787"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:32:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:32:22 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Fix race in cpupri introduced by cpumask_var changes\n  sched: Fix latencytop and sleep profiling vs group scheduling\n"
    },
    {
      "commit": "7193675dc8ffa0325d013602d2bbccc0954db502",
      "tree": "92c5ab7f2ae95e9e4f103a73b07d2e02d4c87042",
      "parents": [
        "9c66812b6bee225950431de51dfc9dc664905038",
        "70d715fd0597f18528f389b5ac59102263067744"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:32:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:32:08 2009 -0700"
      },
      "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-timers: Fix oops in clock_nanosleep() with CLOCK_MONOTONIC_RAW\n"
    },
    {
      "commit": "9c66812b6bee225950431de51dfc9dc664905038",
      "tree": "51eca731a6b58b9868e23977e4b337921e6805dc",
      "parents": [
        "b5a7c9a0b3c5de22e1762120063daae9f91d5197",
        "e16852cfc5580b88cb327413ab8c89375f380592"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:31:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 04 15:31:51 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix missing function_graph events when we splice_read from trace_pipe\n  tracing: Fix invalid function_graph entry\n  trace: stop tracer in oops_enter()\n  ftrace: Only update $offset when we update $ref_func\n  ftrace: Fix the conditional that updates $ref_func\n  tracing: only truncate ftrace files when O_TRUNC is set\n  tracing: show proper address for trace-printk format\n"
    },
    {
      "commit": "97fd9ed48ce2b807edc363bef3e817aeeb5cd5e6",
      "tree": "ffb221aba4444bd3a1f84affd2aba7aa0784484e",
      "parents": [
        "fbd90375d7531927d312766b548376d909811b4d"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Jul 21 20:25:05 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 04 20:28:25 2009 +0200"
      },
      "message": "timers: Cache __next_timer_interrupt result\n\nEach time a cpu goes to sleep on a NOHZ\u003dy system the timer\nwheel is searched for the next timer interrupt. It can take\nquite a few cycles to find the next pending timer.\n\nThis patch adds a field to tvec_base that caches the result of\n__next_timer_interrupt.\n\nThe hit ratio is around 80% on my thinkpad under normal use, on\na server I\u0027ve seen hit ratios from 5% to 95% dependent on the\nworkload.\n\n-v2: jiffies wrap fixes\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nLKML-Reference: \u003c20090721202505.7d56a079@skybase\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e16852cfc5580b88cb327413ab8c89375f380592",
      "tree": "67e7d5b84e2602986f2da689625e5a25d7af7bb4",
      "parents": [
        "bdff78707f3ce47e891f3201c9666122a70556ce",
        "74e7ff8c50b6b022e6ffaa736b16a4dc161d3eaf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 04 13:58:28 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 04 13:58:28 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/urgent\n"
    },
    {
      "commit": "70d715fd0597f18528f389b5ac59102263067744",
      "tree": "eb3a4fb2a57a19fd1b93e9e3887d9ee7f6c1e0f6",
      "parents": [
        "a33a052f19a21d727847391c8c1aff3fb221c472"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Mon Aug 03 11:48:19 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 04 10:16:41 2009 +0200"
      },
      "message": "posix-timers: Fix oops in clock_nanosleep() with CLOCK_MONOTONIC_RAW\n\nPrevent calling do_nanosleep() with clockid\nCLOCK_MONOTONIC_RAW, it may cause oops, such as NULL pointer\ndereference.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c4A764FF3.50607@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07903af152b0597d94e9b0030746b63c4664e787",
      "tree": "245f1e9d7a7021f479b0d67e922c6783e59c5d50",
      "parents": [
        "e414314cce7539788dd5d2c35decad11782dd858"
      ],
      "author": {
        "name": "Gregory Haskins",
        "email": "ghaskins@novell.com",
        "time": "Thu Jul 30 10:57:28 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 14:23:29 2009 +0200"
      },
      "message": "sched: Fix race in cpupri introduced by cpumask_var changes\n\nBackground:\n\nSeveral race conditions in the scheduler have cropped up\nrecently, which Steven and I have tracked down using ftrace.\nThe most recent one turns out to be a race in how the scheduler\ndetermines a suitable migration target for RT tasks, introduced\nrecently with commit:\n\n    commit 68e74568fbe5854952355e942acca51f138096d9\n    Date:   Tue Nov 25 02:35:13 2008 +1030\n\n        sched: convert struct cpupri_vec cpumask_var_t.\n\nThe original design of cpupri allowed lockless readers to\nquickly determine a best-estimate target.  Races between the\npri_active bitmap and the vec-\u003emask were handled in the\noriginal code because we would detect and return \"0\" when this\noccured.  The design was predicated on the *effective*\natomicity (*) of caching the result of cpus_and() between the\ncpus_allowed and the vec-\u003emask.\n\nCommit 68e74568 changed the behavior such that vec-\u003emask is\naccessed multiple times.  This introduces a subtle race, the\nresult of which means we can have a result that returns \"1\",\nbut with an empty bitmap.\n\n*) yes, we know cpus_and() is not a locked operator across the\n   entire composite array, but it is implicitly atomic on a\n   per-word basis which is all the design required to work.\n\nImplementation:\n\nRather than forgoing the lockless design, or reverting to a\nstack-based cpumask_t, we simply check for when the race has\nbeen encountered and continue processing in the event that the\nrace is hit.  This renders the removal race as if the priority\nbit had been atomically cleared as well, and allows the\nalgorithm to execute correctly.\n\nSigned-off-by: Gregory Haskins \u003cghaskins@novell.com\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCC: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090730145728.25226.92769.stgit@dev.haskins.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e414314cce7539788dd5d2c35decad11782dd858",
      "tree": "4ca73e18a6d594e88fba8e284726ffbf20627fbd",
      "parents": [
        "ed680c4ad478d0fee9740f7d029087f181346564"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 23 20:13:26 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 14:10:12 2009 +0200"
      },
      "message": "sched: Fix latencytop and sleep profiling vs group scheduling\n\nThe latencytop and sleep accounting code assumes that any\nscheduler entity represents a task, this is not so.\n\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9f498cc5be7e013d8d6e4c616980ed0ffc8680d2",
      "tree": "25ef7a52d61ffd336c73b42dcf770424beb19cf3",
      "parents": [
        "e53c0994709166b111fbe9162d1a16ece7dfc45b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 23 14:46:33 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 13:47:56 2009 +0200"
      },
      "message": "perf_counter: Full task tracing\n\nIn order to be able to distinguish between no samples due to\ninactivity and no samples due to task ended, Arjan asked for\nPERF_EVENT_EXIT events. This is useful to the boot delay\ninstrumentation (bootchart) app.\n\nThis patch changes the PERF_EVENT_FORK to be emitted on every\nclone, and adds PERF_EVENT_EXIT to be emitted on task exit,\nafter the task\u0027s counters have been closed.\n\nThis task tracing is controlled through: attr.comm || attr.mmap\nand through the new attr.task field.\n\nSuggested-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n[ cleaned up perf_counter.h a bit ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e53c0994709166b111fbe9162d1a16ece7dfc45b",
      "tree": "5182e8f91bffae8fcbe05a9b86e761f84b0f079e",
      "parents": [
        "470a1396c25c27b4aff08b14d5c9cd9b3da15e09"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 24 14:42:10 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 02 13:47:54 2009 +0200"
      },
      "message": "perf_counter: Collapse inherit on read()\n\nCurrently the counter value returned by read() is the value of\nthe parent counter, to which child counters are only fed back\non child exit.\n\nThus read() can return rather erratic (and meaningless) numbers\ndepending on the state of the child processes.\n\nChange this by always iterating the full child hierarchy on\nread() and sum all counters.\n\nSuggested-by: Corey Ashford \u003ccjashfor@linux.vnet.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": "0dd8486b5cfe8048e0613334659d9252ecd1b08a",
      "tree": "c221d40b94aecfd75b25dea768bba0b9f97cb9c8",
      "parents": [
        "0083fc2c50e6c5127c2802ad323adf8143ab7856"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 01 11:18:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 01 11:18:56 2009 -0700"
      },
      "message": "do_sigaltstack: small cleanups\n\nThe previous commit (\"do_sigaltstack: avoid copying \u0027stack_t\u0027 as a\nstructure to user space\") fixed a real bug.  This one just cleans up the\ncopy from user space to that gcc can generate better code for it (and so\nthat it looks the same as the later copy back to user space).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0083fc2c50e6c5127c2802ad323adf8143ab7856",
      "tree": "0ec735c46d8be4ae4c637243b126feba0be2ebe8",
      "parents": [
        "ed680c4ad478d0fee9740f7d029087f181346564"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 01 10:34:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 01 10:46:52 2009 -0700"
      },
      "message": "do_sigaltstack: avoid copying \u0027stack_t\u0027 as a structure to user space\n\nUlrich Drepper correctly points out that there is generally padding in\nthe structure on 64-bit hosts, and that copying the structure from\nkernel to user space can leak information from the kernel stack in those\npadding bytes.\n\nAvoid the whole issue by just copying the three members one by one\ninstead, which also means that the function also can avoid the need for\na stack frame.  This also happens to match how we copy the new structure\nfrom user space, so it all even makes sense.\n\n[ The obvious solution of adding a memset() generates horrid code, gcc\n  does really stupid things. ]\n\nReported-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b592972493c38665efd7d429a01b23fcb21e331a",
      "tree": "de212f5ffaa6b1a11c17fe5780f931dedd0c865f",
      "parents": [
        "ec6a8679fa8ce977c8b7f86238455b494699de74",
        "636eacee3b0c76915151db37203cc624becb6d7b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:46:58 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing/stat: Fix seqfile memory leak\n  function-graph: Fix seqfile memory leak\n  trace_stack: Fix seqfile memory leak\n  profile: Suppress warning about large allocations when profile\u003d1 is specified\n"
    },
    {
      "commit": "ec30c5f3a18722f8fcf8c83146a10b03ac4d9ff1",
      "tree": "fc343f7f608f4db5475abfdc8bbad3b0cfef69fd",
      "parents": [
        "90a09c9cf78344d18e2438c3b87363b949629fa3"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jul 28 19:47:23 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 30 16:44:06 2009 -0700"
      },
      "message": "kprobes: Use kernel_text_address() for checking probe address\n\nUse kernel_text_address() for checking probe address instead of\n__kernel_text_address(), because __kernel_text_address() returns true\nfor init functions even after relaseing those functions.\n\nThat will hit a BUG() in text_poke().\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b62f495dad04fa94b5083aec638ff3072bccaaca",
      "tree": "d7184a5ad7d85c8b62b6697eab2969f6c1508250",
      "parents": [
        "1fc28b70fe2dbf87e061b6ce5091a1f8e4e5d4e7"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Wed Jul 29 15:04:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:36 2009 -0700"
      },
      "message": "profile: suppress warning about large allocations when profile\u003d1 is specified\n\nWhen profile\u003d is used, a large buffer is allocated early at boot.  This\ncan be larger than what the page allocator can provide so it prints a\nwarning.  However, the caller is able to handle the situation so this\npatch suppresses the warning.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "887032670d47366a8c8f25396ea7c14b7b2cc620",
      "tree": "e5f9ece5ab9239648e8d7051ccb9a217d92553d7",
      "parents": [
        "f0d83679a8d471dc8b646919f70595d6fe8c9606"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jul 29 15:04:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:35 2009 -0700"
      },
      "message": "cgroup avoid permanent sleep at rmdir\n\nAfter commit ec64f51545fffbc4cb968f0cea56341a4b07e85a (\"cgroup: fix\nfrequent -EBUSY at rmdir\"), cgroup\u0027s rmdir (especially against memcg)\ndoesn\u0027t return -EBUSY by temporary ref counts.  That commit expects all\nrefs after pre_destroy() is temporary but...it wasn\u0027t.  Then, rmdir can\nwait permanently.  This patch tries to fix that and change followings.\n\n - set CGRP_WAIT_ON_RMDIR flag before pre_destroy().\n - clear CGRP_WAIT_ON_RMDIR flag when the subsys finds racy case.\n   if there are sleeping ones, wakes them up.\n - rmdir() sleeps only when CGRP_WAIT_ON_RMDIR flag is set.\n\nTested-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReported-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Balbir Sigh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "096b7fe012d66ed55e98bc8022405ede0cc80e96",
      "tree": "755709b6d3ff21a9e9640d6c19432b31c863ad34",
      "parents": [
        "b317c833211b7fbf902163de766f09554090e0bf"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jul 29 15:04:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:35 2009 -0700"
      },
      "message": "cgroups: fix pid namespace bug\n\nThe bug was introduced by commit cc31edceee04a7b87f2be48f9489ebb72d264844\n(\"cgroups: convert tasks file to use a seq_file with shared pid array\").\n\nWe cache a pid array for all threads that are opening the same \"tasks\"\nfile, but the pids in the array are always from the namespace of the\nlast process that opened the file, so all other threads will read pids\nfrom that namespace instead of their own namespaces.\n\nTo fix it, we maintain a list of pid arrays, which is keyed by pid_ns.\nThe list will be of length 1 at most time.\n\nReported-by: Paul Menage \u003cmenage@google.com\u003e\nIdea-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11c7da4b0ca76a57f51c996c883c480e203cf5a9",
      "tree": "25c816507896a6ec7b2a84c72e181080b6cc744d",
      "parents": [
        "933b787b57ca8bdc0fc8fb2cbf67b5e6d21beb84"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Wed Jul 29 15:02:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:34 2009 -0700"
      },
      "message": "kexec: fix omitting offset in extended crashkernel syntax\n\nSetting\n \"crashkernel\u003d512M-2G:64M,2G-:128M\"\ndoes not work but it turns to work if it has a trailing-whitespace,\nlike\n \"crashkernel\u003d512M-2G:64M,2G-:128M \".\n\nIt was because of a bug in the parser, running over the cmdline.\n\nThis patch adds a check of the termination.\n\nReported-by: Jin Dongming \u003cjin.dongming@np.css.fujitsu.com\u003e\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nTested-by: Jin Dongming \u003cjin.dongming@np.css.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "933b787b57ca8bdc0fc8fb2cbf67b5e6d21beb84",
      "tree": "aae84533e71c7574ab8dd6f0ca4b782de121e482",
      "parents": [
        "6583bb64fc370842b32a87c67750c26f6d559af0"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Wed Jul 29 15:02:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 19:10:34 2009 -0700"
      },
      "message": "mm: copy over oom_adj value at fork time\n\nFix a post-2.6.31 regression which was introduced by\n2ff05b2b4eac2e63d345fc731ea151a060247f53 (\"oom: move oom_adj value from\ntask_struct to mm_struct\").\n\nAfter moving the oom_adj value from the task struct to the mm_struct, the\noom_adj value was no longer properly inherited by child processes.\n\nCopying over the oom_adj value at fork time fixes that bug.\n\n[kosaki.motohiro@jp.fujitsu.com: test for current-\u003emm before dereferencing it]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nReported-by: Paul Menage \u003cmanage@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74e7ff8c50b6b022e6ffaa736b16a4dc161d3eaf",
      "tree": "5bbe7b9f239f1e7b0a688b521f5dca8b9ea99ef4",
      "parents": [
        "38ceb592fcac9110c6b3c87ea0a27bff68c43486"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Jul 28 20:17:22 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jul 28 23:17:23 2009 +0200"
      },
      "message": "tracing: Fix missing function_graph events when we splice_read from trace_pipe\n\nAbout a half events are missing when we splice_read\nfrom trace_pipe. They are unexpectedly consumed because we ignore\nthe TRACE_TYPE_NO_CONSUME return value used by the function graph\ntracer when it needs to consume the events by itself to walk on\nthe ring buffer.\n\nThe same problem appears with ftrace_dump()\n\nExample of an output before this patch:\n\n1)               |      ktime_get_real() {\n1)   2.846 us    |          read_hpet();\n1)   4.558 us    |        }\n1)   6.195 us    |      }\n\nAfter this patch:\n\n0)               |      ktime_get_real() {\n0)               |        getnstimeofday() {\n0)   1.960 us    |          read_hpet();\n0)   3.597 us    |        }\n0)   5.196 us    |      }\n\nThe fix also applies on 2.6.30\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c4A6EEC52.90704@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "38ceb592fcac9110c6b3c87ea0a27bff68c43486",
      "tree": "6051e8914161679905245a77077ab8f61dbbf64b",
      "parents": [
        "4733fd328f14280900435d9dbae1487d110a4d56"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Jul 28 20:11:24 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jul 28 23:17:23 2009 +0200"
      },
      "message": "tracing: Fix invalid function_graph entry\n\nWhen print_graph_entry() computes a function call entry event, it needs\nto also check the next entry to guess if it matches the return event of\nthe current function entry.\nIn order to look at this next event, it needs to consume the current\nentry before going ahead in the ring buffer.\n\nHowever, if the current event that gets consumed is the last one in the\nring buffer head page, the ring_buffer may reuse the page for writers.\nThe consumed entry will then become invalid because of possible\nracy overwriting.\n\nMe must then handle this entry by making a copy of it.\n\nThe fix also applies on 2.6.30\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c4A6EEAEC.3050508@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "9ae260270c90643156cda73427aa1f04c923e627",
      "tree": "d69e5b2e0863a34fe9ba0a7a10c24c3d42276d51",
      "parents": [
        "6560dc160f3a96b8f1f43e2c6b51aa6eb9898b90"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jun 19 02:51:13 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 12:15:46 2009 -0700"
      },
      "message": "update the comment in kthread_stop()\n\nCommit 63706172f332fd3f6e7458ebfb35fa6de9c21dc5 (\"kthreads: rework\nkthread_stop()\") removed the limitation that the thread function mysr\nnot call do_exit() itself, but forgot to update the comment.\n\nSince that commit it is OK to use kthread_stop() even if kthread can\nexit itself.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6560dc160f3a96b8f1f43e2c6b51aa6eb9898b90",
      "tree": "f6cd276df257ab3784a6eb3c47728c09f5d872e3",
      "parents": [
        "2bc20d09b03bca6e068e07440812d75b70b1c0b2"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Jul 23 23:42:08 2009 +0930"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 27 12:15:45 2009 -0700"
      },
      "message": "module: use MODULE_SYMBOL_PREFIX with module_layout\n\nThe check_modstruct_version() needs to look up the symbol \"module_layout\"\nin the kernel, but it does so literally and not by a C identifier.  The\ntrouble is that it does not include a symbol prefix for those ports that\nneed it (like the Blackfin and H8300 port).  So make sure we tack on the\nMODULE_SYMBOL_PREFIX define to the front of it.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bdff78707f3ce47e891f3201c9666122a70556ce",
      "tree": "4991809b9c83889be8bb0652da802be290e40d78",
      "parents": [
        "bd171d5ffc5cb2ba471e8205c679ee9d12b90116"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 24 15:30:45 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 24 15:30:45 2009 -0400"
      },
      "message": "trace: stop tracer in oops_enter()\n\nIf trace_printk_on_oops is set we lose interesting trace information\nwhen the tracer is enabled across oops handling and printing. We want\nthe trace which might give us information _WHY_ we oopsed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8650ae32ef7045e763825dee6256dde7f331bb85",
      "tree": "546a07e4c5b6fc731b48604769392a671c1fb18e",
      "parents": [
        "4c739ff043e5787d97c9691d62cabf7a29e75a9d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jul 22 23:29:30 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 23 10:07:18 2009 -0400"
      },
      "message": "tracing: only truncate ftrace files when O_TRUNC is set\n\nThe current code will truncate the ftrace files contents if O_APPEND\nis not set and the file is opened in write mode. This is incorrect.\nIt should only truncate the file if O_TRUNC is set. Otherwise\nif one of these files is opened by a C program with fopen \"r+\",\nit will incorrectly truncate the file.\n\nReported-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4c739ff043e5787d97c9691d62cabf7a29e75a9d",
      "tree": "d2604b88d526a4ac4b216d5d46d2834ac8171782",
      "parents": [
        "636eacee3b0c76915151db37203cc624becb6d7b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jul 22 23:11:03 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 23 10:07:17 2009 -0400"
      },
      "message": "tracing: show proper address for trace-printk format\n\nSince the trace_printk may use pointers to the format fields\nin the buffer, they are exported via debugfs/tracing/printk_formats.\nThis is used by utilities that read the ring buffer in binary format.\nIt helps the utilities map the address of the format in the binary\nbuffer to what the printf format looks like.\n\nUnfortunately, the way the output code works, it exports the address\nof the pointer to the format address, and not the format address\nitself. This makes the file totally useless in trying to figure\nout what format string a binary address belongs to.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "636eacee3b0c76915151db37203cc624becb6d7b",
      "tree": "99251e7d38d22b3f5b3808d797757840a597349b",
      "parents": [
        "87827111a5538633b18e5c641ced673c4c2bb6ce"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 23 11:29:47 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 23 09:53:55 2009 -0400"
      },
      "message": "tracing/stat: Fix seqfile memory leak\n\nEvery time we cat a trace_stat file, we leak memory allocated by\nseq_open().\n\nAlso fix memory leak in a failure path in tracing_stat_open().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A67D92B.4060704@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "87827111a5538633b18e5c641ced673c4c2bb6ce",
      "tree": "46249db51a7f94e31948f48b07efbbbc5de3e7c3",
      "parents": [
        "d8cc1ab793993c886c62abf77c93287df33ffd8b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 23 11:29:11 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 23 09:53:23 2009 -0400"
      },
      "message": "function-graph: Fix seqfile memory leak\n\nEvery time we cat set_graph_function, we leak memory allocated\nby seq_open().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A67D907.2010500@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d8cc1ab793993c886c62abf77c93287df33ffd8b",
      "tree": "1e941a2832791b69ab9870c9ad9e9e844af50e1c",
      "parents": [
        "e5d490b252423605a77c54b2e35b10ea663763df"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 23 11:28:40 2009 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jul 23 09:52:09 2009 -0400"
      },
      "message": "trace_stack: Fix seqfile memory leak\n\nEvery time we cat stack_trace, we leak memory allocated by seq_open().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4A67D8E8.3020500@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "61f3826133dc07142935fb5712fc738e19eb5575",
      "tree": "2bac9166734e564a4f89d9db9d7498df87597c31",
      "parents": [
        "3c3301083e3bea4d14c597106c7b20b4b85fc03d"
      ],
      "author": {
        "name": "Bruno Premont",
        "email": "bonbons@linux-vserver.org",
        "time": "Wed Jul 22 22:22:32 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 22 23:18:46 2009 +0200"
      },
      "message": "genirq: Fix UP compile failure caused by irq_thread_check_affinity\n\nSince genirq: Delegate irq affinity setting to the irq thread\n(591d2fb02ea80472d846c0b8507007806bdd69cc) compilation with\nCONFIG_SMP\u003dn fails with following error:\n\n/usr/src/linux-2.6/kernel/irq/manage.c:\n   In function \u0027irq_thread_check_affinity\u0027:\n/usr/src/linux-2.6/kernel/irq/manage.c:475:\n   error: \u0027struct irq_desc\u0027 has no member named \u0027affinity\u0027\nmake[4]: *** [kernel/irq/manage.o] Error 1\n\nThat commit adds a new function irq_thread_check_affinity() which\nuses struct irq_desc.affinity which is only available for CONFIG_SMP\u003dy.\nMove that function under #ifdef CONFIG_SMP.\n\n[ tglx@brownpaperbag: compile and boot tested on UP and SMP ]\n\nSigned-off-by: Bruno Premont \u003cbonbons@linux-vserver.org\u003e\nLKML-Reference: \u003c20090722222232.2eb3e1c4@neptune.home\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3c3301083e3bea4d14c597106c7b20b4b85fc03d",
      "tree": "6eabdd073bdc27eb3f0dd999ea946955afca18bf",
      "parents": [
        "612e900c286a9535cc17da5171b0d8dcf8f3a12f",
        "0fdc7e67dd312986e30b861adff48732bd33eb3f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 11:41:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 11:41:56 2009 -0700"
      },
      "message": "Merge branch \u0027perf-counters-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf\n\n* \u0027perf-counters-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf: (31 commits)\n  perf_counter tools: Give perf top inherit option\n  perf_counter tools: Fix vmlinux symbol generation breakage\n  perf_counter: Detect debugfs location\n  perf_counter: Add tracepoint support to perf list, perf stat\n  perf symbol: C++ demangling\n  perf: avoid structure size confusion by using a fixed size\n  perf_counter: Fix throttle/unthrottle event logging\n  perf_counter: Improve perf stat and perf record option parsing\n  perf_counter: PERF_SAMPLE_ID and inherited counters\n  perf_counter: Plug more stack leaks\n  perf: Fix stack data leak\n  perf_counter: Remove unused variables\n  perf_counter: Make call graph option consistent\n  perf_counter: Add perf record option to log addresses\n  perf_counter: Log vfork as a fork event\n  perf_counter: Synthesize VDSO mmap event\n  perf_counter: Make sure we dont leak kernel memory to userspace\n  perf_counter tools: Fix index boundary check\n  perf_counter: Fix the tracepoint channel to perfcounters\n  perf_counter, x86: Extend perf_counter Pentium M support\n  ...\n"
    },
    {
      "commit": "612e900c286a9535cc17da5171b0d8dcf8f3a12f",
      "tree": "f6931d0c1bc6cf8f798e04437a1a9c3d59a4eea5",
      "parents": [
        "c57c3743784e08d8ceaaea928a8c84ad8b403aed",
        "9ba5f005c994ad28e266a0cd14ef29354be382c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 10:12:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 10:12:18 2009 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softirq: introduce tasklet_hrtimer infrastructure\n"
    },
    {
      "commit": "c57c3743784e08d8ceaaea928a8c84ad8b403aed",
      "tree": "e250cfd7f86979ed67e3bb5550f21799b5d82e55",
      "parents": [
        "5b26776bd9253931097a85dcb1b9da1bac554c02",
        "79ef2bb01445400def20c7993b27fbcad27ca95f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 10:11:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 10:11:47 2009 -0700"
      },
      "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  clocksource: Prevent NULL pointer dereference\n  timer: Avoid reading uninitialized data\n"
    },
    {
      "commit": "5b26776bd9253931097a85dcb1b9da1bac554c02",
      "tree": "3dc8104e82cda8bbbfeefd8f5d21a1522c663a16",
      "parents": [
        "356d1b52eb2445d94c6781f15346f00f4a675fda",
        "591d2fb02ea80472d846c0b8507007806bdd69cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 10:11:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 10:11:24 2009 -0700"
      },
      "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: Delegate irq affinity setting to the irq thread\n"
    },
    {
      "commit": "356d1b52eb2445d94c6781f15346f00f4a675fda",
      "tree": "16e908c7548b3697183432a3771f511e8c1c9c05",
      "parents": [
        "bb184d11ffd015e67e5334e5a88bec2e00be5c20",
        "6301cb95c119ebf324bb96ee226fa9ddffad80a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 10:10:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 10:10:36 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix nr_uninterruptible accounting of frozen tasks really\n  sched: fix load average accounting vs. cpu hotplug\n  sched: Account for vruntime wrapping\n"
    },
    {
      "commit": "0dc3d523e8bc4718e0be2e4a742367d6e4be77cd",
      "tree": "fca11240e17b99220f83c16ca79eabe6688be7a3",
      "parents": [
        "61fe087059614226978f4d7bb36da26cb2d28f9f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Jul 21 00:55:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 22 09:29:52 2009 -0700"
      },
      "message": "perf: fix stack data leak\n\nthe \"reserved\" field was not initialized to zero, resulting in 4 bytes\nof stack data leaking to userspace....\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "966ee4d6b887c14159043ac80b8c3661d2bbe5e2",
      "tree": "2f06225dc023f5fc07f1135147dd09f19601ba2b",
      "parents": [
        "a0541234f89c93f313961ce7b28676e11488a5f0"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Jul 22 23:05:46 2009 +1000"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:56 2009 +0200"
      },
      "message": "perf_counter: Fix throttle/unthrottle event logging\n\nRight now we only print PERF_EVENT_THROTTLE + 1 (ie PERF_EVENT_UNTHROTTLE).\nFix this to print both a throttle and unthrottle event.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090722130546.GE9029@kryten\u003e\n"
    },
    {
      "commit": "7f453c24b95a085fc7bd35d53b33abc4dc5a048b",
      "tree": "63d2b80acb3095a3e1a56c69d20a8137a1337aed",
      "parents": [
        "573402db02746179b3f95f83a11a787501f52d0a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 21 13:19:40 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:56 2009 +0200"
      },
      "message": "perf_counter: PERF_SAMPLE_ID and inherited counters\n\nAnton noted that for inherited counters the counter-id as provided by\nPERF_SAMPLE_ID isn\u0027t mappable to the id found through PERF_RECORD_ID\nbecause each inherited counter gets its own id.\n\nHis suggestion was to always return the parent counter id, since that\nis the primary counter id as exposed. However, these inherited\ncounters have a unique identifier so that events like\nPERF_EVENT_PERIOD and PERF_EVENT_THROTTLE can be specific about which\ncounter gets modified, which is important when trying to normalize the\nsample streams.\n\nThis patch removes PERF_EVENT_PERIOD in favour of PERF_SAMPLE_PERIOD,\nwhich is more useful anyway, since changing periods became a lot more\ncommon than initially thought -- rendering PERF_EVENT_PERIOD the less\nuseful solution (also, PERF_SAMPLE_PERIOD reports the more accurate\nvalue, since it reports the value used to trigger the overflow,\nwhereas PERF_EVENT_PERIOD simply reports the requested period changed,\nwhich might only take effect on the next cycle).\n\nThis still leaves us PERF_EVENT_THROTTLE to consider, but since that\n_should_ be a rare occurrence, and linking it to a primary id is the\nmost useful bit to diagnose the problem, we introduce a\nPERF_SAMPLE_STREAM_ID, for those few cases where the full\nreconstruction is important.\n\n[Does change the ABI a little, but I see no other way out]\n\nSuggested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1248095846.15751.8781.camel@twins\u003e\n"
    },
    {
      "commit": "573402db02746179b3f95f83a11a787501f52d0a",
      "tree": "111fb9d0b65d31cb9308a84164f111874d2522ae",
      "parents": [
        "c9f73a3dd27e03411f18a58c0814d51392d2b17a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 11:13:50 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:55 2009 +0200"
      },
      "message": "perf_counter: Plug more stack leaks\n\nPer example of Arjan\u0027s patch, I went through and found a few more.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "c9f73a3dd27e03411f18a58c0814d51392d2b17a",
      "tree": "2b687a70433efc77f3f890bd5f09d31414d26f8e",
      "parents": [
        "9b7019ae6a542a801a80df6694c66e240e2c3e39"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Jul 21 00:55:05 2009 -0700"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:55 2009 +0200"
      },
      "message": "perf: Fix stack data leak\n\nthe \"reserved\" field was not initialized to zero, resulting in 4 bytes\nof stack data leaking to userspace....\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "1d2f37945d1b3a14086c5ea802486778b635cf97",
      "tree": "b40a1a596a29acc1511f661c27f284dd06b0bc9d",
      "parents": [
        "1483b19f8f5e8ad0c8816de368b099322dad4db5",
        "f1c6a58121f9846ac665b0fbd3cbab90ce8bcbac"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:48 2009 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 18:05:48 2009 +0200"
      },
      "message": "Merge commit \u0027tip/perfcounters/core\u0027 into perf-counters-for-linus\n"
    },
    {
      "commit": "fbd90375d7531927d312766b548376d909811b4d",
      "tree": "3eff386f9e3d15e8f890c2a1a1cf12e100b6ab0c",
      "parents": [
        "a40f262cc21fbfd781bbddcc40b16b83a75f5f34"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 22 13:40:14 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 22 17:12:32 2009 +0200"
      },
      "message": "hrtimer: Remove cb_entry from struct hrtimer\n\nIt\u0027s unused, remove it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\n"
    },
    {
      "commit": "9ba5f005c994ad28e266a0cd14ef29354be382c9",
      "tree": "0a2ff570070afc18e7dad61a2955b94614ce9b51",
      "parents": [
        "aea1f7964ae6cba5eb419a958956deb9016b3341"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Jul 22 14:18:35 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 22 17:01:17 2009 +0200"
      },
      "message": "softirq: introduce tasklet_hrtimer infrastructure\n\ncommit ca109491f (hrtimer: removing all ur callback modes) moved all\nhrtimer callbacks into hard interrupt context when high resolution\ntimers are active. That breaks code which relied on the assumption\nthat the callback happens in softirq context.\n\nProvide a generic infrastructure which combines tasklets and hrtimers\ntogether to provide an in-softirq hrtimer experience.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: torvalds@linux-foundation.org\nCc: kaber@trash.net\nCc: David Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c1248265724.27058.1366.camel@twins\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "591d2fb02ea80472d846c0b8507007806bdd69cc",
      "tree": "c7962a95a47bbdf664f15a504eff24c351f33613",
      "parents": [
        "aea1f7964ae6cba5eb419a958956deb9016b3341"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 21 11:09:39 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Jul 21 14:35:07 2009 +0200"
      },
      "message": "genirq: Delegate irq affinity setting to the irq thread\n\nirq_set_thread_affinity() calls set_cpus_allowed_ptr() which might\nsleep, but irq_set_thread_affinity() is called with desc-\u003elock held\nand can be called from hard interrupt context as well. The code has\nanother bug as it does not hold a ref on the task struct as required\nby set_cpus_allowed_ptr().\n\nJust set the IRQTF_AFFINITY bit in action-\u003ethread_flags. The next time\nthe thread runs it migrates itself. Solves all of the above problems\nnicely.\n\nAdd kerneldoc to irq_set_thread_affinity() while at it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\n\n"
    },
    {
      "commit": "79ef2bb01445400def20c7993b27fbcad27ca95f",
      "tree": "2b4941a2b4a6822dd0f50f13ff04e9e0a369878e",
      "parents": [
        "4841158b26e28e1476eed84c7347c18f11317750"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 19 17:09:12 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Jul 19 17:15:54 2009 +0200"
      },
      "message": "clocksource: Prevent NULL pointer dereference\n\nWriting a zero length string to sys/.../current_clocksource will cause\na NULL pointer dereference if the clock events system is in one shot\n(highres or nohz) mode.\n\nPointed-out-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nLKML-Reference: \u003calpine.DEB.2.00.0907191545580.12306@bicker\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4841158b26e28e1476eed84c7347c18f11317750",
      "tree": "ca701f45ebf6088ab45f76e68f0ef74a03654532",
      "parents": [
        "78af08d90b8f745044b1274430bc4bc6b2b27aca"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Sat Jul 18 16:46:02 2009 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 18 23:11:43 2009 +0200"
      },
      "message": "timer: Avoid reading uninitialized data\n\ntimer-\u003eexpires may be uninitialized, so check timer_pending() before\ntouching timer-\u003eexpires to pacify kmemcheck.\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nLKML-Reference: \u003c20090718204602.5191.360.stgit@mj.roinet.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6301cb95c119ebf324bb96ee226fa9ddffad80a7",
      "tree": "7201f406d135212bae3775dc7d71cbdd6990e5de",
      "parents": [
        "a468d389349a7560249b355cdb6d2097ea1616c9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 17 14:15:47 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 18 14:19:53 2009 +0200"
      },
      "message": "sched: fix nr_uninterruptible accounting of frozen tasks really\n\ncommit e3c8ca8336 (sched: do not count frozen tasks toward load) broke\nthe nr_uninterruptible accounting on freeze/thaw. On freeze the task\nis excluded from accounting with a check for (task-\u003eflags \u0026\nPF_FROZEN), but that flag is cleared before the task is thawed. So\nwhile we prevent that the task with state TASK_UNINTERRUPTIBLE\nis accounted to nr_uninterruptible on freeze we decrement\nnr_uninterruptible on thaw.\n\nUse a separate flag which is handled by the freezing task itself. Set\nit before calling the scheduler with TASK_UNINTERRUPTIBLE state and\nclear it after we return from frozen state.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "a468d389349a7560249b355cdb6d2097ea1616c9",
      "tree": "f385d5847644dfdde3fb441b8e4430ac9024d0ab",
      "parents": [
        "54fdc5816631b43ba55fc3206d7add2d85850bc6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 17 14:15:46 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 18 14:19:52 2009 +0200"
      },
      "message": "sched: fix load average accounting vs. cpu hotplug\n\nThe new load average code clears rq-\u003ecalc_load_active on\nCPU_ONLINE. That\u0027s wrong as the new onlined CPU might have got a\nscheduler tick already and accounted the delta to the stale value of\nthe time we offlined the CPU.\n\nClear the value when we cleanup the dead CPU instead. \n\nAlso move the update of the calc_load_update time for the newly online\nCPU to CPU_UP_PREPARE to avoid that the CPU plays catch up with the\nstale update time value.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e5d490b252423605a77c54b2e35b10ea663763df",
      "tree": "3ddeee6d5a9438b399a4e5a00c9499c4880879ad",
      "parents": [
        "78af08d90b8f745044b1274430bc4bc6b2b27aca"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Wed Jul 15 12:23:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 12:55:28 2009 +0200"
      },
      "message": "profile: Suppress warning about large allocations when profile\u003d1 is specified\n\nWhen profile\u003d is used, a large buffer is allocated early at\nboot. This can be larger than what the page allocator can\nprovide so it prints a warning. However, the caller is able to\nhandle the situation so this patch suppresses the warning.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Linux Memory Management List \u003clinux-mm@kvack.org\u003e\nCc: Heinz Diehl \u003chtd@fancy-poultry.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLKML-Reference: \u003c1247656992-19846-3-git-send-email-mel@csn.ul.ie\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed900c054b541254f0ce5cedaf75206e29bd614e",
      "tree": "c164aaefa1185744d4372d8ff5b11a86a8e1405a",
      "parents": [
        "11b5f81e1b0ea0bc84fe32f0a27054e052b2bf84"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 16 15:44:29 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 11:21:31 2009 +0200"
      },
      "message": "perf_counter: Log vfork as a fork event\n\nRight now we don\u0027t output vfork events. Even though we should\nalways see an exec after a vfork, we may get perfcounter\nsamples between the vfork and exec. These samples can lead to\nsome confusion when parsing perfcounter data.\n\nTo keep things consistent we should always log a fork event. It\nwill result in a little more log data, but is less confusing to\ntrace parsing tools.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090716104817.589309391@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "413ee3b48ab582ffea33e7e140c7a2c5ea657e9a",
      "tree": "3ecf161d9db15c95ba0a4d02aa18e243b796a04b",
      "parents": [
        "23cdb5d5171d591ec911aada682e09d53c14a810"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Thu Jul 16 15:15:52 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 11:21:29 2009 +0200"
      },
      "message": "perf_counter: Make sure we dont leak kernel memory to userspace\n\nThere are a few places we are leaking tiny amounts of kernel\nmemory to userspace. This happens when writing out strings\nbecause we always align the end to 64 bits.\n\nTo avoid this we should always use an appropriately sized\ntemporary buffer and ensure it is zeroed.\n\nSince d_path assembles the string from the end of the buffer\nbackwards, we need to add 64 bits after the buffer to allow for\nalignment.\n\nWe also need to copy arch_vma_name to the temporary buffer,\nbecause if we use it directly we may end up copying to\nuserspace a number of bytes after the end of the string\nconstant.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20090716104817.273972048@samba.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "54fdc5816631b43ba55fc3206d7add2d85850bc6",
      "tree": "44aebd11ac53ef355b215d37f374fb40a4cb008b",
      "parents": [
        "78af08d90b8f745044b1274430bc4bc6b2b27aca"
      ],
      "author": {
        "name": "Fabio Checconi",
        "email": "fabio@gandalf.sssup.it",
        "time": "Thu Jul 16 12:32:27 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 18 11:17:08 2009 +0200"
      },
      "message": "sched: Account for vruntime wrapping\n\nI spotted two sites that didn\u0027t take vruntime wrap-around into\naccount. Fix these by creating a comparison helper that does do\nso.\n\nSigned-off-by: Fabio Checconi \u003cfabio@gandalf.sssup.it\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": "04aef32d39cc4ef80087c0ce8ed113c6d64f1a6b",
      "tree": "fb6e1231d7ac8fb38cf514c0c6107291234228d9",
      "parents": [
        "4b0a84043e0c14088958fddb62f416d050368011"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Jul 15 12:29:06 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Jul 16 23:34:32 2009 -0400"
      },
      "message": "tracing/function: Fix the return value of ftrace_trace_onoff_callback()\n\nftrace_trace_onoff_callback() will return an error even if we do the\nright operation, for example:\n\n # echo _spin_*:traceon:10 \u003e set_ftrace_filter\n -bash: echo: write error: Invalid argument\n # cat set_ftrace_filter\n #### all functions enabled ####\n _spin_trylock_bh:traceon:count\u003d10\n _spin_unlock_irq:traceon:count\u003d10\n _spin_unlock_bh:traceon:count\u003d10\n _spin_lock_irq:traceon:count\u003d10\n _spin_unlock:traceon:count\u003d10\n _spin_trylock:traceon:count\u003d10\n _spin_unlock_irqrestore:traceon:count\u003d10\n _spin_lock_irqsave:traceon:count\u003d10\n _spin_lock_bh:traceon:count\u003d10\n _spin_lock:traceon:count\u003d10\n\nWe want to set _spin_*:traceon:10 to set_ftrace_filter, it complains\nwith \"Invalid argument\", but the operation is successful.\n\nThis is because ftrace_process_regex() returns the number of functions that\nmatched the pattern. If the number is not 0, this value is returned\nby ftrace_regex_write() whereas we want to return the number of bytes\nvirtually written.\nAlso the file offset pointer is not updated in this case.\n\nIf the number of matched functions is lower than the number of bytes written\nby the user, this results to a reprocessing of the string given by the user with\na lower size, leading to a malformed ftrace regex and then a -EINVAL returned.\n\nSo, this patch fixes it by returning 0 if no error occured.\nThe fix also applies on 2.6.30\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "4b0a84043e0c14088958fddb62f416d050368011",
      "tree": "cf5df6cef66a178c35e335240a756798caf2c399",
      "parents": [
        "63f7a330014ad29b662638caabd8e96fe945b9ed",
        "d07387b490b1c43bfcb9f3900faf96f2dafb2630"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 16 10:18:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 16 10:18:29 2009 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-sched:\n  sched: Fix bug in SCHED_IDLE interaction with group scheduling\n  sched: Fix rt_rq-\u003epushable_tasks initialization in init_rt_rq()\n  sched: Reset sched stats on fork()\n  sched_rt: Fix overload bug on rt group scheduling\n  sched: Documentation/sched-rt-group: Fix style issues \u0026 bump version\n"
    },
    {
      "commit": "62f49052ac4b68152ddf742b78b2151ba20dbc28",
      "tree": "f5cc92c195484360176e884fd88e8d3d01ae4b18",
      "parents": [
        "5be6717e0d2493a20791d592e2d20fd2b2f62d44",
        "6ff7041dbfeb3bd7dfe9aa67275c21199ef760d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 14 18:35:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 14 18:35:24 2009 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: Fix migration expiry check\n  hrtimer: migration: do not check expiry time on current CPU\n"
    }
  ],
  "next": "989fa940961faa9d51f073bafa58c2b5653d5969"
}
