)]}'
{
  "log": [
    {
      "commit": "93697a3cabd3605c434a9b915c0272ad800b3f97",
      "tree": "dc26826f10979e02efbd2c6a87b326b770284b18",
      "parents": [
        "63995344721be45b3fb3b76488b1b0a8c95def26",
        "a3df6f7d3090e611bcc774cd2cba45ae016d37e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:48:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:48:37 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/powerpc: Fix cache event codes for POWER7\n  perf_counter: Fix /0 bug in swcounters\n  perf_counters: Increase paranoia level\n"
    },
    {
      "commit": "eced1dfcfcf6b0a35e925d73916a9d8e36ab5457",
      "tree": "a709c2d32788f91aa07e03c9b01bafae15f923f3",
      "parents": [
        "6bb56347f5162d1a7cb1dc461023360781ecd4c0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Aug 28 17:10:47 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Aug 29 13:20:11 2009 +0200"
      },
      "message": "perf_counter: Fix /0 bug in swcounters\n\nWe have a race in the swcounter stuff where we can start\ncounting a counter that has never been enabled, this leads to a\n/0 situation.\n\nThe below avoids the /0 but doesn\u0027t close the race, this would\nneed a new counter state.\n\nThe race is due to perf_swcounter_is_counting() which cannot\ndiscern between disabled due to scheduled out, and disabled for\nany other reason.\n\nSuch a crash has been seen by Ingo:\n\n[  967.092372] divide error: 0000 [#1] SMP\n[  967.096499] last sysfs file: /sys/devices/system/cpu/cpu15/cache/index2/shared_cpu_map\n[  967.104846] CPU 5\n[  967.106965] Modules linked in:\n[  967.110169] Pid: 3351, comm: hackbench Not tainted 2.6.31-rc8-tip-01158-gd940a54-dirty #1568 X8DTN\n[  967.119456] RIP: 0010:[\u003cffffffff810c0aba\u003e]  [\u003cffffffff810c0aba\u003e] perf_swcounter_ctx_event+0x127/0x1af\n[  967.129137] RSP: 0018:ffff8801a95abd70  EFLAGS: 00010046\n[  967.134699] RAX: 0000000000000002 RBX: ffff8801bd645c00 RCX: 0000000000000002\n[  967.142162] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8801bd645d40\n[  967.149584] RBP: ffff8801a95abdb0 R08: 0000000000000001 R09: ffff8801a95abe00\n[  967.157042] R10: 0000000000000037 R11: ffff8801aa1245f8 R12: ffff8801a95abe00\n[  967.164481] R13: ffff8801a95abe00 R14: ffff8801aa1c0e78 R15: 0000000000000001\n[  967.171953] FS:  0000000000000000(0000) GS:ffffc90000a00000(0063) knlGS:00000000f7f486c0\n[  967.180406] CS:  0010 DS: 002b ES: 002b CR0: 000000008005003b\n[  967.186374] CR2: 000000004822c0ac CR3: 00000001b19a2000 CR4: 00000000000006e0\n[  967.193770] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[  967.201224] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[  967.208692] Process hackbench (pid: 3351, threadinfo ffff8801a95aa000, task ffff8801a96b0000)\n[  967.217607] Stack:\n[  967.219711]  0000000000000000 0000000000000037 0000000200000001 ffffc90000a1107c\n[  967.227296] \u003c0\u003e ffff8801a95abe00 0000000000000001 0000000000000001 0000000000000037\n[  967.235333] \u003c0\u003e ffff8801a95abdf0 ffffffff810c0c20 0000000200a14f30 ffff8801a95abe40\n[  967.243532] Call Trace:\n[  967.246103]  [\u003cffffffff810c0c20\u003e] do_perf_swcounter_event+0xde/0xec\n[  967.252635]  [\u003cffffffff810c0ca7\u003e] perf_tpcounter_event+0x79/0x7b\n[  967.258957]  [\u003cffffffff81037f73\u003e] ftrace_profile_sched_switch+0xc0/0xcb\n[  967.265791]  [\u003cffffffff8155f22d\u003e] schedule+0x429/0x4c4\n[  967.271156]  [\u003cffffffff8100c01e\u003e] int_careful+0xd/0x14\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1251472247.17617.74.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ea6bff368548d79529421a9dc0710fc5330eb504",
      "tree": "94739882e72fabd5d3822af80a45a8aea3d52c1d",
      "parents": [
        "4ed86af67e04cb5eb93faba589d102726207865a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 28 10:44:56 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 19:35:00 2009 -1000"
      },
      "message": "modules: Fix build error in the !CONFIG_KALLSYMS case\n\n\u003e James Bottomley (1):\n\u003e       module: workaround duplicate section names\n\n-tip testing found that this patch breaks the build on x86 if\nCONFIG_KALLSYMS is disabled:\n\n kernel/module.c: In function ‘load_module’:\n kernel/module.c:2367: error: ‘struct module’ has no member named ‘sect_attrs’\n distcc[8269] ERROR: compile kernel/module.c on ph/32 failed\n make[1]: *** [kernel/module.o] Error 1\n make: *** [kernel] Error 2\n make: *** Waiting for unfinished jobs....\n\nCommit 1b364bf misses the fact that section attributes are only\nbuilt and dealt with if kallsyms is enabled. The patch below fixes\nthis.\n\n( note, technically speaking this should depend on CONFIG_SYSFS as\n  well but this patch is correct too and keeps the #ifdef less\n  intrusive - in the KALLSYMS \u0026\u0026 !SYSFS case the code is a NOP. )\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n[ Replaced patch with a slightly cleaner variation by James Bottomley ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6bb56347f5162d1a7cb1dc461023360781ecd4c0",
      "tree": "a2f1926c1ad68da16e05a2586645ca3de20ab7c5",
      "parents": [
        "326ba5010a5429a5a528b268b36a5900d4ab0eba"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 28 13:44:53 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 28 13:44:53 2009 +0200"
      },
      "message": "perf_counters: Increase paranoia level\n\nPer-cpu counters are an ASLR information leak as they show\nthe execution other tasks do. Increase the paranoia level\nto 1, which disallows per-cpu counters. (they still allow\ncounting/profiling of own tasks - and admin can profile\neverything.)\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1b364bf438cf337a3818aee77d68c0713f3e1fc4",
      "tree": "878d30319bd3721c6075eef8f3341c6fa9a5afd6",
      "parents": [
        "7d1d16e416e61aeef8655d542f8e4a4fc6e808e4"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Aug 26 22:04:12 2009 +0930"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 27 12:33:19 2009 -0700"
      },
      "message": "module: workaround duplicate section names\n\nThe root cause is a duplicate section name (.text); is this legal?\n[ Amerigo Wang: \"AFAIK, yes.\" ]\n\nHowever, there\u0027s a problem with commit\n6d76013381ed28979cd122eb4b249a88b5e384fa in that if you fail to allocate\na mod-\u003esect_attrs (in this case it\u0027s null because of the duplication),\nit still gets used without checking in add_notes_attrs()\n\nThis should fix it\n\n[ This patch leaves other problems, particularly the sections directory,\n  but recent parisc toolchains seem to produce these modules and this\n  prevents a crash and is a minimal change -- RR ]\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nTested-by: Helge Deller \u003cdeller@gmx.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d1d16e416e61aeef8655d542f8e4a4fc6e808e4",
      "tree": "dfa53b29720cffdba1a64876de30567b6ed5e766",
      "parents": [
        "0a80fb10239b04c45e5e80aad8d4b2ca5ac407b2"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Aug 26 22:02:54 2009 +0930"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 27 12:33:19 2009 -0700"
      },
      "message": "module: fix BUG_ON() for powerpc (and other function descriptor archs)\n\nThe rarely-used symbol_put_addr() needs to use dereference_function_descriptor\non powerpc.\n\nReported-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au.\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ab6c08336535f8c8e42cf45d7adeda882eff06e",
      "tree": "a55253a82ba425e38a3f2993b04fa1e3023da25a",
      "parents": [
        "03ef83af528899aa339e42d8024b37e2f434fba4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Aug 26 14:29:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 26 20:06:52 2009 -0700"
      },
      "message": "clone(): fix race between copy_process() and de_thread()\n\nSpotted by Hiroshi Shimamoto who also provided the test-case below.\n\ncopy_process() uses signal-\u003ecount as a reference counter, but it is not.\nThis test case\n\n\t#include \u003csys/types.h\u003e\n\t#include \u003csys/wait.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003cstdio.h\u003e\n\t#include \u003cerrno.h\u003e\n\t#include \u003cpthread.h\u003e\n\n\tvoid *null_thread(void *p)\n\t{\n\t\tfor (;;)\n\t\t\tsleep(1);\n\n\t\treturn NULL;\n\t}\n\n\tvoid *exec_thread(void *p)\n\t{\n\t\texecl(\"/bin/true\", \"/bin/true\", NULL);\n\n\t\treturn null_thread(p);\n\t}\n\n\tint main(int argc, char **argv)\n\t{\n\t\tfor (;;) {\n\t\t\tpid_t pid;\n\t\t\tint ret, status;\n\n\t\t\tpid \u003d fork();\n\t\t\tif (pid \u003c 0)\n\t\t\t\tbreak;\n\n\t\t\tif (!pid) {\n\t\t\t\tpthread_t tid;\n\n\t\t\t\tpthread_create(\u0026tid, NULL, exec_thread, NULL);\n\t\t\t\tfor (;;)\n\t\t\t\t\tpthread_create(\u0026tid, NULL, null_thread, NULL);\n\t\t\t}\n\n\t\t\tdo {\n\t\t\t\tret \u003d waitpid(pid, \u0026status, 0);\n\t\t\t} while (ret \u003d\u003d -1 \u0026\u0026 errno \u003d\u003d EINTR);\n\t\t}\n\n\t\treturn 0;\n\t}\n\nquickly creates an unkillable task.\n\nIf copy_process(CLONE_THREAD) races with de_thread()\ncopy_signal()-\u003eatomic(signal-\u003ecount) breaks the signal-\u003enotify_count\nlogic, and the execing thread can hang forever in kernel space.\n\nChange copy_process() to increment count/live only when we know for sure\nwe can\u0027t fail.  In this case the forked thread will take care of its\nreference to signal correctly.\n\nIf copy_process() fails, check CLONE_THREAD flag.  If it it set - do\nnothing, the counters were not changed and current belongs to the same\nthread group.  If it is not set, -\u003esignal must be released in any case\n(and -\u003ecount must be \u003d\u003d 1), the forked child is the only thread in the\nthread group.\n\nWe need more cleanups here, in particular signal-\u003ecount should not be used\nby de_thread/__exit_signal at all.  This patch only fixes the bug.\n\nReported-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nTested-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c9376886622b45c32f64c4444f5628dde77dfe6",
      "tree": "fd24a7af7a8b795cd7583ffa9e873e063a0c6ff4",
      "parents": [
        "87bcfa33669449e517fda718ed3c2e1899e6541b",
        "4464fcaa9cbfc9c551956b48af203e2f775ca892"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 25 11:24:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 25 11:24:37 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 typo in read() output generation\n  perf tools: Check perf.data owner\n"
    },
    {
      "commit": "44afa9a4b8c5773f47e6494da12ca086c9ffea34",
      "tree": "0945f4dbbc785382e0d7e8607897fb360f550c52",
      "parents": [
        "7d63e6359a2e86cd6335337de99354ab07680c55",
        "f833bab87fca5c3ce13778421b1365845843b976"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 25 11:24:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 25 11:24:04 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  clockevent: Prevent dead lock on clockevents_lock\n  timers: Drop write permission on /proc/timer_list\n"
    },
    {
      "commit": "7d63e6359a2e86cd6335337de99354ab07680c55",
      "tree": "8d33df8863b171a88508868c6670e0a553e44a30",
      "parents": [
        "9f459fadbb38abe68aa342f533ca17d8d90d6f2e",
        "4a683bf94b8a10e2bb0da07aec3ac0a55e5de61f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 25 11:23:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 25 11:23:43 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 too large stack usage in do_one_initcall()\n  tracing: handle broken names in ftrace filter\n  ftrace: Unify effect of writing to trace_options and option/*\n"
    },
    {
      "commit": "4464fcaa9cbfc9c551956b48af203e2f775ca892",
      "tree": "769a0bb37bb177062be7c26ed0a1db6b103c2032",
      "parents": [
        "fa6963b2481beff8b11f76006fbb63fdbbf2d2d7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Aug 21 17:19:36 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Aug 21 18:00:35 2009 +0200"
      },
      "message": "perf_counter: Fix typo in read() output generation\n\nWhen you iterate a list, using the iterator is useful.\n\nBefore:\n\n   ID: 5\n   ID: 5\n   ID: 5\n   ID: 5\n   EVNT: 0x40088b scale: nan ID: 5 CNT: 1006252 ID: 6 CNT: 1011090 ID: 7 CNT: 1011196 ID: 8 CNT: 1011095\n   EVNT: 0x40088c scale: 1.000000 ID: 5 CNT: 2003065 ID: 6 CNT: 2011671 ID: 7 CNT: 2012620 ID: 8 CNT: 2013479\n   EVNT: 0x40088c scale: 1.000000 ID: 5 CNT: 3002390 ID: 6 CNT: 3015996 ID: 7 CNT: 3018019 ID: 8 CNT: 3020006\n   EVNT: 0x40088b scale: 1.000000 ID: 5 CNT: 4002406 ID: 6 CNT: 4021120 ID: 7 CNT: 4024241 ID: 8 CNT: 4027059\n\nAfter:\n\n   ID: 1\n   ID: 2\n   ID: 3\n   ID: 4\n   EVNT: 0x400889 scale: nan ID: 1 CNT: 1005270 ID: 2 CNT: 1009833 ID: 3 CNT: 1010065 ID: 4 CNT: 1010088\n   EVNT: 0x400898 scale: nan ID: 1 CNT: 2001531 ID: 2 CNT: 2022309 ID: 3 CNT: 2022470 ID: 4 CNT: 2022627\n   EVNT: 0x400888 scale: 0.489467 ID: 1 CNT: 3001261 ID: 2 CNT: 3027088 ID: 3 CNT: 3027941 ID: 4 CNT: 3028762\n\nReported-by: stephane eranian \u003ceranian@googlemail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey J Ashford \u003ccjashfor@us.ibm.com\u003e\nCc: perfmon2-devel \u003cperfmon2-devel@lists.sourceforge.net\u003e\nLKML-Reference: \u003c1250867976.7538.73.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d46c7d9ab8289f23a5e161060b84fd7e63de7921",
      "tree": "347f049f3c3c9dcd0c8e9edd459d7d6b9bbacfaf",
      "parents": [
        "c124891f50f11e33acdfa276864ea089bab726b6",
        "b395cd8a74b4a8d943dd4b5585e676f62f7350b3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 19 09:43:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 19 09:43:19 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Make \u0027make html\u0027 work\n  perf annotate: Fix segmentation fault\n  perf_counter: Fix the PARISC build\n  perf_counter: Check task on counter read IPI\n  perf: Rename perf-examples.txt to examples.txt\n  perf record: Fix typo in pid_synthesize_comm_event\n"
    },
    {
      "commit": "f833bab87fca5c3ce13778421b1365845843b976",
      "tree": "020c3e6a70dba34544c963c34647b605035be8fb",
      "parents": [
        "de809347aeef0a68c04576c464414d0e4dce59fc"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Aug 17 14:34:59 2009 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 19 18:15:10 2009 +0200"
      },
      "message": "clockevent: Prevent dead lock on clockevents_lock\n\nCurrently clockevents_notify() is called with interrupts enabled at\nsome places and interrupts disabled at some other places.\n\nThis results in a deadlock in this scenario.\n\ncpu A holds clockevents_lock in clockevents_notify() with irqs enabled\ncpu B waits for clockevents_lock in clockevents_notify() with irqs disabled\ncpu C doing set_mtrr() which will try to rendezvous of all the cpus.\n\nThis will result in C and A come to the rendezvous point and waiting\nfor B. B is stuck forever waiting for the spinlock and thus not\nreaching the rendezvous point.\n\nFix the clockevents code so that clockevents_lock is taken with\ninterrupts disabled and thus avoid the above deadlock.\n\nAlso call lapic_timer_propagate_broadcast() on the destination cpu so\nthat we avoid calling smp_call_function() in the clockevents notifier\nchain.\n\nThis issue left us wondering if we need to change the MTRR rendezvous\nlogic to use stop machine logic (instead of smp_call_function) or add\na check in spinlock debug code to see if there are other spinlocks\nwhich gets taken under both interrupts enabled/disabled conditions.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: \"Pallipadi Venkatesh\" \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: \"Brown Len\" \u003clen.brown@intel.com\u003e\nLKML-Reference: \u003c1250544899.2709.210.camel@sbs-t61.sc.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "eda1e328556565e211b7450250e40d6de751563a",
      "tree": "a0d4d6c056f3c4452a9a7d0e4b9af52e7a2d089d",
      "parents": [
        "f2d84b65b9778e8a35dd904f7d3993f0a60c9756"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Tue Aug 11 17:29:04 2009 +0200"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Aug 18 20:39:48 2009 -0400"
      },
      "message": "tracing: handle broken names in ftrace filter\n\nIf one filter item (for set_ftrace_filter and set_ftrace_notrace) is being\nsetup by more than 1 consecutive writes (FTRACE_ITER_CONT flag), it won\u0027t\nbe handled corretly.\n\nI used following program to test/verify:\n\n[snip]\n#include \u003cstdio.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/stat.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cstring.h\u003e\n\nint main(int argc, char **argv)\n{\n        int fd, i;\n        char *file \u003d argv[1];\n\n        if (-1 \u003d\u003d (fd \u003d open(file, O_WRONLY))) {\n                perror(\"open failed\");\n                return -1;\n        }\n\n        for(i \u003d 0; i \u003c (argc - 2); i++) {\n                int len \u003d strlen(argv[2+i]);\n                int cnt, off \u003d 0;\n\n                while(len) {\n                        cnt \u003d write(fd, argv[2+i] + off, len);\n                        len -\u003d cnt;\n                        off +\u003d cnt;\n                }\n        }\n\n        close(fd);\n        return 0;\n}\n[snip]\n\nbefore change:\nsh-4.0# echo \u003e ./set_ftrace_filter\nsh-4.0# /test ./set_ftrace_filter \"sys\" \"_open \"\nsh-4.0# cat ./set_ftrace_filter\n#### all functions enabled ####\nsh-4.0#\n\nafter change:\nsh-4.0# echo \u003e ./set_ftrace_notrace\nsh-4.0# test ./set_ftrace_notrace \"sys\" \"_open \"\nsh-4.0# cat ./set_ftrace_notrace\nsys_open\nsh-4.0#\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLKML-Reference: \u003c20090811152904.GA26065@jolsa.lab.eng.brq.redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0753ba01e126020bf0f8150934903b48935b697d",
      "tree": "fbfd7e2d0abbe724a8c5e0e17fb9af522ed2e097",
      "parents": [
        "89a4eb4b66e8f4d395e14a14d262dac4d6ca52f0"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Aug 18 14:11:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 18 16:31:13 2009 -0700"
      },
      "message": "mm: revert \"oom: move oom_adj value\"\n\nThe commit 2ff05b2b (oom: move oom_adj value) moveed the oom_adj value to\nthe mm_struct.  It was a very good first step for sanitize OOM.\n\nHowever Paul Menage reported the commit makes regression to his job\nscheduler.  Current OOM logic can kill OOM_DISABLED process.\n\nWhy? His program has the code of similar to the following.\n\n\t...\n\tset_oom_adj(OOM_DISABLE); /* The job scheduler never killed by oom */\n\t...\n\tif (vfork() \u003d\u003d 0) {\n\t\tset_oom_adj(0); /* Invoked child can be killed */\n\t\texecve(\"foo-bar-cmd\");\n\t}\n\t....\n\nvfork() parent and child are shared the same mm_struct.  then above\nset_oom_adj(0) doesn\u0027t only change oom_adj for vfork() child, it\u0027s also\nchange oom_adj for vfork() parent.  Then, vfork() parent (job scheduler)\nlost OOM immune and it was killed.\n\nActually, fork-setting-exec idiom is very frequently used in userland program.\nWe must not break this assumption.\n\nThen, this patch revert commit 2ff05b2b and related commit.\n\nReverted commit list\n---------------------\n- commit 2ff05b2b4e (oom: move oom_adj value from task_struct to mm_struct)\n- commit 4d8b9135c3 (oom: avoid unnecessary mm locking and scanning for OOM_DISABLE)\n- commit 8123681022 (oom: only oom kill exiting tasks with attached memory)\n- commit 933b787b57 (mm: copy over oom_adj value at fork time)\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcd94dbdaff452b95d4ba11fdbf853b5bda8e6e7",
      "tree": "c8cf95ed132136934459ca61e5cbadddb7440512",
      "parents": [
        "8486a0f95c844b27ecc855cfec89b7e34f831cad",
        "69ab849439b506cd8dd2879527fdb64d95dd5211"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 18 13:57:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 18 13:57:38 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: Wake up irq thread after action has been installed\n"
    },
    {
      "commit": "69ab849439b506cd8dd2879527fdb64d95dd5211",
      "tree": "059fba8bcb8147fafcd4e86db61f0f88d6a84095",
      "parents": [
        "2d860ad76f4ee4d2eba0fe3797c8d7cdce432cc0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Aug 17 14:07:16 2009 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Aug 18 17:22:43 2009 +0200"
      },
      "message": "genirq: Wake up irq thread after action has been installed\n\nThe wake_up_process() of the new irq thread in __setup_irq() is too\nearly as the irqaction is not yet fully initialized especially\naction-\u003eirq is not yet set. The interrupt thread might dereference the\nwrong irq descriptor.\n\nMove the wakeup after the action is installed and action-\u003eirq has been\nset.\n\nReported-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Michael Buesch \u003cmb@bu3sch.de\u003e\n"
    },
    {
      "commit": "f738eb1b63edf664da1b4ac76895d988749b2f07",
      "tree": "77f6074359c55803850e5ced16e223087db2dccb",
      "parents": [
        "e1ac3614ff606ae03677f47459113f98a19af63c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 18 11:32:24 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 18 11:34:13 2009 +0200"
      },
      "message": "perf_counter: Fix the PARISC build\n\nPARISC does not build:\n\n/home/mingo/tip/kernel/perf_counter.c: In function \u0027perf_counter_index\u0027:\n/home/mingo/tip/kernel/perf_counter.c:2016: error: \u0027PERF_COUNTER_INDEX_OFFSET\u0027 undeclared (first use in this function)\n/home/mingo/tip/kernel/perf_counter.c:2016: error: (Each undeclared identifier is reported only once\n/home/mingo/tip/kernel/perf_counter.c:2016: error: for each function it appears in.)\n\nAs PERF_COUNTER_INDEX_OFFSET is not defined.\n\nNow, we could define it in the architecture - but lets also provide\na core default of 0 (which happens to be what all but one\narchitecture uses at the moment).\n\nArchitectures that need a different index offset should set this\nvalue in their asm/perf_counter.h files.\n\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: linux-parisc@vger.kernel.org\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f2d84b65b9778e8a35dd904f7d3993f0a60c9756",
      "tree": "472a349bcc647cdf99c55f832156492478734f99",
      "parents": [
        "df4ecf1524c7793de3121b2d4e5fc6bcc0da3bfb"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Fri Aug 07 18:55:48 2009 +0800"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Aug 18 02:07:04 2009 +0200"
      },
      "message": "ftrace: Unify effect of writing to trace_options and option/*\n\n\"echo noglobal-clock \u003e trace_options\" can be used to change trace\nclock but \"echo 0 \u003e options/global-clock\" can\u0027t. The flag toggling\nwill be silently accepted without actually changing the clock callback.\n\nWe can fix it by using set_tracer_flags() in\ntrace_options_core_write().\n\nChangelog:\nv1-\u003ev2: Simplified switch() after Li Zefan \u003clizf@cn.fujitsu.com\u003e\u0027s\n        suggestion\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003csrostedt@redhat.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "de809347aeef0a68c04576c464414d0e4dce59fc",
      "tree": "e3f05312abaabe0bcda04b6e8e220374c20cf292",
      "parents": [
        "b2add73dbf93fd50f00564d7abc3e2b9aa9dd20c"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Mon Aug 17 05:43:01 2009 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 17 11:47:31 2009 +0200"
      },
      "message": "timers: Drop write permission on /proc/timer_list\n\n/proc/timer_list and /proc/slabinfo are not supposed to be\nwritten, so there should be no write permissions on it.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: linux-mm@kvack.org\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nLKML-Reference: \u003c20090817094525.6355.88682.sendpatchset@localhost.localdomain\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e1ac3614ff606ae03677f47459113f98a19af63c",
      "tree": "e2317686271461fad79cf88280f8a2eadf5bb88d",
      "parents": [
        "2932cffc89e9a1476b28a59896fa4f81e0d4f131"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Aug 14 15:39:10 2009 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 17 11:38:13 2009 +0200"
      },
      "message": "perf_counter: Check task on counter read IPI\n\nIn general, code in perf_counter.c that is called through an\nIPI checks, for per-task counters, that the counter\u0027s task is\nstill the current task.  This is to handle the race condition\nwhere the cpu switches from the task we want to another task in\nthe interval between sending the IPI and the IPI arriving and\nbeing handled on the target CPU.\n\nFor some reason, __perf_counter_read is missing this check, yet\nthere is no reason why the race condition can\u0027t occur.  This\nadds a check that the current task is the one we want.  If it\nisn\u0027t, we just return.  In that case the counter-\u003ecount value\nshould be up to date, since it will have been updated when the\ncounter was scheduled out, which must have happened since the\nIPI was sent.\n\nI don\u0027t have an example of an actual failure due to this race,\nbut it seems obvious that it could occur and we need to guard\nagainst it.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c19076.63614.277861.368125@drongo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "788084aba2ab7348257597496befcbccabdc98a3",
      "tree": "2da42d746d67b16ef705229a1b5a3528ec19c725",
      "parents": [
        "8cf948e744e0218af604c32edecde10006dc8e9e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 31 12:54:11 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Aug 17 15:09:11 2009 +1000"
      },
      "message": "Security/SELinux: seperate lsm specific mmap_min_addr\n\nCurrently SELinux enforcement of controls on the ability to map low memory\nis determined by the mmap_min_addr tunable.  This patch causes SELinux to\nignore the tunable and instead use a seperate Kconfig option specific to how\nmuch space the LSM should protect.\n\nThe tunable will now only control the need for CAP_SYS_RAWIO and SELinux\npermissions will always protect the amount of low memory designated by\nCONFIG_LSM_MMAP_MIN_ADDR.\n\nThis allows users who need to disable the mmap_min_addr controls (usual reason\nbeing they run WINE as a non-root user) to do so and still have SELinux\ncontrols preventing confined domains (like a web server) from being able to\nmap some area of low memory.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\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": "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"
    }
  ],
  "next": "966ee4d6b887c14159043ac80b8c3661d2bbe5e2"
}
