)]}'
{
  "log": [
    {
      "commit": "87f44bbc246c5244c76a701f8eefba7788bce64a",
      "tree": "1370af780bf3bae9e025766f5bbfa9418bb8b68b",
      "parents": [
        "d67f088e084755bdceb4f15bc6e05e309db1eea7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue May 25 11:02:55 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 25 11:28:49 2010 +0200"
      },
      "message": "perf, trace: Fix !x86 build bug\n\nPatch b7e2ecef92 (perf, trace: Optimize tracepoints by removing\nIRQ-disable from perf/tracepoint interaction) made the\nunfortunate mistake of assuming the world is x86 only, correct\nthis.\n\nThe problem was that perf_fetch_caller_regs() did\nlocal_save_flags() into regs-\u003eflags, and I re-used that to\nremove another local_save_flags(), forgetting !x86 doesn\u0027t have\nregs-\u003eflags.\n\nDo the reverse, remove the local_save_flags() from\nperf_fetch_caller_regs() and let the ftrace site do the\nlocal_save_flags() instead.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: acme@redhat.com\nCc: efault@gmx.de\nCc: fweisbec@gmail.com\nCc: rostedt@goodmis.org\nLKML-Reference: \u003c1274778175.5882.623.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff5f149b6aec8edbfa3698721667acd043009a33",
      "tree": "d052553eb296dfee3f01b1cb2b717cb7ccf3127a",
      "parents": [
        "f0218b3e9974f06014b61be8987159f4a20e011e",
        "580d607cd666dfabfc1c7b0fb08c8ac690c7c87f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 21 11:49:57 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 21 11:49:57 2010 -0400"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into trace/tip/tracing/core-7\n\nConflicts:\n\tinclude/linux/ftrace_event.h\n\tinclude/trace/ftrace.h\n\tkernel/trace/trace_event_perf.c\n\tkernel/trace/trace_kprobe.c\n\tkernel/trace/trace_syscalls.c\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "580d607cd666dfabfc1c7b0fb08c8ac690c7c87f",
      "tree": "6d7c87d60b12adbacd4dbcb8c784975bc1203228",
      "parents": [
        "a94ffaaf55552769af328eaca9260fe6291c66c7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 20:54:31 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:38:00 2010 +0200"
      },
      "message": "perf: Optimize perf_tp_event_match()\n\nSince we know tracepoints come from kernel context,\navoid conditionals that try and establish that very\nfact.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.904944001@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a94ffaaf55552769af328eaca9260fe6291c66c7",
      "tree": "39339b21a962b50c6f8be09786fcb41cdc4a8459",
      "parents": [
        "3cafa9fbb5c1d564b7b8e7224f493effbf04ffee"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 19:50:07 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:59 2010 +0200"
      },
      "message": "perf: Remove more code from the fastpath\n\nSanity checks cost instructions.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.852926930@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3cafa9fbb5c1d564b7b8e7224f493effbf04ffee",
      "tree": "c046895789900e8a031b241e79e7f0d45d7e39f0",
      "parents": [
        "5d967a8be636a4f301a8daad642bd1007299d9ec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 19:07:56 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:59 2010 +0200"
      },
      "message": "perf: Optimize the !vmalloc backed buffer\n\nReduce code and data by using the knowledge that for\n!PERF_USE_VMALLOC data_order is always 0.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.795019386@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d967a8be636a4f301a8daad642bd1007299d9ec",
      "tree": "a55fa9c068f4a25a0de62797994353a36e165ca5",
      "parents": [
        "adb8e118f288dc4c569ac9a89010b81a4745fbf0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 16:46:39 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:59 2010 +0200"
      },
      "message": "perf: Optimize perf_output_copy()\n\nReduce the clutter in perf_output_copy() by keeping\nan interator in perf_output_handle.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.742809176@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "adb8e118f288dc4c569ac9a89010b81a4745fbf0",
      "tree": "40f2bbbe7c59fb4b4a44120fa9cc79822b68e545",
      "parents": [
        "0e2e63dd608bf5844ffae7bf7d860de18a62724c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 16:21:55 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:58 2010 +0200"
      },
      "message": "perf: Fix wakeup storm for RO mmap()s\n\nRO mmap()s don\u0027t update the tail pointer, so\ncomparing against it for determining the written data\nsize doesn\u0027t really do any good.\n\nKeep track of when we last did a wakeup, and compare\nagainst that.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.684479310@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f139300c9057c16b5833a4636b715b104fe0baa",
      "tree": "e7b19c4fc8599fb683cee1b618b28a8aa16208e2",
      "parents": [
        "1c024eca51fdc965290acf342ae16a476c2189d0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 14:35:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:57 2010 +0200"
      },
      "message": "perf: Ensure that IOC_OUTPUT isn\u0027t used to create multi-writer buffers\n\nSince we want to ensure buffers only have a single\nwriter, we must avoid creating one with multiple.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.528215873@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c024eca51fdc965290acf342ae16a476c2189d0",
      "tree": "28dc160cc70a20eeb8b8825d6d52ea88a6188413",
      "parents": [
        "b7e2ecef92d2e7785e6d76b41e5ba8bcbc45259d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 19 14:02:22 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:56 2010 +0200"
      },
      "message": "perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track events\n\nAvoid the swevent hash-table by using per-tracepoint\nhlists.\n\nAlso, avoid conditionals on the fast path by ordering\nwith probe unregister so that we should never get on\nthe callback path without the data being there.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.473188012@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b7e2ecef92d2e7785e6d76b41e5ba8bcbc45259d",
      "tree": "341c3a03743108bbdf82ee0eed9f4c4085f1b694",
      "parents": [
        "1c34bde13a3cdcd4c7c6322f8052e67c2c91caf1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 19 10:52:27 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:56 2010 +0200"
      },
      "message": "perf, trace: Optimize tracepoints by removing IRQ-disable from perf/tracepoint interaction\n\nImproves performance.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1274259525.5605.10352.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acd35a463cb2a8d2b28e094d718cf6e653ad7191",
      "tree": "65f9392ef5b670eafa819138602a8c49458040ab",
      "parents": [
        "dfacc4d6c98b89609250269f518c1f54c30454ef"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 20 21:28:34 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 20 21:28:34 2010 +0200"
      },
      "message": "perf: Fix forgotten preempt_enable by nested writers\n\nA writer that gets a reference to the buffer handle disables\npreemption. When we put that reference, we check if we are\nthe outer most writer and if not, we simply return and defer\nthe head update to the outer most writer. The problem here\nis that preemption is only reenabled by the outer most, that\nproduces preemption count imbalance for every nested writer\nthat exit.\n\nSo just don\u0027t forget to always re-enable preemption when we\nput the buffer reference, whoever we are.\n\nFixes lots of sleeping in atomic warnings, visible with lock\nevents recording.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "dfacc4d6c98b89609250269f518c1f54c30454ef",
      "tree": "e7effbee7bdc85d18f7b26ab9cb5c9f700d1481a",
      "parents": [
        "f869097e884d8cb65b2bb7831ca57b7dffb66fdd",
        "85cb68b27c428d477169f3aa46c72dba103a17bd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 20 14:38:55 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 20 14:38:55 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "49f135ed02828a58b2401f149926c2e3c9cb0116",
      "tree": "6f5541da5ad60131eb32beb42083443705351750",
      "parents": [
        "cbb5cf7ff6b298beacfe23db3386335b0b9c0a2d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 20 10:17:46 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 20 10:40:37 2010 +0200"
      },
      "message": "perf: Comply with new rcu checks API\n\nThe software events hlist doesn\u0027t fully comply with the new\nrcu checks api.\n\nWe need to consider three different sides that access the hlist:\n\n- the hlist allocation/release side. This side happens when an\n  events is created or released, accesses to the hlist are\n  serialized under the cpuctx mutex.\n\n- the events insertion/removal in the hlist. This side is always\n  serialized against the above one. The hlist is always present\n  during such operations. This side happens when a software event\n  is scheduled in/out. The serialization that ensures the software\n  event is really attached to the context is made under the\n  ctx-\u003elock.\n\n- events triggering. This is the read side, it can happen\n  concurrently with any update side.\n\nThis patch deals with them one by one and anticipates with the\nseparate rcu mem space patches in preparation.\n\nThis patch fixes various annoying rcu warnings.\n\nReported-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "6d1acfd5c6bfd5231c13a8f2858d7f2afbaa1b62",
      "tree": "abcfa95947cafc94c978a255b814472fe67cad22",
      "parents": [
        "fa5881514ef9c9bcb29319aad85cf2d8889d91f1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 18 11:12:48 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:49 2010 +0200"
      },
      "message": "perf: Optimize perf_output_*() by avoiding local_xchg()\n\nSince the x86 XCHG ins implies LOCK, avoid the use by\nusing a sequence count instead.\n\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": "fa5881514ef9c9bcb29319aad85cf2d8889d91f1",
      "tree": "4ca8bc35591b05adc8556358fb91498d2057c394",
      "parents": [
        "ef60777c9abd999db5eb4e338aae3eb593ae8e10"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 18 10:54:20 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:49 2010 +0200"
      },
      "message": "perf: Optimize the hotpath by converting the perf output buffer to local_t\n\nSince there is now only a single writer, we can use\nlocal_t instead and avoid all these pesky LOCK insn.\n\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": "ef60777c9abd999db5eb4e338aae3eb593ae8e10",
      "tree": "2dee468a922ebea2241d1c1ec10e581d62bf2db6",
      "parents": [
        "c7920614cebbf269a7c8397ff959a8dcf727465c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 18 10:50:41 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:48 2010 +0200"
      },
      "message": "perf: Optimize the perf_output() path by removing IRQ-disables\n\nSince we can now assume there is only a single writer\nto each buffer, we can remove per-cpu lock thingy and\nuse a simply nest-count to the same effect.\n\nThis removes the need to disable IRQs.\n\nSigned-off-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": "c7920614cebbf269a7c8397ff959a8dcf727465c",
      "tree": "d1ca38ee77cb4160660efb97b8bdc2e5c44967c1",
      "parents": [
        "a19d35c11fd559dd7dfd5a2078df7c9af74a5d88"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 18 10:33:24 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:48 2010 +0200"
      },
      "message": "perf: Disallow mmap() on per-task inherited events\n\nSince we now have working per-task-per-cpu events for\na while, disallow mmap() on per-task inherited\nevents. Those things were a performance problem\nanyway, and doing away with it allows us to optimize\nthe buffer somewhat by assuming there is only a\nsingle writer.\n\nSigned-off-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": "a19d35c11fd559dd7dfd5a2078df7c9af74a5d88",
      "tree": "54cc4f3f5813eb7afd81d089d581a098df896f11",
      "parents": [
        "00d1d0b095ba4e5c0958cb228b2a9c445d4a339d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon May 17 18:48:00 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:47 2010 +0200"
      },
      "message": "perf: Optimize buffer placement by allocating buffers NUMA aware\n\nEnsure cpu bound buffers live on the right NUMA node.\n\nSuggested-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-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: \u003c1274114880.5605.5236.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00d1d0b095ba4e5c0958cb228b2a9c445d4a339d",
      "tree": "68e96107d3297f97c232dac4a5548a8abb9bf42f",
      "parents": [
        "4f41c013f553957765902fb01475972f0af3e8e7"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon May 17 12:46:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:47 2010 +0200"
      },
      "message": "perf: Fix errors path in perf_output_begin()\n\nIn case the sampling buffer has no \"payload\" pages,\nnr_pages is 0. The problem is that the error path in\nperf_output_begin() skips to a label which assumes\nperf_output_lock() has been issued which is not the\ncase. That triggers a WARN_ON() in\nperf_output_unlock().\n\nThis patch fixes the problem by skipping\nperf_output_unlock() in case data-\u003enr_pages is 0.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-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: \u003c4bf13674.014fd80a.6c82.ffffb20c@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4f41c013f553957765902fb01475972f0af3e8e7",
      "tree": "ddaa54947cc990094a4b270f2f8b3d6da195044f",
      "parents": [
        "ef4f30f54e265c2f6f9ac9eda4db158a4e16050b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 18 18:08:32 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:46 2010 +0200"
      },
      "message": "perf/ftrace: Optimize perf/tracepoint interaction for single events\n\nWhen we\u0027ve got but a single event per tracepoint\nthere is no reason to try and multiplex it so don\u0027t.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "752f114fb83c5839de37a250b4f8257ed5438341",
      "tree": "c565c3b6670d21ad7f5cd6cdda5864a76d3f2e0c",
      "parents": [
        "b8ae30ee26d379db436b0b8c8c3ff1b52f69e5d1",
        "ad56b0797e67df5e04b2f1a1e02900145c5c16f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:35:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:35:04 2010 -0700"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Fix \"integer as NULL pointer\" warning.\n  tracing: Fix tracepoint.h DECLARE_TRACE() to allow more than one header\n  tracing: Make the documentation clear on trace_event boot option\n  ring-buffer: Wrap open-coded WARN_ONCE\n  tracing: Convert nop macros to static inlines\n  tracing: Fix sleep time function profiling\n  tracing: Show sample std dev in function profiling\n  tracing: Add documentation for trace commands mod, traceon/traceoff\n  ring-buffer: Make benchmark handle missed events\n  ring-buffer: Make non-consuming read less expensive with lots of cpus.\n  tracing: Add graph output support for irqsoff tracer\n  tracing: Have graph flags passed in to ouput functions\n  tracing: Add ftrace events for graph tracer\n  tracing: Dump either the oops\u0027s cpu source or all cpus buffers\n  tracing: Fix uninitialized variable of tracing/trace output\n"
    },
    {
      "commit": "b8ae30ee26d379db436b0b8c8c3ff1b52f69e5d1",
      "tree": "506aa0b4bdbf90f61e7e9261c7db90aa1452dcce",
      "parents": [
        "4d7b4ac22fbec1a03206c6cde353f2fd6942f828",
        "9c6f7e43b4e02c161b53e97ba913855246876c61"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:27:54 2010 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (49 commits)\n  stop_machine: Move local variable closer to the usage site in cpu_stop_cpu_callback()\n  sched, wait: Use wrapper functions\n  sched: Remove a stale comment\n  ondemand: Make the iowait-is-busy time a sysfs tunable\n  ondemand: Solve a big performance issue by counting IOWAIT time as busy\n  sched: Intoduce get_cpu_iowait_time_us()\n  sched: Eliminate the ts-\u003eidle_lastupdate field\n  sched: Fold updating of the last_update_time_info into update_ts_time_stats()\n  sched: Update the idle statistics in get_cpu_idle_time_us()\n  sched: Introduce a function to update the idle statistics\n  sched: Add a comment to get_cpu_idle_time_us()\n  cpu_stop: add dummy implementation for UP\n  sched: Remove rq argument to the tracepoints\n  rcu: need barrier() in UP synchronize_sched_expedited()\n  sched: correctly place paranioa memory barriers in synchronize_sched_expedited()\n  sched: kill paranoia check in synchronize_sched_expedited()\n  sched: replace migration_thread with cpu_stop\n  stop_machine: reimplement using cpu_stop\n  cpu_stop: implement stop_cpu[s]()\n  sched: Fix select_idle_sibling() logic in select_task_rq_fair()\n  ...\n"
    },
    {
      "commit": "4d7b4ac22fbec1a03206c6cde353f2fd6942f828",
      "tree": "2d96a9e9c28cf6fa628a278decc00ad55a8b043b",
      "parents": [
        "3aaf51ace5975050ab43c7d4d7e439e0ae7d13d7",
        "94f3ca95787ada3d64339a4ecb2754236ab563f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:19:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:19:03 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (311 commits)\n  perf tools: Add mode to build without newt support\n  perf symbols: symbol inconsistency message should be done only at verbose\u003d1\n  perf tui: Add explicit -lslang option\n  perf options: Type check all the remaining OPT_ variants\n  perf options: Type check OPT_BOOLEAN and fix the offenders\n  perf options: Check v type in OPT_U?INTEGER\n  perf options: Introduce OPT_UINTEGER\n  perf tui: Add workaround for slang \u003c 2.1.4\n  perf record: Fix bug mismatch with -c option definition\n  perf options: Introduce OPT_U64\n  perf tui: Add help window to show key associations\n  perf tui: Make \u003c- exit menus too\n  perf newt: Add single key shortcuts for zoom into DSO and threads\n  perf newt: Exit browser unconditionally when CTRL+C, q or Q is pressed\n  perf newt: Fix the \u0027A\u0027/\u0027a\u0027 shortcut for annotate\n  perf newt: Make \u003c- exit the ui_browser\n  x86, perf: P4 PMU - fix counters management logic\n  perf newt: Make \u003c- zoom out filters\n  perf report: Report number of events, not samples\n  perf hist: Clarify events_stats fields usage\n  ...\n\nFix up trivial conflicts in kernel/fork.c and tools/perf/builtin-record.c\n"
    },
    {
      "commit": "3aaf51ace5975050ab43c7d4d7e439e0ae7d13d7",
      "tree": "3ceb741d8b78c6dc78be3fd2e4f8aac443044787",
      "parents": [
        "f262af3d08d3fffc4e11277d3a177b2d67ea2aba",
        "cc49b092d308f8ea8634134b0d95d831a88a674b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:18:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:18:07 2010 -0700"
      },
      "message": "Merge branch \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits)\n  oprofile/x86: make AMD IBS hotplug capable\n  oprofile/x86: notify cpus only when daemon is running\n  oprofile/x86: reordering some functions\n  oprofile/x86: stop disabled counters in nmi handler\n  oprofile/x86: protect cpu hotplug sections\n  oprofile/x86: remove CONFIG_SMP macros\n  oprofile/x86: fix uninitialized counter usage during cpu hotplug\n  oprofile/x86: remove duplicate IBS capability check\n  oprofile/x86: move IBS code\n  oprofile/x86: return -EBUSY if counters are already reserved\n  oprofile/x86: moving shutdown functions\n  oprofile/x86: reserve counter msrs pairwise\n  oprofile/x86: rework error handler in nmi_setup()\n  oprofile: update file list in MAINTAINERS file\n  oprofile: protect from not being in an IRQ context\n  oprofile: remove double ring buffering\n  ring-buffer: Add lost event count to end of sub buffer\n  tracing: Show the lost events in the trace_pipe output\n  ring-buffer: Add place holder recording of dropped events\n  tracing: Fix compile error in module tracepoints when MODULE_UNLOAD not set\n  ...\n"
    },
    {
      "commit": "f262af3d08d3fffc4e11277d3a177b2d67ea2aba",
      "tree": "cf5e4ac1bc39fe46cfbf4d17a0e9c71ee43b9728",
      "parents": [
        "1014cfe2fb4cdd663137aafb21448cb613dd6a7d",
        "72d5a9f7a9542f88397558c65bcfc3b115a65e34"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:17:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:17:58 2010 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits)\n  rcu: remove all rcu head initializations, except on_stack initializations\n  rcu head introduce rcu head init on stack\n  Debugobjects transition check\n  rcu: fix build bug in RCU_FAST_NO_HZ builds\n  rcu: RCU_FAST_NO_HZ must check RCU dyntick state\n  rcu: make SRCU usable in modules\n  rcu: improve the RCU CPU-stall warning documentation\n  rcu: reduce the number of spurious RCU_SOFTIRQ invocations\n  rcu: permit discontiguous cpu_possible_mask CPU numbering\n  rcu: improve RCU CPU stall-warning messages\n  rcu: print boot-time console messages if RCU configs out of ordinary\n  rcu: disable CPU stall warnings upon panic\n  rcu: enable CPU_STALL_VERBOSE by default\n  rcu: slim down rcutiny by removing rcu_scheduler_active and friends\n  rcu: refactor RCU\u0027s context-switch handling\n  rcu: rename rcutiny rcu_ctrlblk to rcu_sched_ctrlblk\n  rcu: shrink rcutiny by making synchronize_rcu_bh() be inline\n  rcu: fix now-bogus rcu_scheduler_active comments.\n  rcu: Fix bogus CONFIG_PROVE_LOCKING in comments to reflect reality.\n  rcu: ignore offline CPUs in last non-dyntick-idle CPU check\n  ...\n"
    },
    {
      "commit": "1014cfe2fb4cdd663137aafb21448cb613dd6a7d",
      "tree": "13b5fc4e7036b4226d94bd33aefb74a3dbb25b6a",
      "parents": [
        "8123d8f17d8ba9d67e556688e4f025456ca97842",
        "4726f2a617ebd868a4fdeb5679613b897e5f1676"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:17:35 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 18 08:17:35 2010 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  lockdep: Reduce stack_trace usage\n  lockdep: No need to disable preemption in debug atomic ops\n  lockdep: Actually _dec_ in debug_atomic_dec\n  lockdep: Provide off case for redundant_hardirqs_on increment\n  lockdep: Simplify debug atomic ops\n  lockdep: Fix redundant_hardirqs_on incremented with irqs enabled\n  lockstat: Make lockstat counting per cpu\n  i8253: Convert i8253_lock to raw_spinlock\n"
    },
    {
      "commit": "f0218b3e9974f06014b61be8987159f4a20e011e",
      "tree": "29a593c4d71ab18cb0c450a34e79bf6bea66877e",
      "parents": [
        "1eaa4787a774c4896518c81f24e8bccaa2244924",
        "9d192e118a094087494997ea1c8a2faf39af38c5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon May 17 22:26:53 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 18 00:35:23 2010 -0400"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into trace/tip/tracing/core-6\n\nConflicts:\n\tinclude/trace/ftrace.h\n\tkernel/trace/trace_kprobe.c\n\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9c6f7e43b4e02c161b53e97ba913855246876c61",
      "tree": "f305ceacff1af61d53bcdd403fced5fef54a7ef0",
      "parents": [
        "a93d2f1744206827ccf416e2cdc5018aa503314e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 00:17:44 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 00:17:44 2010 +0200"
      },
      "message": "stop_machine: Move local variable closer to the usage site in cpu_stop_cpu_callback()\n\nThis addresses the following compiler warning:\n\n kernel/stop_machine.c: In function \u0027cpu_stop_cpu_callback\u0027:\n kernel/stop_machine.c:297: warning: unused variable \u0027work\u0027\n\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003ctip-3fc1f1e27a5b807791d72e5d992aa33b668a6626@git.kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3d2c978e0cd8b1157f9eebd13062d61fb7a75ad5",
      "tree": "d7e221e70d14aae2b4e5972ed9715a2cb18a3b98",
      "parents": [
        "81880d603d00c645e0890d0a44d50711c503b72b",
        "b8bc1389b74c2b66255651a6fcfae56c78b6e63f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 17 13:48:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 17 13:48:10 2010 -0700"
      },
      "message": "Merge branch \u0027bkl/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing\n\n* \u0027bkl/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:\n  ptrace: Cleanup useless header\n  ptrace: kill BKL in ptrace syscall\n"
    },
    {
      "commit": "16a2164bb03612efe79a76c73da6da44445b9287",
      "tree": "980cb743acfe0a295d3bc70c263abcd20fd6ba80",
      "parents": [
        "bfcc6e2eca507819e297a4c758ebd6b26e625330"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Fri May 14 19:44:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 14 19:45:06 2010 -0700"
      },
      "message": "profile: fix stats and data leakage\n\nIf the kernel is large or the profiling step small, /proc/profile\nleaks data and readprofile shows silly stats, until readprofile -r\nhas reset the buffer: clear the prof_buffer when it is vmalloc()ed.\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1f7992e015ae1373d66c8068d0a45e4111a0aed",
      "tree": "8d4ce98a0039a5ab13e72f1c1862a595be1d9987",
      "parents": [
        "553552ce1796c32cf4e3d4f45cd5b537de91dd1d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon May 10 11:23:00 2010 +0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:33:24 2010 -0400"
      },
      "message": "tracing: Fix function declarations if !CONFIG_STACKTRACE\n\nftrace_trace_stack() and frace_trace_userstacke() take a\nstruct ring_buffer argument, not struct trace_array. Commit\ne77405ad(\"tracing: pass around ring buffer instead of tracer\")\nmade this change.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nLKML-Reference: \u003c4BE77C14.5010806@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "553552ce1796c32cf4e3d4f45cd5b537de91dd1d",
      "tree": "a65defc1055bcc3e9f34327d2cc59704e536948b",
      "parents": [
        "32c0edaeaad74a7883e736ae0f3798784cfc2a80"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 23 11:12:36 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:33:22 2010 -0400"
      },
      "message": "tracing: Combine event filter_active and enable into single flags field\n\nThe filter_active and enable both use an int (4 bytes each) to\nset a single flag. We can save 4 bytes per event by combining the\ntwo into a single integer.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4894944\t1018052\t 861512\t6774508\t 675eec\tvmlinux.id\n4894871\t1012292\t 861512\t6768675\t 674823\tvmlinux.flags\n\nThis gives us another 5K in savings.\n\nThe modification of both the enable and filter fields are done\nunder the event_mutex, so it is still safe to combine the two.\n\nNote: Although Mathieu gave his Acked-by, he would like it documented\n that the reads of flags are not protected by the mutex. The way the\n code works, these reads will not break anything, but will have a\n residual effect. Since this behavior is the same even before this\n patch, describing this situation is left to another patch, as this\n patch does not change the behavior, but just brought it to Mathieu\u0027s\n attention.\n\nv2: Updated the event trace self test to for this change.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "32c0edaeaad74a7883e736ae0f3798784cfc2a80",
      "tree": "e70784ed690172cb0f1b4365b93aa077d40219c9",
      "parents": [
        "80decc70afc57c87eee9d6b836aec2ecacba3457"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 23 10:38:03 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:33:15 2010 -0400"
      },
      "message": "tracing: Remove duplicate id information in event structure\n\nNow that the trace_event structure is embedded in the ftrace_event_call\nstructure, there is no need for the ftrace_event_call id field.\nThe id field is the same as the trace_event type field.\n\nRemoving the id and re-arranging the structure brings down the tracepoint\nfootprint by another 5K.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4895024\t1023812\t 861512\t6780348\t 6775bc\tvmlinux.print\n4894944\t1018052\t 861512\t6774508\t 675eec\tvmlinux.id\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "80decc70afc57c87eee9d6b836aec2ecacba3457",
      "tree": "3aec4c67a5518a9c4e60a6914c5dbb9eb82e952f",
      "parents": [
        "a9a5776380208a3e48a92d0c763ee1a3b486fb73"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 23 10:00:22 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:20:34 2010 -0400"
      },
      "message": "tracing: Move print functions into event class\n\nCurrently, every event has its own trace_event structure. This is\nfine since the structure is needed anyway. But the print function\nstructure (trace_event_functions) is now separate. Since the output\nof the trace event is done by the class (with the exception of events\ndefined by DEFINE_EVENT_PRINT), it makes sense to have the class\ndefine the print functions that all events in the class can use.\n\nThis makes a bigger deal with the syscall events since all syscall events\nuse the same class. The savings here is another 30K.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4900382\t1048964\t 861512\t6810858\t 67ecea\tvmlinux.init\n4900446\t1049028\t 861512\t6810986\t 67ed6a\tvmlinux.preprint\n4895024\t1023812\t 861512\t6780348\t 6775bc\tvmlinux.print\n\nTo accomplish this, and to let the class know what event is being\nprinted, the event structure is embedded in the ftrace_event_call\nstructure. This should not be an issues since the event structure\nwas created for each event anyway.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a9a5776380208a3e48a92d0c763ee1a3b486fb73",
      "tree": "5ecd41c3b373e2156f5bf748ae777e022296a30c",
      "parents": [
        "0405ab80aa94afb13bf9ac4a6fc9f2923d4b9114"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 22 18:46:14 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:20:32 2010 -0400"
      },
      "message": "tracing: Allow events to share their print functions\n\nMultiple events may use the same method to print their data.\nInstead of having all events have a pointer to their print funtions,\nthe trace_event structure now points to a trace_event_functions structure\nthat will hold the way to print ouf the event.\n\nThe event itself is now passed to the print function to let the print\nfunction know what kind of event it should print.\n\nThis opens the door to consolidating the way several events print\ntheir output.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4900382\t1048964\t 861512\t6810858\t 67ecea\tvmlinux.init\n4900446\t1049028\t 861512\t6810986\t 67ed6a\tvmlinux.preprint\n\nThis change slightly increases the size but is needed for the next change.\n\nv3: Fix the branch tracer events to handle this change.\n\nv2: Fix the new function graph tracer event calls to handle this change.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0405ab80aa94afb13bf9ac4a6fc9f2923d4b9114",
      "tree": "43eedc09bb15ecfda26adb661d59badeacea0de6",
      "parents": [
        "2e33af029556cb8bd22bf4f86f42d540249177ea"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 22 11:46:44 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:20:30 2010 -0400"
      },
      "message": "tracing: Move raw_init from events to class\n\nThe raw_init function pointer in the event is used to initialize\nvarious kinds of events. The type of initialization needed is usually\nclassed to the kind of event it is.\n\nTwo events with the same class will always have the same initialization\nfunction, so it makes sense to move this to the class structure.\n\nPerhaps even making a special system structure would work since\nthe initialization is the same for all events within a system.\nBut since there\u0027s no system structure (yet), this will just move it\nto the class.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4900375\t1053380\t 861512\t6815267\t 67fe23\tvmlinux.fields\n4900382\t1048964\t 861512\t6810858\t 67ecea\tvmlinux.init\n\nThe text grew very slightly, but this is a constant growth that happened\nwith the changing of the C files that call the init code.\nThe bigger savings is the data which will be saved the more events share\na class.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2e33af029556cb8bd22bf4f86f42d540249177ea",
      "tree": "8a479d21300c7692d61093846054f626e3e71ed5",
      "parents": [
        "2239291aeb0379fe47980b0e560e0eb9fd7e82ec"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 22 10:35:55 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:20:23 2010 -0400"
      },
      "message": "tracing: Move fields from event to class structure\n\nMove the defined fields from the event to the class structure.\nSince the fields of the event are defined by the class they belong\nto, it makes sense to have the class hold the information instead\nof the individual events. The events of the same class would just\nhold duplicate information.\n\nAfter this change the size of the kernel dropped another 3K:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4900252\t1057412\t 861512\t6819176\t 680d68\tvmlinux.regs\n4900375\t1053380\t 861512\t6815267\t 67fe23\tvmlinux.fields\n\nAlthough the text increased, this was mainly due to the C files\nhaving to adapt to the change. This is a constant increase, where\nnew tracepoints will not increase the Text. But the big drop is\nin the data size (as well as needed allocations to hold the fields).\nThis will give even more savings as more tracepoints are created.\n\nNote, if just TRACE_EVENT()s are used and not DECLARE_EVENT_CLASS()\nwith several DEFINE_EVENT()s, then the savings will be lost. But\nwe are pushing developers to consolidate events with DEFINE_EVENT()\nso this should not be an issue.\n\nThe kprobes define a unique class to every new event, but are dynamic\nso it should not be a issue.\n\nThe syscalls however have a single class but the fields for the individual\nevents are different. The syscalls use a metadata to define the\nfields. I moved the fields list from the event to the metadata and\nadded a \"get_fields()\" function to the class. This function is used\nto find the fields. For normal events and kprobes, get_fields() just\nreturns a pointer to the fields list_head in the class. For syscall\nevents, it returns the fields list_head in the metadata for the event.\n\nv2:  Fixed the syscall fields. The syscall metadata needs a list\n     of fields for both enter and exit.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2239291aeb0379fe47980b0e560e0eb9fd7e82ec",
      "tree": "e75bb60ec24e6fd7137f01db48e0ea7e5b1eddd4",
      "parents": [
        "38516ab59fbc5b3bb278cf5e1fe2867c70cff32e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Apr 21 12:27:06 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 14:19:14 2010 -0400"
      },
      "message": "tracing: Remove per event trace registering\n\nThis patch removes the register functions of TRACE_EVENT() to enable\nand disable tracepoints. The registering of a event is now down\ndirectly in the trace_events.c file. The tracepoint_probe_register()\nis now called directly.\n\nThe prototypes are no longer type checked, but this should not be\nan issue since the tracepoints are created automatically by the\nmacros. If a prototype is incorrect in the TRACE_EVENT() macro, then\nother macros will catch it.\n\nThe trace_event_class structure now holds the probes to be called\nby the callbacks. This removes needing to have each event have\na separate pointer for the probe.\n\nTo handle kprobes and syscalls, since they register probes in a\ndifferent manner, a \"reg\" field is added to the ftrace_event_class\nstructure. If the \"reg\" field is assigned, then it will be called for\nenabling and disabling of the probe for either ftrace or perf. To let\nthe reg function know what is happening, a new enum (trace_reg) is\ncreated that has the type of control that is needed.\n\nWith this new rework, the 82 kernel events and 618 syscall events\nhas their footprint dramatically lowered:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4914025\t1088868\t 861512\t6864405\t 68be15\tvmlinux.class\n4918492\t1084612\t 861512\t6864616\t 68bee8\tvmlinux.tracepoint\n4900252\t1057412\t 861512\t6819176\t 680d68\tvmlinux.regs\n\nThe size went from 6863829 to 6819176, that\u0027s a total of 44K\nin savings. With tracepoints being continuously added, this is\ncritical that the footprint becomes minimal.\n\nv5: Added #ifdef CONFIG_PERF_EVENTS around a reference to perf\n    specific structure in trace_events.c.\n\nv4: Fixed trace self tests to check probe because regfunc no longer\n    exists.\n\nv3: Updated to handle void *data in beginning of probe parameters.\n    Also added the tracepoint: check_trace_callback_type_##call().\n\nv2: Changed the callback probes to pass void * and typecast the\n    value within the function.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "38516ab59fbc5b3bb278cf5e1fe2867c70cff32e",
      "tree": "904476d7780a27001281b9cb93c7959128f9a1d7",
      "parents": [
        "53da59aa6dd881fd0bbdd058a8a299d90ce9dd1d"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 20 17:04:50 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 09:50:34 2010 -0400"
      },
      "message": "tracing: Let tracepoints have data passed to tracepoint callbacks\n\nThis patch adds data to be passed to tracepoint callbacks.\n\nThe created functions from DECLARE_TRACE() now need a mandatory data\nparameter. For example:\n\nDECLARE_TRACE(mytracepoint, int value, value)\n\nWill create the register function:\n\nint register_trace_mytracepoint((void(*)(void *data, int value))probe,\n                                void *data);\n\nAs the first argument, all callbacks (probes) must take a (void *data)\nparameter. So a callback for the above tracepoint will look like:\n\nvoid myprobe(void *data, int value)\n{\n}\n\nThe callback may choose to ignore the data parameter.\n\nThis change allows callbacks to register a private data pointer along\nwith the function probe.\n\n\tvoid mycallback(void *data, int value);\n\n\tregister_trace_mytracepoint(mycallback, mydata);\n\nThen the mycallback() will receive the \"mydata\" as the first parameter\nbefore the args.\n\nA more detailed example:\n\n  DECLARE_TRACE(mytracepoint, TP_PROTO(int status), TP_ARGS(status));\n\n  /* In the C file */\n\n  DEFINE_TRACE(mytracepoint, TP_PROTO(int status), TP_ARGS(status));\n\n  [...]\n\n       trace_mytracepoint(status);\n\n  /* In a file registering this tracepoint */\n\n  int my_callback(void *data, int status)\n  {\n\tstruct my_struct my_data \u003d data;\n\t[...]\n  }\n\n  [...]\n\tmy_data \u003d kmalloc(sizeof(*my_data), GFP_KERNEL);\n\tinit_my_data(my_data);\n\tregister_trace_mytracepoint(my_callback, my_data);\n\nThe same callback can also be registered to the same tracepoint as long\nas the data registered is different. Note, the data must also be used\nto unregister the callback:\n\n\tunregister_trace_mytracepoint(my_callback, my_data);\n\nBecause of the data parameter, tracepoints declared this way can not have\nno args. That is:\n\n  DECLARE_TRACE(mytracepoint, TP_PROTO(void), TP_ARGS());\n\nwill cause an error.\n\nIf no arguments are needed, a new macro can be used instead:\n\n  DECLARE_TRACE_NOARGS(mytracepoint);\n\nSince there are no arguments, the proto and args fields are left out.\n\nThis is part of a series to make the tracepoint footprint smaller:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4914025\t1088868\t 861512\t6864405\t 68be15\tvmlinux.class\n4918492\t1084612\t 861512\t6864616\t 68bee8\tvmlinux.tracepoint\n\nAgain, this patch also increases the size of the kernel, but\nlays the ground work for decreasing it.\n\n v5: Fixed net/core/drop_monitor.c to handle these updates.\n\n v4: Moved the DECLARE_TRACE() DECLARE_TRACE_NOARGS out of the\n     #ifdef CONFIG_TRACE_POINTS, since the two are the same in both\n     cases. The __DECLARE_TRACE() is what changes.\n     Thanks to Frederic Weisbecker for pointing this out.\n\n v3: Made all register_* functions require data to be passed and\n     all callbacks to take a void * parameter as its first argument.\n     This makes the calling functions comply with C standards.\n\n     Also added more comments to the modifications of DECLARE_TRACE().\n\n v2: Made the DECLARE_TRACE() have the ability to pass arguments\n     and added a new DECLARE_TRACE_NOARGS() for tracepoints that\n     do not need any arguments.\n\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8f0820183056ad26dabc0202115848a92f1143fc",
      "tree": "c9e1cb9d41e37d5075704efbde3c97121820e0c5",
      "parents": [
        "23e117fa44429cc054cb27d5621d64e4ced91e52"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Apr 20 10:47:33 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 09:33:49 2010 -0400"
      },
      "message": "tracing: Create class struct for events\n\nThis patch creates a ftrace_event_class struct that event structs point to.\nThis class struct will be made to hold information to modify the\nevents. Currently the class struct only holds the events system name.\n\nThis patch slightly increases the size, but this change lays the ground work\nof other changes to make the footprint of tracepoints smaller.\n\nWith 82 standard tracepoints, and 618 system call tracepoints\n(two tracepoints per syscall: enter and exit):\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n4913961\t1088356\t 861512\t6863829\t 68bbd5\tvmlinux.orig\n4914025\t1088868\t 861512\t6864405\t 68be15\tvmlinux.class\n\nThis patch also cleans up some stale comments in ftrace.h.\n\nv2: Fixed missing semi-colon in macro.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nAcked-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "23e117fa44429cc054cb27d5621d64e4ced91e52",
      "tree": "a4b9d0902b9c6f009b2c297515221c1b9bed3af8",
      "parents": [
        "668eb65f092902eb7dd526af73d4a7f025a94612",
        "a93d2f1744206827ccf416e2cdc5018aa503314e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri May 14 09:29:52 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 14 09:29:52 2010 -0400"
      },
      "message": "Merge branch \u0027sched/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip into trace/tip/tracing/core-4\n"
    },
    {
      "commit": "ad56b0797e67df5e04b2f1a1e02900145c5c16f2",
      "tree": "1569bed80a4de531afb88cac9d60ef8bd0aa89f2",
      "parents": [
        "668eb65f092902eb7dd526af73d4a7f025a94612",
        "b57f95a38233a2e73b679bea4a5453a1cc2a1cc9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 13 08:11:26 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 13 08:11:29 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.34-rc7\u0027 into tracing/core\n\nMerge reason: Update from -rc5 to -rc7.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "747388d78a0ae768fd82b55c4ed38aa646a72364",
      "tree": "03efabf9761209cffef4e8da9b6989887f76428e",
      "parents": [
        "7f0f15464185a92f9d8791ad231bcd7bf6df54e4"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue May 11 14:06:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "memcg: fix css_is_ancestor() RCU locking\n\nSome callers (in memcontrol.c) calls css_is_ancestor() without\nrcu_read_lock.  Because css_is_ancestor() has to access RCU protected\ndata, it should be under rcu_read_lock().\n\nThis makes css_is_ancestor() itself does safe access to RCU protected\narea.  (At least, \"root\" can have refcnt\u003d\u003d0 if it\u0027s not an ancestor of\n\"child\".  So, we need rcu_read_lock().)\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f0f15464185a92f9d8791ad231bcd7bf6df54e4",
      "tree": "a1d4f4c39632659497963b0ccf62828237478d72",
      "parents": [
        "11cad320a4f4bc53d3585c85600c782faa12b99e"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue May 11 14:06:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "memcg: fix css_id() RCU locking for real\n\nCommit ad4ba375373937817404fd92239ef4cadbded23b (\"memcg: css_id() must be\ncalled under rcu_read_lock()\") modifies memcontol.c for fixing RCU check\nmessage.  But Andrew Morton pointed out that the fix doesn\u0027t seems sane\nand it was just for hidining lockdep messages.\n\nThis is a patch for do proper things.  Checking again, all places,\naccessing without rcu_read_lock, that commit fixies was intentional....\nall callers of css_id() has reference count on it.  So, it\u0027s not necessary\nto be under rcu_read_lock().\n\nConsidering again, we can use rcu_dereference_check for css_id().  We know\ncss-\u003eid is valid if css-\u003erefcnt \u003e 0.  (css-\u003eid never changes and freed\nafter css-\u003erefcnt going to be 0.)\n\nThis patch makes use of rcu_dereference_check() in css_id/depth and remove\nunnecessary rcu-read-lock added by the commit.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11cad320a4f4bc53d3585c85600c782faa12b99e",
      "tree": "6e246590d7905d42b7e298817e1df90381a1e9e4",
      "parents": [
        "ab941e0fff3947b6dcc9c578d918d1bba54a6874"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Tue May 11 14:06:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "bsdacct: use del_timer_sync() in acct_exit_ns()\n\nacct_exit_ns --\u003e acct_file_reopen deletes timer without check timer\nexecution on other CPUs.  So acct_timeout() can change an unmapped memory.\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "475f9aa6aa538befcbd0fa95bdebada600f247cd",
      "tree": "204167585e965b67a3b95b972744a96069f0169a",
      "parents": [
        "d586ebbb8814e039545d38f69029533f3f17748d"
      ],
      "author": {
        "name": "Vitaly Mayatskikh",
        "email": "v.mayatskih@gmail.com",
        "time": "Tue May 11 14:06:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:42 2010 -0700"
      },
      "message": "kexec: fix OOPS in crash_kernel_shrink\n\nTwo \"echo 0 \u003e /sys/kernel/kexec_crash_size\" OOPSes kernel.  Also content\nof this file is invalid after first shrink to zero: it shows 1 instead of\n0.\n\nThis scenario is unlikely to happen often (root privs, valid crashkernel\u003d\nin cmdline, dump-capture kernel not loaded), I hit it only by chance.\n\nThis patch fixes it.\n\nSigned-off-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nCc: Cong Wang \u003camwang@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34441427aab4bdb3069a4ffcda69a99357abcb2e",
      "tree": "3beebde910f25b0945e9105017fd743c9e5241a5",
      "parents": [
        "3c904afd7358e9ef515eb5df36b6f25c2b7fc2da"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue May 11 14:06:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "revert \"procfs: provide stack information for threads\" and its fixup commits\n\nOriginally, commit d899bf7b (\"procfs: provide stack information for\nthreads\") attempted to introduce a new feature for showing where the\nthreadstack was located and how many pages are being utilized by the\nstack.\n\nCommit c44972f1 (\"procfs: disable per-task stack usage on NOMMU\") was\napplied to fix the NO_MMU case.\n\nCommit 89240ba0 (\"x86, fs: Fix x86 procfs stack information for threads on\n64-bit\") was applied to fix a bug in ia32 executables being loaded.\n\nCommit 9ebd4eba7 (\"procfs: fix /proc/\u003cpid\u003e/stat stack pointer for kernel\nthreads\") was applied to fix a bug which had kernel threads printing a\nuserland stack address.\n\nCommit 1306d603f (\u0027proc: partially revert \"procfs: provide stack\ninformation for threads\"\u0027) was then applied to revert the stack pages\nbeing used to solve a significant performance regression.\n\nThis patch nearly undoes the effect of all these patches.\n\nThe reason for reverting these is it provides an unusable value in\nfield 28.  For x86_64, a fork will result in the task-\u003estack_start\nvalue being updated to the current user top of stack and not the stack\nstart address.  This unpredictability of the stack_start value makes\nit worthless.  That includes the intended use of showing how much stack\nspace a thread has.\n\nOther architectures will get different values.  As an example, ia64\ngets 0.  The do_fork() and copy_process() functions appear to treat the\nstack_start and stack_size parameters as architecture specific.\n\nI only partially reverted c44972f1 (\"procfs: disable per-task stack usage\non NOMMU\") .  If I had completely reverted it, I would have had to change\nmm/Makefile only build pagewalk.o when CONFIG_PROC_PAGE_MONITOR is\nconfigured.  Since I could not test the builds without significant effort,\nI decided to not change mm/Makefile.\n\nI only partially reverted 89240ba0 (\"x86, fs: Fix x86 procfs stack\ninformation for threads on 64-bit\") .  I left the KSTK_ESP() change in\nplace as that seemed worthwhile.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "72d5a9f7a9542f88397558c65bcfc3b115a65e34",
      "tree": "e46d3ad1948de45b9641d1a8b88f88bfb3809007",
      "parents": [
        "4376030a54860dedab9d848dfa7cc700a6025c0b"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 17:12:17 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue May 11 16:10:47 2010 -0700"
      },
      "message": "rcu: remove all rcu head initializations, except on_stack initializations\n\nRemove all rcu head inits. We don\u0027t care about the RCU head state before passing\nit to call_rcu() anyway. Only leave the \"on_stack\" variants so debugobjects can\nkeep track of objects on stack.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a93d2f1744206827ccf416e2cdc5018aa503314e",
      "tree": "c4c9daf16536d8d58db275617e19898f6c5bdbd7",
      "parents": [
        "af507ae8a0512a83728b17d8f8c5fa1561669f50"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri May 07 14:33:26 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 11 17:43:58 2010 +0200"
      },
      "message": "sched, wait: Use wrapper functions\n\nepoll should not touch flags in wait_queue_t. This patch introduces a new\nfunction __add_wait_queue_exclusive(), for the users, who use wait queue as a\nLIFO queue.\n\n__add_wait_queue_tail_exclusive() is introduced too instead of\nadd_wait_queue_exclusive_locked(). remove_wait_queue_locked() is removed, as\nit is a duplicate of __remove_wait_queue(), disliked by users, and with less\nusers.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: \u003ccontainers@lists.linux-foundation.org\u003e\nLKML-Reference: \u003c1273214006-2979-1-git-send-email-xiaosuo@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96c21a460a37880abfbc8445d5b098dbab958a29",
      "tree": "57b6ae2ecb8713b720fb5ee86ebbf3d1b2638856",
      "parents": [
        "050735b08ca8a016bbace4445fa025b88fee770b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 11 16:19:10 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 11 17:08:24 2010 +0200"
      },
      "message": "perf: Fix exit() vs event-groups\n\nCorey reported that the value scale times of group siblings are not\nupdated when the monitored task dies.\n\nThe problem appears to be that we only update the group leader\u0027s\ntime values, fix it by updating the whole group.\n\nReported-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e # .34.x\nLKML-Reference: \u003c1273588935.1810.6.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "050735b08ca8a016bbace4445fa025b88fee770b",
      "tree": "68ce73ebb40dfcb66c9c18db9d31bfdb82c2e795",
      "parents": [
        "e3174cfd2a1e28fff774681f00a0eef3d31da970"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue May 11 11:51:53 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 11 15:46:43 2010 +0200"
      },
      "message": "perf: Fix exit() vs PERF_FORMAT_GROUP\n\nBoth Stephane and Corey reported that PERF_FORMAT_GROUP didn\u0027t\nwork as expected if the task the counters were attached to quit\nbefore the read() call.\n\nThe cause is that we unconditionally destroy the grouping when\nwe remove counters from their context. Fix this by splitting off\nthe group destroy from the list removal such that\nperf_event_remove_from_context() does not do this and change\nperf_event_release() to do so.\n\nReported-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: \u003cstable@kernel.org\u003e # .34.x\nLKML-Reference: \u003c1273571513.5605.3527.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e3174cfd2a1e28fff774681f00a0eef3d31da970",
      "tree": "5706316d689a9b1fe11df562bed391295deff537",
      "parents": [
        "e61a639a794063d78fd248a37ce2c21d5c81fc19"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 11 08:31:49 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 11 08:31:49 2010 +0200"
      },
      "message": "Revert \"perf: Fix exit() vs PERF_FORMAT_GROUP\"\n\nThis reverts commit 4fd38e4595e2f6c9d27732c042a0e16b2753049c.\n\nIt causes various crashes and hangs when events are activated.\n\nThe cause is not fully understood yet but we need to revert it\nbecause the effects are severe.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nReported-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\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": "d822ed1094032ab524344a9a474c93128d9c2159",
      "tree": "36f4a24c7501c799a071384e4450a823b387d18b",
      "parents": [
        "77e38ed347162423c6b72e06c865a121081c2bb6"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 08 19:58:22 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:35 2010 -0700"
      },
      "message": "rcu: fix build bug in RCU_FAST_NO_HZ builds\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "77e38ed347162423c6b72e06c865a121081c2bb6",
      "tree": "328b746af71b47c4af97e6ea06dc24b12528a955",
      "parents": [
        "d14aada8e20bdf81ffd43f433b123972cf575b32"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Apr 25 21:04:29 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:35 2010 -0700"
      },
      "message": "rcu: RCU_FAST_NO_HZ must check RCU dyntick state\n\nThe current version of RCU_FAST_NO_HZ reproduces the old CLASSIC_RCU\ndyntick-idle bug, as it fails to detect CPUs that have interrupted\nor NMIed out of dyntick-idle mode.  Fix this by making rcu_needs_cpu()\ncheck the state in the per-CPU rcu_dynticks variables, thus correctly\ndetecting the dyntick-idle state from an RCU perspective.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d21670acab9fcb4bc74a40b68a6941059234c55c",
      "tree": "6a4c054bc4dbadf0524b4e221889a8da558dbdaf",
      "parents": [
        "4a90a0681cf6cd21cd444184302aa045156486b3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Apr 14 17:39:26 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:35 2010 -0700"
      },
      "message": "rcu: reduce the number of spurious RCU_SOFTIRQ invocations\n\nLai Jiangshan noted that up to 10% of the RCU_SOFTIRQ are spurious, and\ntraced this down to the fact that the current grace-period machinery\nwill uselessly raise RCU_SOFTIRQ when a given CPU needs to go through\na quiescent state, but has not yet done so.  In this situation, there\nmight well be nothing that RCU_SOFTIRQ can do, and the overhead can be\nworth worrying about in the ksoftirqd case.  This patch therefore avoids\nraising RCU_SOFTIRQ in this situation.\n\nChanges since v1 (http://lkml.org/lkml/2010/3/30/122 from Lai Jiangshan):\n\no\tOmit the rcu_qs_pending() prechecks, as they aren\u0027t that\n\tmuch less expensive than the quiescent-state checks.\n\no\tMerge with the set_need_resched() patch that reduces IPIs.\n\no\tAdd the new n_rp_report_qs field to the rcu_pending tracing output.\n\no\tUpdate the tracing documentation accordingly.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4a90a0681cf6cd21cd444184302aa045156486b3",
      "tree": "5e54587e0844d51f6c015f4c489cbf021c9db509",
      "parents": [
        "4300aa642cc9ecb35f2e0683dd294fb790ef028c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Apr 14 16:48:11 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:35 2010 -0700"
      },
      "message": "rcu: permit discontiguous cpu_possible_mask CPU numbering\n\nTREE_RCU assumes that CPU numbering is contiguous, but some users need\nlarge holes in the numbering to better map to hardware layout.  This patch\nmakes TREE_RCU (and TREE_PREEMPT_RCU) tolerate large holes in the CPU\nnumbering.  However, NR_CPUS must still be greater than the largest\nCPU number.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4300aa642cc9ecb35f2e0683dd294fb790ef028c",
      "tree": "b70d676b02c6311a638fdaa6f3df8773b39fade1",
      "parents": [
        "26845c2860cebebe6ce2d9d01ae3cb3db84b7e29"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 13 16:18:22 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:34 2010 -0700"
      },
      "message": "rcu: improve RCU CPU stall-warning messages\n\nThe existing RCU CPU stall-warning messages can be confusing, especially\nin the case where one CPU detects a single other stalled CPU.  In addition,\nthe console messages did not say which flavor of RCU detected the stall,\nwhich can make it difficult to work out exactly what is causing the stall.\nThis commit improves these messages.\n\nRequested-by: Dhaval Giani \u003cdhaval.giani@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "26845c2860cebebe6ce2d9d01ae3cb3db84b7e29",
      "tree": "83849948ea7bffb5e87eecc17a7275e357740632",
      "parents": [
        "c68de2097a8799549a3c3bf27cbfeea24a604284"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 13 14:19:23 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:34 2010 -0700"
      },
      "message": "rcu: print boot-time console messages if RCU configs out of ordinary\n\nPrint boot-time messages if tracing is enabled, if fanout is set\nto non-default values, if exact fanout is specified, if accelerated\ndyntick-idle grace periods have been enabled, if RCU-lockdep is enabled,\nif rcutorture has been boot-time enabled, if the CPU stall detector has\nbeen disabled, or if four-level hierarchy has been enabled.\n\nThis is all for TREE_RCU and TREE_PREEMPT_RCU.  TINY_RCU will be handled\nseparately, if at all.\n\nSuggested-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c68de2097a8799549a3c3bf27cbfeea24a604284",
      "tree": "acf2e5cb6de06185002a7d22daa91d893068551b",
      "parents": [
        "55ec936ff4e57cc626db336a7bf33b267390e9b4"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Apr 15 10:12:40 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:34 2010 -0700"
      },
      "message": "rcu: disable CPU stall warnings upon panic\n\nThe current RCU CPU stall warnings remain enabled even after a panic\noccurs, which some people have found to be a bit counterproductive.\nThis patch therefore uses a notifier to disable stall warnings once a\npanic occurs.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "bbad937983147c017c25406860287cb94da9af7c",
      "tree": "57311598c360b92b189c7ec337146e4bc779c73d",
      "parents": [
        "25502a6c13745f4650cc59322bd198194f55e796"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Apr 02 16:17:17 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:34 2010 -0700"
      },
      "message": "rcu: slim down rcutiny by removing rcu_scheduler_active and friends\n\nTINY_RCU does not need rcu_scheduler_active unless CONFIG_DEBUG_LOCK_ALLOC.\nSo conditionally compile rcu_scheduler_active in order to slim down\nrcutiny a bit more.  Also gets rid of an EXPORT_SYMBOL_GPL, which is\nresponsible for most of the slimming.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "25502a6c13745f4650cc59322bd198194f55e796",
      "tree": "d76cc659d3ea797c5da4630e219ac363d17c44a6",
      "parents": [
        "99652b54de1ee094236f7171485214071af4ef31"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Apr 01 17:37:01 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:33 2010 -0700"
      },
      "message": "rcu: refactor RCU\u0027s context-switch handling\n\nThe addition of preemptible RCU to treercu resulted in a bit of\nconfusion and inefficiency surrounding the handling of context switches\nfor RCU-sched and for RCU-preempt.  For RCU-sched, a context switch\nis a quiescent state, pure and simple, just like it always has been.\nFor RCU-preempt, a context switch is in no way a quiescent state, but\nspecial handling is required when a task blocks in an RCU read-side\ncritical section.\n\nHowever, the callout from the scheduler and the outer loop in ksoftirqd\nstill calls something named rcu_sched_qs(), whose name is no longer\naccurate.  Furthermore, when rcu_check_callbacks() notes an RCU-sched\nquiescent state, it ends up unnecessarily (though harmlessly, aside\nfrom the performance hit) enqueuing the current task if it happens to\nbe running in an RCU-preempt read-side critical section.  This not only\nincreases the maximum latency of scheduler_tick(), it also needlessly\nincreases the overhead of the next outermost rcu_read_unlock() invocation.\n\nThis patch addresses this situation by separating the notion of RCU\u0027s\ncontext-switch handling from that of RCU-sched\u0027s quiescent states.\nThe context-switch handling is covered by rcu_note_context_switch() in\ngeneral and by rcu_preempt_note_context_switch() for preemptible RCU.\nThis permits rcu_sched_qs() to handle quiescent states and only quiescent\nstates.  It also reduces the maximum latency of scheduler_tick(), though\nprobably by much less than a microsecond.  Finally, it means that tasks\nwithin preemptible-RCU read-side critical sections avoid incurring the\noverhead of queuing unless there really is a context switch.\n\nSuggested-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "99652b54de1ee094236f7171485214071af4ef31",
      "tree": "fd3691aacd46a6afd9ee6ae6f38ca5e9aafb5783",
      "parents": [
        "da848c47bc6e873a54a445ea1960423a495b6b32"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Mar 30 15:50:01 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:32 2010 -0700"
      },
      "message": "rcu: rename rcutiny rcu_ctrlblk to rcu_sched_ctrlblk\n\nMake naming line up in preparation for CONFIG_TINY_PREEMPT_RCU.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "da848c47bc6e873a54a445ea1960423a495b6b32",
      "tree": "4c0eaef1a5990585730f00caca0cfcba21fe9f9f",
      "parents": [
        "32c141a0a1dfa29e0a07d78bec0c0919fc4b9f88"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Mar 30 15:46:01 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:32 2010 -0700"
      },
      "message": "rcu: shrink rcutiny by making synchronize_rcu_bh() be inline\n\nBecause synchronize_rcu_bh() is identical to synchronize_sched(),\nmake the former a static inline invoking the latter, saving the\noverhead of an EXPORT_SYMBOL_GPL() and the duplicate code.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "5db356736acb9ba717df1aa9444e4e44cbb30a71",
      "tree": "719d734fc3ef0f5fca3a7bf12a00dccfde278864",
      "parents": [
        "0c34029abdfdea64420cb4264c4e91a776b22157"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 30 18:40:36 2010 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:31 2010 -0700"
      },
      "message": "rcu: ignore offline CPUs in last non-dyntick-idle CPU check\n\nOffline CPUs are not in nohz_cpu_mask, but can be ignored when checking\nfor the last non-dyntick-idle CPU.  This patch therefore only checks\nonline CPUs for not being dyntick idle, allowing fast entry into\nfull-system dyntick-idle state even when there are some offline CPUs.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0c34029abdfdea64420cb4264c4e91a776b22157",
      "tree": "9025ccfef4210c04520617a4ae11ec4f24128660",
      "parents": [
        "f261414f0d56dd1a0e34888e27d1d4902ad052f3"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sun Mar 28 11:12:30 2010 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:31 2010 -0700"
      },
      "message": "rcu: move some code from macro to function\n\nShrink the RCU_INIT_FLAVOR() macro by moving all but the initialization\nof the -\u003erda[] array to rcu_init_one().  The call to rcu_init_one()\ncan then be moved to the end of the RCU_INIT_FLAVOR() macro, which is\nrequired because rcu_boot_init_percpu_data(), which is now called from\nrcu_init_one(), depends on the initialization of the -\u003erda[] array.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f261414f0d56dd1a0e34888e27d1d4902ad052f3",
      "tree": "6779e82e0a520121a8d1b86fbfb248bef3ab201a",
      "parents": [
        "d25eb9442bb2c38c1e742f0fa764d7132d72593f"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Sun Mar 28 11:15:20 2010 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:31 2010 -0700"
      },
      "message": "rcu: make dead code really dead\n\ncleanup: make dead code really dead\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d25eb9442bb2c38c1e742f0fa764d7132d72593f",
      "tree": "0a2604a3b61ce7a0868c021ac945d9826e0d88f1",
      "parents": [
        "2b3fc35f6919344e3cf722dde8308f47235c0b70"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Mar 18 21:36:51 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:31 2010 -0700"
      },
      "message": "rcu: substitute set_need_resched for sending resched IPIs\n\nThis patch adds a check to __rcu_pending() that does a local\nset_need_resched() if the current CPU is holding up the current grace\nperiod and if force_quiescent_state() will be called soon.  The goal is\nto reduce the probability that force_quiescent_state() will need to do\nsmp_send_reschedule(), which sends an IPI and is therefore more expensive\non most architectures.\n\nSigned-off-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2b3fc35f6919344e3cf722dde8308f47235c0b70",
      "tree": "2bc2cfc9c1a032d51a3d99a10e309e100b9eea4a",
      "parents": [
        "b57f95a38233a2e73b679bea4a5453a1cc2a1cc9"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Apr 20 16:23:07 2010 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 10 11:08:31 2010 -0700"
      },
      "message": "rcu: optionally leave lockdep enabled after RCU lockdep splat\n\nThere is no need to disable lockdep after an RCU lockdep splat,\nso remove the debug_lockdeps_off() from lockdep_rcu_dereference().\nTo avoid repeated lockdep splats, use a static variable in the inlined\nrcu_dereference_check() and rcu_dereference_protected() macros so that\na given instance splats only once, but so that multiple instances can\nbe detected per boot.\n\nThis is controlled by a new config variable CONFIG_PROVE_RCU_REPEATEDLY,\nwhich is disabled by default.  This provides the normal lockdep behavior\nby default, but permits people who want to find multiple RCU-lockdep\nsplats per boot to easily do so.\n\nRequested-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nTested-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7c224a03a79021ab12ce057964df9e679af5386d",
      "tree": "809dbf3bcb5978e7b1845eb4c46179f1c9405f0c",
      "parents": [
        "5bdb7934ca4115a12c7d585c5a45312b1c36909b",
        "b57f95a38233a2e73b679bea4a5453a1cc2a1cc9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 10 13:12:26 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 10 13:12:29 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.34-rc7\u0027 into oprofile\n\nMerge reason: Update to Linus\u0027s latest -rc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "af507ae8a0512a83728b17d8f8c5fa1561669f50",
      "tree": "548f0ae239f62daee79d5656c6dcb791fecf7e1a",
      "parents": [
        "19379b11819efc1fc3b602e64f7e7531050aaddb"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon May 10 11:24:27 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 10 08:48:39 2010 +0200"
      },
      "message": "sched: Remove a stale comment\n\nThis comment should have been removed together with uids_mutex\nwhen removing user sched.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Dhaval Giani \u003cdhaval.giani@gmail.com\u003e\nLKML-Reference: \u003c4BE77C6B.5010402@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0224cf4c5ee0d7faec83956b8e21f7d89e3df3bd",
      "tree": "daac87f9766d1a6c71bcff021414d3deaae40da1",
      "parents": [
        "e0e37c200f1357db0dd986edb359c41c57d24f6e"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:25:23 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:27 2010 +0200"
      },
      "message": "sched: Intoduce get_cpu_iowait_time_us()\n\nFor the ondemand cpufreq governor, it is desired that the iowait\ntime is microaccounted in a similar way as idle time is.\n\nThis patch introduces the infrastructure to account and expose\nthis information via the get_cpu_iowait_time_us() function.\n\n[akpm@linux-foundation.org: fix CONFIG_NO_HZ\u003dn build]\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082523.284feab6@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e0e37c200f1357db0dd986edb359c41c57d24f6e",
      "tree": "9f799889b2166528e4b264f3c58a52d1edbd4bdf",
      "parents": [
        "8d63bf949e330588b80d30ca8f0a27a45297a9e9"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:24:39 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:26 2010 +0200"
      },
      "message": "sched: Eliminate the ts-\u003eidle_lastupdate field\n\nNow that the only user of ts-\u003eidle_lastupdate is\nupdate_ts_time_stats(), the entire field can be eliminated.\n\nIn update_ts_time_stats(), idle_lastupdate is first set to\n\"now\", and a few lines later, the only user is an if() statement\nthat assigns a variable either to \"now\" or to\nts-\u003eidle_lastupdate, which has the value of \"now\" at that point.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082439.2fab0b4f@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8d63bf949e330588b80d30ca8f0a27a45297a9e9",
      "tree": "e416fe04ddacdf3fc3e2c9ec6938da0ebbab7ff1",
      "parents": [
        "8c7b09f43f4bf570654bcc458ce96819a932303c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:24:03 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:26 2010 +0200"
      },
      "message": "sched: Fold updating of the last_update_time_info into update_ts_time_stats()\n\nThis patch folds the updating of the last_update_time into the\nupdate_ts_time_stats() function, and updates the callers.\n\nThis allows for further cleanups that are done in the next\npatch.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082403.60072967@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c7b09f43f4bf570654bcc458ce96819a932303c",
      "tree": "33eb6f860fa9a31ea63b67247890a6762439fde2",
      "parents": [
        "595aac488b546c7185be7e29c8ae165a588b2a9f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:23:23 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:26 2010 +0200"
      },
      "message": "sched: Update the idle statistics in get_cpu_idle_time_us()\n\nRight now, get_cpu_idle_time_us() only reports the idle\nstatistics upto the point the CPU entered last idle; not what is\nvalid right now.\n\nThis patch adds an update of the idle statistics to\nget_cpu_idle_time_us(), so that calling this function always\nreturns statistics that are accurate at the point of the call.\n\nThis includes resetting the start of the idle time for\naccounting purposes to avoid double accounting.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082323.2d2f1945@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "595aac488b546c7185be7e29c8ae165a588b2a9f",
      "tree": "5037879b01cbcb7cf84f4ab99a114aca687f0300",
      "parents": [
        "b1f724c3055fa75a31d272222213647547a2d3d4"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:22:45 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:25 2010 +0200"
      },
      "message": "sched: Introduce a function to update the idle statistics\n\nCurrently, two places update the idle statistics (and more to\ncome later in this series).\n\nThis patch creates a helper function for updating these\nstatistics.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082245.163e67ed@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b1f724c3055fa75a31d272222213647547a2d3d4",
      "tree": "9f9e9105a01405e252b5214e83bdbfcd10921f43",
      "parents": [
        "e7858f52a5cb868289a72264534a1f05f3340c6c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun May 09 08:22:08 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun May 09 19:35:25 2010 +0200"
      },
      "message": "sched: Add a comment to get_cpu_idle_time_us()\n\nThe exported function get_cpu_idle_time_us() has no comment\ndescribing it; add a kerneldoc comment\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: davej@redhat.com\nLKML-Reference: \u003c20100509082208.7cb721f0@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "93135439459920c4d856f4ab8f068c030085c8df",
      "tree": "a53defcfe4f99258e1fc7d408114cd34baa35e0c",
      "parents": [
        "883a2a3189dae9d2912c417e47152f51cb922a3f"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 08 06:24:25 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 09 13:45:34 2010 +0200"
      },
      "message": "tracing: Drop the nested field from lock_release event\n\nDrop the nested field as we don\u0027t use it. Every nested state can\nbe computed from a state machine on post processing already.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "883a2a3189dae9d2912c417e47152f51cb922a3f",
      "tree": "286a31a1d86b1e49afc79f61c9b83ca81840065b",
      "parents": [
        "90c0e5fc7b73d2575c7367e1da70ff9521718e5e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat May 08 06:16:11 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun May 09 13:45:32 2010 +0200"
      },
      "message": "tracing: Drop lock_acquired waittime field\n\nDrop the waittime field from the lock_acquired event, we can\ncalculate it by substracting the lock_acquired event timestamp\nwith the matching lock_acquire one.\n\nIt is not needed and takes useless space in the traces.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Hitoshi Mitake \u003cmitake@dcl.info.waseda.ac.jp\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e7858f52a5cb868289a72264534a1f05f3340c6c",
      "tree": "aa7308603cf30d8aec6e45ecaddc6c8ed29d2edb",
      "parents": [
        "27a9da6538ee18046d7bff8e36a9f783542c54c3",
        "bbf1bb3eee86f2eef2baa14e600be454d09109ee"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 08 18:11:19 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 08 18:11:19 2010 +0200"
      },
      "message": "Merge branch \u0027cpu_stop\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into sched/core\n"
    },
    {
      "commit": "c0614829c16ab9d31f1b7d40516decfbf3d32102",
      "tree": "3787f73258a8cc02b6608849c37bff71ce3a3272",
      "parents": [
        "c7993165ef0c1d636ca05f4787739f8414584e6d"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Apr 27 18:33:12 2010 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 08 18:08:30 2010 +0200"
      },
      "message": "kprobes: Move enable/disable_kprobe() out from debugfs code\n\nMove enable/disable_kprobe() API out from debugfs related code,\nbecause these interfaces are not related to debugfs interface.\n\nThis fixes a compiler warning.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by:  Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: systemtap \u003csystemtap@sources.redhat.com\u003e\nCc: DLE \u003cdle-develop@lists.sourceforge.net\u003e\nLKML-Reference: \u003c20100427223312.2322.60512.stgit@localhost6.localdomain6\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bbf1bb3eee86f2eef2baa14e600be454d09109ee",
      "tree": "f7c200742a2d6ce20e72ad976b66d30d1aa6a04d",
      "parents": [
        "fc390cde362309f6892bb719194f242c466a978b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat May 08 16:20:53 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat May 08 17:12:33 2010 +0200"
      },
      "message": "cpu_stop: add dummy implementation for UP\n\nWhen !CONFIG_SMP, cpu_stop functions weren\u0027t defined at all which\ncould lead to build failures if UP code uses cpu_stop facility.  Add\ndummy cpu_stop implementation for UP.  The waiting variants execute\nthe work function directly with preempt disabled and\nstop_one_cpu_nowait() schedules a workqueue work.\n\nMakefile and ifdefs around stop_machine implementation are updated to\naccomodate CONFIG_SMP \u0026\u0026 !CONFIG_STOP_MACHINE case.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6e85158cf5a2385264316870256fb6ad681156a0",
      "tree": "39d5a0c81c4cc54c8051a9f62b587f17b0a2077a",
      "parents": [
        "ed82702155b6343727ee732f7eae6d72e8b453fe"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sat May 08 20:58:00 2010 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 08 13:16:55 2010 +0200"
      },
      "message": "perf_event: Make software events work again\n\nCommit 6bde9b6ce0127e2a56228a2071536d422be31336 (\"perf: Add\ngroup scheduling transactional APIs\") added code to allow a\ngroup to be scheduled in a single transaction.  However, it\nintroduced a bug in handling events whose pmu does not implement\ntransactions -- at the end of scheduling in the events in the\ngroup, in the non-transactional case the code now falls through\nto the group_error label, and proceeds to unschedule all the\nevents in the group and return failure.\n\nThis fixes it by returning 0 (success) in the non-transactional\ncase.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: eranian@gmail.com\nLKML-Reference: \u003c20100508105800.GB10650@brick.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "91bc482ec5a615e8ecebc106aaf7d0c267d511de",
      "tree": "ad75789a5825fb2da75b2dbdc02d1969bad9b338",
      "parents": [
        "e8e8fade7b351f131433fa44ca5d4e960e1c0f9c",
        "ee84b8243b07c33a5c8aed42b4b2da60cb16d1d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 13:58:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 07 13:58:21 2010 -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  rcu: create rcu_my_thread_group_empty() wrapper\n  memcg: css_id() must be called under rcu_read_lock()\n  cgroup: Check task_lock in task_subsys_state()\n  sched: Fix an RCU warning in print_task()\n  cgroup: Fix an RCU warning in alloc_css_id()\n  cgroup: Fix an RCU warning in cgroup_path()\n  KEYS: Fix an RCU warning in the reading of user keys\n  KEYS: Fix an RCU warning\n"
    },
    {
      "commit": "6bde9b6ce0127e2a56228a2071536d422be31336",
      "tree": "1a1f2fe3dbb741d81b0c08f1822ef7c0af01f91d",
      "parents": [
        "ab608344bcbde4f55ec4cd911b686b0ce3eae076"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Fri Apr 23 13:56:00 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:31:02 2010 +0200"
      },
      "message": "perf: Add group scheduling transactional APIs\n\nAdd group scheduling transactional APIs to struct pmu.\nThese APIs will be implemented in arch code, based on Peter\u0027s idea as\nbelow.\n\n\u003e the idea behind hw_perf_group_sched_in() is to not perform\n\u003e schedulability tests on each event in the group, but to add the group\n\u003e as a whole and then perform one test.\n\u003e\n\u003e Of course, when that test fails, you\u0027ll have to roll-back the whole\n\u003e group again.\n\u003e\n\u003e So start_txn (or a better name) would simply toggle a flag in the pmu\n\u003e implementation that will make pmu::enable() not perform the\n\u003e schedulablilty test.\n\u003e\n\u003e Then commit_txn() will perform the schedulability test (so note the\n\u003e method has to have a !void return value.\n\u003e\n\u003e This will allow us to use the regular\n\u003e kernel/perf_event.c::group_sched_in() and all the rollback code.\n\u003e Currently each hw_perf_group_sched_in() implementation duplicates all\n\u003e the rolllback code (with various bugs).\n\n-\u003estart_txn:\nStart group events scheduling transaction, set a flag to make\npmu::enable() not perform the schedulability test, it will be performed\nat commit time.\n\n-\u003ecommit_txn:\nCommit group events scheduling transaction, perform the group\nschedulability as a whole\n\n-\u003ecancel_txn:\nStop group events scheduling transaction, clear the flag so\npmu::enable() will perform the schedulability test.\n\nReviewed-by: Stephane Eranian \u003ceranian@google.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1272002160.5707.60.camel@minggr.sh.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a0507c84bf47dfd204299774f45fd16da33f0619",
      "tree": "d40bf7628ebb9935fb1ef6727337dcd9e2c94fd5",
      "parents": [
        "cce913178118b0b36742eb7544c2b38a0c957ee7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 06 15:42:53 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:30:59 2010 +0200"
      },
      "message": "perf: Annotate perf_event_read_group() vs perf_event_release_kernel()\n\nStephane reported a lockdep warning while using PERF_FORMAT_GROUP.\n\nThe issue is that perf_event_read_group() takes faults while holding\nthe ctx-\u003emutex, while perf_event_release_kernel() can be called from\nmunmap(). Which makes for an AB-BA deadlock.\n\nExcept we can never establish the deadlock because we\u0027ll only ever\ncall perf_event_release_kernel() after all file descriptors are dead\nso there is no concurrency possible.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\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": "cce913178118b0b36742eb7544c2b38a0c957ee7",
      "tree": "25a6d7b4e01fea2932e6e2962a75f7a3d8c19a4f",
      "parents": [
        "d9f599e1e6d019968b35d2dc63074b9e8964fa69",
        "4fd38e4595e2f6c9d27732c042a0e16b2753049c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:30:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:30:30 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: Resolve patch dependency\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4fd38e4595e2f6c9d27732c042a0e16b2753049c",
      "tree": "bb18024a183691b81062f97fbc3de4938a1d6086",
      "parents": [
        "722154e4cacf015161efe60009ae9be23d492296"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 06 17:31:38 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:30:17 2010 +0200"
      },
      "message": "perf: Fix exit() vs PERF_FORMAT_GROUP\n\nBoth Stephane and Corey reported that PERF_FORMAT_GROUP didn\u0027t work\nas expected if the task the counters were attached to quit before\nthe read() call.\n\nThe cause is that we unconditionally destroy the grouping when we\nremove counters from their context. Fix this by only doing this when\nwe free the counter itself.\n\nReported-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1273160566.5605.404.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27a9da6538ee18046d7bff8e36a9f783542c54c3",
      "tree": "9f9944ca8742ec52f7e4a674f7475fc0378abdb8",
      "parents": [
        "48652ced1533c3372f996a0d83b6e73b1f1c9381"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 04 20:36:56 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:28:17 2010 +0200"
      },
      "message": "sched: Remove rq argument to the tracepoints\n\nstruct rq isn\u0027t visible outside of sched.o so its near useless to\nexpose the pointer, also there are no users of it, so remove it.\n\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1272997616.1642.207.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "48652ced1533c3372f996a0d83b6e73b1f1c9381",
      "tree": "5e17729cfcdc97bf798a17b57cdb888b4ded65b0",
      "parents": [
        "99bd5e2f245d8cd17d040c82d40becdb3efd9b69",
        "66f41d4c5c8a5deed66fdcc84509376c9a0bf9d8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:27:54 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:27:54 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.34-rc6\u0027 into sched/core\n"
    },
    {
      "commit": "4726f2a617ebd868a4fdeb5679613b897e5f1676",
      "tree": "c9eea44c66f98123802d99aad5b3cce93626eda8",
      "parents": [
        "54d47a2be5e7f928fb77b2f5a0761f6bd3c9dbff"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang@windriver.com",
        "time": "Tue May 04 14:16:48 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:27:26 2010 +0200"
      },
      "message": "lockdep: Reduce stack_trace usage\n\nWhen calling check_prevs_add(), if all validations passed\nadd_lock_to_list() will add new lock to dependency tree and\nalloc stack_trace for each list_entry.\n\nBut at this time, we are always on the same stack, so stack_trace\nfor each list_entry has the same value. This is redundant and eats\nup lots of memory which could lead to warning on low\nMAX_STACK_TRACE_ENTRIES.\n\nUse one copy of stack_trace instead.\n\nV2: As suggested by Peter Zijlstra, move save_trace() from\n    check_prevs_add() to check_prev_add().\n    Add tracking for trylock dependence which is also redundant.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@windriver.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100504065711.GC10784@windriver.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fc390cde362309f6892bb719194f242c466a978b",
      "tree": "07bfb72fb4eff28cc515a0ff5b2d1571db4f4b69",
      "parents": [
        "cc631fb732b8ccd6a0cc45557475ea09b0c21a68"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 06 11:42:52 2010 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri May 07 07:23:21 2010 +0200"
      },
      "message": "rcu: need barrier() in UP synchronize_sched_expedited()\n\nIf synchronize_sched_expedited() is ever to be called from within\nkernel/sched.c in a !SMP PREEMPT kernel, the !SMP implementation needs\na barrier().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "d9f599e1e6d019968b35d2dc63074b9e8964fa69",
      "tree": "6253e19189306cef7952310d6ef62fb6ab675481",
      "parents": [
        "4778e0e8c64f683a71632dba1cff1f85f76f83c4"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Mar 20 17:39:11 2010 +0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 06 19:49:52 2010 -0400"
      },
      "message": "perf: Fix check at end of event search\n\nThe original code doesn\u0027t work because \"call\" is never NULL there.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nLKML-Reference: \u003c20100320143911.GF5331@bicker\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cc631fb732b8ccd6a0cc45557475ea09b0c21a68",
      "tree": "37e8c84f227a21d628a9d3a96dbbf5fedd506db1",
      "parents": [
        "94458d5ecb3da844823cc191e73e5c5ead98a464"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 06 18:49:21 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:21 2010 +0200"
      },
      "message": "sched: correctly place paranioa memory barriers in synchronize_sched_expedited()\n\nThe memory barriers must be in the SMP case, not in the !SMP case.\nAlso add a barrier after the atomic_inc() in order to ensure that\nother CPUs see post-synchronize_sched_expedited() actions as following\nthe expedited grace period.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "94458d5ecb3da844823cc191e73e5c5ead98a464",
      "tree": "866f0ed3b4e522d98664cb4b2603cd0d34cfde0d",
      "parents": [
        "969c79215a35b06e5e3efe69b9412f858df7856c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:21 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:21 2010 +0200"
      },
      "message": "sched: kill paranoia check in synchronize_sched_expedited()\n\nThe paranoid check which verifies that the cpu_stop callback is\nactually called on all online cpus is completely superflous.  It\u0027s\nguaranteed by cpu_stop facility and if it didn\u0027t work as advertised\nother things would go horribly wrong and trying to recover using\nsynchronize_sched() wouldn\u0027t be very meaningful.\n\nKill the paranoid check.  Removal of this feature is done as a\nseparate step so that it can serve as a bisection point if something\nactually goes wrong.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Josh Triplett \u003cjosh@freedesktop.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Dimitri Sivanich \u003csivanich@sgi.com\u003e\n"
    },
    {
      "commit": "969c79215a35b06e5e3efe69b9412f858df7856c",
      "tree": "4256378687c8bc2011ec35a3e28bc3b6473e912c",
      "parents": [
        "3fc1f1e27a5b807791d72e5d992aa33b668a6626"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:21 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:21 2010 +0200"
      },
      "message": "sched: replace migration_thread with cpu_stop\n\nCurrently migration_thread is serving three purposes - migration\npusher, context to execute active_load_balance() and forced context\nswitcher for expedited RCU synchronize_sched.  All three roles are\nhardcoded into migration_thread() and determining which job is\nscheduled is slightly messy.\n\nThis patch kills migration_thread and replaces all three uses with\ncpu_stop.  The three different roles of migration_thread() are\nsplitted into three separate cpu_stop callbacks -\nmigration_cpu_stop(), active_load_balance_cpu_stop() and\nsynchronize_sched_expedited_cpu_stop() - and each use case now simply\nasks cpu_stop to execute the callback as necessary.\n\nsynchronize_sched_expedited() was implemented with private\npreallocated resources and custom multi-cpu queueing and waiting\nlogic, both of which are provided by cpu_stop.\nsynchronize_sched_expedited_count is made atomic and all other shared\nresources along with the mutex are dropped.\n\nsynchronize_sched_expedited() also implemented a check to detect cases\nwhere not all the callback got executed on their assigned cpus and\nfall back to synchronize_sched().  If called with cpu hotplug blocked,\ncpu_stop already guarantees that and the condition cannot happen;\notherwise, stop_machine() would break.  However, this patch preserves\nthe paranoid check using a cpumask to record on which cpus the stopper\nran so that it can serve as a bisection point if something actually\ngoes wrong theree.\n\nBecause the internal execution state is no longer visible,\nrcu_expedited_torture_stats() is removed.\n\nThis patch also renames cpu_stop threads to from \"stopper/%d\" to\n\"migration/%d\".  The names of these threads ultimately don\u0027t matter\nand there\u0027s no reason to make unnecessary userland visible changes.\n\nWith this patch applied, stop_machine() and sched now share the same\nresources.  stop_machine() is faster without wasting any resources and\nsched migration users are much cleaner.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nCc: Josh Triplett \u003cjosh@freedesktop.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Dimitri Sivanich \u003csivanich@sgi.com\u003e\n"
    },
    {
      "commit": "3fc1f1e27a5b807791d72e5d992aa33b668a6626",
      "tree": "396c2f49909c506c3ad53fd6a9bdddf6c24f7860",
      "parents": [
        "1142d810298e694754498dbb4983fcb6cb7fd884"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:20 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:20 2010 +0200"
      },
      "message": "stop_machine: reimplement using cpu_stop\n\nReimplement stop_machine using cpu_stop.  As cpu stoppers are\nguaranteed to be available for all online cpus,\nstop_machine_create/destroy() are no longer necessary and removed.\n\nWith resource management and synchronization handled by cpu_stop, the\nnew implementation is much simpler.  Asking the cpu_stop to execute\nthe stop_cpu() state machine on all online cpus with cpu hotplug\ndisabled is enough.\n\nstop_machine itself doesn\u0027t need to manage any global resources\nanymore, so all per-instance information is rolled into struct\nstop_machine_data and the mutex and all static data variables are\nremoved.\n\nThe previous implementation created and destroyed RT workqueues as\nnecessary which made stop_machine() calls highly expensive on very\nlarge machines.  According to Dimitri Sivanich, preventing the dynamic\ncreation/destruction makes booting faster more than twice on very\nlarge machines.  cpu_stop resources are preallocated for all online\ncpus and should have the same effect.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Dimitri Sivanich \u003csivanich@sgi.com\u003e\n"
    },
    {
      "commit": "1142d810298e694754498dbb4983fcb6cb7fd884",
      "tree": "8c5d23b76f129e23d9d967182aa434795e44af5c",
      "parents": [
        "99bd5e2f245d8cd17d040c82d40becdb3efd9b69"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:20 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 06 18:49:20 2010 +0200"
      },
      "message": "cpu_stop: implement stop_cpu[s]()\n\nImplement a simplistic per-cpu maximum priority cpu monopolization\nmechanism.  A non-sleeping callback can be scheduled to run on one or\nmultiple cpus with maximum priority monopolozing those cpus.  This is\nprimarily to replace and unify RT workqueue usage in stop_machine and\nscheduler migration_thread which currently is serving multiple\npurposes.\n\nFour functions are provided - stop_one_cpu(), stop_one_cpu_nowait(),\nstop_cpus() and try_stop_cpus().\n\nThis is to allow clean sharing of resources among stop_cpu and all the\nmigration thread users.  One stopper thread per cpu is created which\nis currently named \"stopper/CPU\".  This will eventually replace the\nmigration thread and take on its name.\n\n* This facility was originally named cpuhog and lived in separate\n  files but Peter Zijlstra nacked the name and thus got renamed to\n  cpu_stop and moved into stop_machine.c.\n\n* Better reporting of preemption leak as per Peter\u0027s suggestion.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Dimitri Sivanich \u003csivanich@sgi.com\u003e\n"
    },
    {
      "commit": "ee84b8243b07c33a5c8aed42b4b2da60cb16d1d2",
      "tree": "a5b3cad55179fe8340c6422deaf6e11120222ad1",
      "parents": [
        "ad4ba375373937817404fd92239ef4cadbded23b"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 06 09:28:41 2010 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu May 06 09:28:41 2010 -0700"
      },
      "message": "rcu: create rcu_my_thread_group_empty() wrapper\n\nSome RCU-lockdep splat repairs need to know whether they are running\nin a single-threaded process.  Unfortunately, the thread_group_empty()\nprimitive is defined in sched.h, and can induce #include hell.  This\ncommit therefore introduces a rcu_my_thread_group_empty() wrapper that\nis defined in rcupdate.c, thus avoiding the need to include sched.h\neverywhere.\n\nSigned-off-by: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "668eb65f092902eb7dd526af73d4a7f025a94612",
      "tree": "2ef89525a77f0541bf527dc33325969cf360c4a4",
      "parents": [
        "2e26ca7150a4f2ab3e69471dfc65f131e7dd7a05"
      ],
      "author": {
        "name": "Thiago Farina",
        "email": "tfransosi@gmail.com",
        "time": "Sun Jan 24 11:03:50 2010 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 05 12:01:26 2010 -0400"
      },
      "message": "tracing: Fix \"integer as NULL pointer\" warning.\n\nkernel/trace/trace_output.c:256:24: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Thiago Farina \u003ctfransosi@gmail.com\u003e\nLKML-Reference: \u003c1264349038-1766-3-git-send-email-tfransosi@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8777c793d6a24c7f3adf52b1b1086e9706de4589",
      "tree": "87817c46c895307df4f9188e7f13d1f18b0eb01e",
      "parents": [
        "7437e7d3672b6d23c08212c68752c9a9c25f8e9e",
        "47dd5be2d6a82b8153e059a1d09eb3879d485bfd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 05 07:56:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 05 07:56:36 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: flush_delayed_work: keep the original workqueue for re-queueing\n"
    }
  ],
  "next": "f5fa05d97252b23b12749a7cd02710870c0762b0"
}
