)]}'
{
  "log": [
    {
      "commit": "b2e74a265ded1a185f762ebaab967e9e0d008dd8",
      "tree": "bdfefc2d8376bde15f1defab28201c341c9d6e0c",
      "parents": [
        "4d795fb17a02a87e35782773b88b7a63acfbeaae"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Nov 26 09:24:30 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 18:49:59 2009 +0100"
      },
      "message": "perf_events: Fix read() bogus counts when in error state\n\nWhen a pinned group cannot be scheduled it goes into error state.\n\nNormally a group cannot go out of error state without being\nexplicitly re-enabled or disabled. There was a bug in per-thread\nmode, whereby upon termination of the thread, the group would\ntransition from error to off leading to bogus counts and timing\ninformation returned by read().\n\nFix it by clearing the error state.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: perfmon2-devel@lists.sourceforge.net\nLKML-Reference: \u003c4b0eb9ce.0508d00a.573b.ffffeab6@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80bbf6b641c8843b9d751a1f299aa7ee073ab9d4",
      "tree": "c46005b9160e6a5fba1f026918e0af2a4a758b08",
      "parents": [
        "11e6635763bdc0e24b39a38876574660755acffc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 25 21:20:53 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 10:40:51 2009 +0100"
      },
      "message": "hw-breakpoints: Fix unused function in off-case\n\nbp_perf_event_destroy() is unused in its off-case version, let\u0027s\nremove it to fix the following warning reported by Stephen\nRothwell in linux-next:\n\n  kernel/perf_event.c:4306: warning: \u0027bp_perf_event_destroy\u0027 defined but not used\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1259180453-5813-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6567f642e20bcc79abed030f44be5b0d6da2ded",
      "tree": "eff0dee5075d220b46019019f8e0d8e8a7bd30f3",
      "parents": [
        "d99be40aff88722ab03ee295e4f6c13a4cca9a3d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Nov 26 05:35:41 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 09:29:21 2009 +0100"
      },
      "message": "hw-breakpoints: Improve in-kernel event creation error granularity\n\nIn fail case, perf_event_create_kernel_counter() returns NULL\ninstead of an error, which doesn\u0027t help us to inform the user\nabout the origin of the problem from the outer most callers.\nOften we can just return -EINVAL, which doesn\u0027t help anyone when\nit\u0027s eventually about a memory allocation failure.\n\nThen, this patch makes perf_event_create_kernel_counter() always\nreturn a detailed error code.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c1259210142-5714-2-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fe6126722718e51fba4879517c11ac12d9775bcc",
      "tree": "12a2c8f0f39fd1051dfa0a1132f5c07f9a733362",
      "parents": [
        "1261a02a0c0ab8e643125705f0d1d83e5090e4d1"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 24 20:38:22 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 24 21:34:00 2009 +0100"
      },
      "message": "perf_events: Fix bad software/trace event recursion counting\n\nCommit 4ed7c92d68a5387ba5f7030dc76eab03558e27f5\n(perf_events: Undo some recursion damage) has introduced a bad\nreference counting of the recursion context. putting the context\nbehaves like getting it, dropping every software/trace events\nafter the first one in a context.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1259091502-5171-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "184d3da8ef0ca552dffa0fdd35c046e058a2cf9a",
      "tree": "4f7bc687cea6ce6ee13a8beec59d8ae7081dfb64",
      "parents": [
        "b23d5767a5818caec8547d0bce1588b02bdecd30"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Nov 23 21:40:49 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 24 08:55:27 2009 +0100"
      },
      "message": "perf_events: Fix bogus copy_to_user() in perf_event_read_group()\n\nWhen using an event group, the value and id for non leaders events\nwere wrong due to invalid offset into the outgoing buffer.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: paulus@samba.org\nCc: perfmon2-devel@lists.sourceforge.net\nLKML-Reference: \u003c4b0b71e1.0508d00a.075e.ffff84a3@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f5ffe02e5046003ae7e2ce70d3d1c2a73331268b",
      "tree": "ed300505d80941e2ea95746f65a1b9eacfd4562f",
      "parents": [
        "fdf6bc95229821e3d9405eba28925b76e92b74d0"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Nov 23 15:42:34 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 18:18:31 2009 +0100"
      },
      "message": "perf: Add kernel side syscall events support for breakpoints\n\nAdd the remaining necessary bits to support breakpoints created\nthrough perf syscall.\n\nWe don\u0027t use the software counter interface as:\n\n- We don\u0027t need to check against recursion, this is already done\n  in hardware breakpoints arch level.\n\n- We already know the perf event we are dealing with when the\n  event is to be committed.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c1258987355-8751-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acd1d7c1f8f3d848a3c5327dc09f8c1efb971678",
      "tree": "88ec283110f78cf803c71a3d1d919a422f2f13c5",
      "parents": [
        "4ed7c92d68a5387ba5f7030dc76eab03558e27f5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Nov 23 15:00:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 15:22:19 2009 +0100"
      },
      "message": "perf_events: Restore sanity to scaling land\n\nIt is quite possible to call update_event_times() on a context\nthat isn\u0027t actually running and thereby confuse the thing.\n\nperf stat was reporting !100% scale values for software counters\n(2e2af50b perf_events: Disable events when we detach them,\nsolved the worst of that, but there was still some left).\n\nThe thing that happens is that because we are not self-reaping\n(we have a caring parent) there is a time between the last\nschedule (out) and having do_exit() called which will detach the\nevents.\n\nThis period would be accounted as enabled,!running because the\nevent-\u003estate\u003d\u003dINACTIVE, even though !event-\u003ectx-\u003eis_active.\n\nSimilar issues could have been observed by calling read() on a\nevent while the attached task was not scheduled in.\n\nSolve this by teaching update_event_times() about\nctx-\u003eis_active.\n\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\nLKML-Reference: \u003c1258984836.4531.480.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ed7c92d68a5387ba5f7030dc76eab03558e27f5",
      "tree": "38d758819c41261275c2dbd6f64976f824c5fd27",
      "parents": [
        "f67218c3e93abaf0f480bb94b53d234853ffe4de"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:29 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:57 2009 +0100"
      },
      "message": "perf_events: Undo some recursion damage\n\nMake perf_swevent_get_recursion_context return a context number\nand disable preemption.\n\nThis could be used to remove the IRQ disable from the trace bit\nand index the per-cpu buffer with.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091123103819.993226816@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f67218c3e93abaf0f480bb94b53d234853ffe4de",
      "tree": "8b82587c79c53376b9295e543932d746fd725260",
      "parents": [
        "5e942bb33371254a474653123cd9e13a4c89ee44"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:57 2009 +0100"
      },
      "message": "perf_events: Fix __perf_event_exit_task() vs. update_event_times() locking\n\nMove the update_event_times() call in __perf_event_exit_task()\ninto list_del_event() because that holds the proper lock\n(ctx-\u003elock) and seems a more natural place to do the last time\nupdate.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091123103819.842455480@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e942bb33371254a474653123cd9e13a4c89ee44",
      "tree": "2159878d96ea60de9b530b052390b8ca069f1e98",
      "parents": [
        "2e2af50b1fab3c40636839a7f439c167ae559533"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:26 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:56 2009 +0100"
      },
      "message": "perf_events: Update the context time on exit\n\nIt appeared we did call update_event_times() on exit, but we\nfailed to update the context time, which renders the former\nmoot.\n\nLocking is a bit iffy, we call update_event_times under\nctx-\u003emutex instead of ctx-\u003elock - the next patch fixes this.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091123103819.764207355@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e2af50b1fab3c40636839a7f439c167ae559533",
      "tree": "227e0bfd12757fb90d403440f318e7337144c468",
      "parents": [
        "6c2bfcbe58e0dd39554be88940149f5aa11e17d1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:25 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:56 2009 +0100"
      },
      "message": "perf_events: Disable events when we detach them\n\nIf we leave the event in STATE_INACTIVE, any read of the event\nafter the detach will increase the running count but not the\nenabled count and cause funny scaling artefacts.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091123103819.689055515@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c2bfcbe58e0dd39554be88940149f5aa11e17d1",
      "tree": "05b8246173a23f418c2b724d111c37a6429e426d",
      "parents": [
        "a66a3052e2d4c5815d7ad26887b1d4193206e691"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:24 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:55 2009 +0100"
      },
      "message": "perf_events: Fix style nits\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091123103819.613427378@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a66a3052e2d4c5815d7ad26887b1d4193206e691",
      "tree": "4f8043ef4bccf3779b5d7d180d82cf18f451e025",
      "parents": [
        "a4234bfcf4d72a10a99176cdef007345e9c3b4aa"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:23 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:55 2009 +0100"
      },
      "message": "perf_events: Undo copy/paste damage\n\nWe had two almost identical functions, avoid the duplication.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c20091123103819.537537928@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4234bfcf4d72a10a99176cdef007345e9c3b4aa",
      "tree": "240da1dbbdd6d2f88e9491774e623dc82caaa911",
      "parents": [
        "6e3d8330ae2c4b2c11a9577a0130d2ecda1c610d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 10:57:59 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:48:27 2009 +0100"
      },
      "message": "perf_events: Optimize the swcounter hotpath\n\nThe structure init creates a bit memcpy, which shows\nup big time in perf annotate output:\n\n          :      ffffffff810a859d \u003c__perf_sw_event\u003e:\n     1.68 :      ffffffff810a859d:       55                      push   %rbp\n     1.69 :      ffffffff810a859e:       41 89 fa                mov    %edi,%r10d\n     0.01 :      ffffffff810a85a1:       49 89 c9                mov    %rcx,%r9\n     0.00 :      ffffffff810a85a4:       31 c0                   xor    %eax,%eax\n     1.71 :      ffffffff810a85a6:       b9 16 00 00 00          mov    $0x16,%ecx\n     0.00 :      ffffffff810a85ab:       48 89 e5                mov    %rsp,%rbp\n     0.00 :      ffffffff810a85ae:       48 83 ec 60             sub    $0x60,%rsp\n     1.52 :      ffffffff810a85b2:       48 8d 7d a0             lea    -0x60(%rbp),%rdi\n    85.20 :      ffffffff810a85b6:       f3 ab                   rep stos %eax,%es:(%rdi)\n\nNone of the callees depends on the structure being pre-initialized,\nso only initialize -\u003eaddr. This gets rid of the memcpy overhead.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "645e8cc0c9f01f07f384fd522b782e5e6ae9de18",
      "tree": "8db943dfb81ebb18015442089963e43a489e8619",
      "parents": [
        "e57cfcdac6badd846a1cd831de54a1359c2d1eea"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 12:20:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 12:21:33 2009 +0100"
      },
      "message": "perf_events: Fix modular build\n\nFix:\n\n  ERROR: \"perf_swevent_put_recursion_context\" [fs/ext4/ext4.ko] undefined!\n  ERROR: \"perf_swevent_get_recursion_context\" [fs/ext4/ext4.ko] undefined!\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003c1258864015-10579-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96b02d78a7e47cd189f6b307c5513fec6b2155dc",
      "tree": "0bdd5060e9a01366cc2fab1ae8359743ad15e77d",
      "parents": [
        "5093ebad5f2348076fdc3dac7d2358b1ad7f85f7"
      ],
      "author": {
        "name": "Márton Németh",
        "email": "nm127@freemail.hu",
        "time": "Sat Nov 21 23:10:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 09:49:26 2009 +0100"
      },
      "message": "perf_event: Remove redundant zero fill\n\nThe buffer is first zeroed out by memset(). Then strncpy() is\nused to fill the content. The strncpy() function also pads the\nstring till the end of the specified length, which is redundant.\nThe strncpy() does not ensures that the string will be properly\nclosed with 0. Use strlcpy() instead.\n\nThe semantic match that finds this kind of pattern is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression buffer;\nexpression size;\nexpression str;\n@@\n\tmemset(buffer, 0, size);\n\t...\n-\tstrncpy(\n+\tstrlcpy(\n\tbuffer, str, sizeof(buffer)\n\t);\n@@\nexpression buffer;\nexpression size;\nexpression str;\n@@\n\tmemset(\u0026buffer, 0, size);\n\t...\n-\tstrncpy(\n+\tstrlcpy(\n\t\u0026buffer, str, sizeof(buffer));\n@@\nexpression buffer;\nidentifier field;\nexpression size;\nexpression str;\n@@\n\tmemset(buffer, 0, size);\n\t...\n-\tstrncpy(\n+\tstrlcpy(\n\tbuffer-\u003efield, str, sizeof(buffer-\u003efield)\n\t);\n@@\nexpression buffer;\nidentifier field;\nexpression size;\nexpression str;\n@@\n\tmemset(\u0026buffer, 0, size);\n\t...\n-\tstrncpy(\n+\tstrlcpy(\n\tbuffer.field, str, sizeof(buffer.field));\n// \u003c/smpl\u003e\n\nOn strncpy() vs strlcpy() see\nhttp://www.gratisoft.us/todd/papers/strlcpy.html .\n\nSigned-off-by: Márton Németh \u003cnm127@freemail.hu\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: cocci@diku.dk\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B086547.5040100@freemail.hu\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ce71b9df8893ec954e56c5979df6da274f20f65e",
      "tree": "76e8a5e33393c2f4fca4083628fc142dcbb55250",
      "parents": [
        "e25613683bd5c46d3e8c8ae6416dccc9f357dcdc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 22 05:26:55 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 09:03:42 2009 +0100"
      },
      "message": "tracing: Use the perf recursion protection from trace event\n\nWhen we commit a trace to perf, we first check if we are\nrecursing in the same buffer so that we don\u0027t mess-up the buffer\nwith a recursing trace. But later on, we do the same check from\nperf to avoid commit recursion. The recursion check is desired\nearly before we touch the buffer but we want to do this check\nonly once.\n\nThen export the recursion protection from perf and use it from\nthe trace events before submitting a trace.\n\nv2: Put appropriate Reported-by tag\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003c1258864015-10579-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8904b18046c2f050107f6449e887e7c1142b9ab9",
      "tree": "c0a23af5059b60f3dd565e2a2a88c8737979588f",
      "parents": [
        "6f10581aeaa5543a3b7a8c7a87a064375ec357f8"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@gmail.com",
        "time": "Fri Nov 20 22:19:57 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:41 2009 +0100"
      },
      "message": "perf_events: Fix default watermark calculation\n\nThis patch fixes the default watermark value for the sampling\nbuffer. With the existing calculation (watermark \u003d\nmax(PAGE_SIZE, max_size / 2)), no notification was ever received\nwhen the buffer was exactly 1 page. This was because you would\nnever cross the threshold (there is no partial samples).\n\nIn certain configuration, there was no possibilty detecting the\nproblem because there was not enough space left to store the\nLOST record.In fact, there may be a more generic problem here.\nThe kernel should ensure that there is alaways enough space to\nstore one LOST record.\n\nThis patch sets the default watermark to half the buffer size.\nWith such limit, we are guaranteed to get a notification even\nwith a single page buffer assuming no sample is bigger than a\npage.\n\nSigned-off-by: Stephane Eranian \u003ceranian@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212509.344964101@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1256302576-6169-1-git-send-email-eranian@gmail.com\u003e\n"
    },
    {
      "commit": "6f10581aeaa5543a3b7a8c7a87a064375ec357f8",
      "tree": "57b94ae6f96d8a2e12bd8537a54b75d652636e00",
      "parents": [
        "59ed446f792cc07d37b1536b9c4664d14e25e425"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:56 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:40 2009 +0100"
      },
      "message": "perf: Fix locking for PERF_FORMAT_GROUP\n\nWe should hold event-\u003echild_mutex when iterating the inherited\ncounters, we should hold ctx-\u003emutex when iterating siblings.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212509.251030114@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "59ed446f792cc07d37b1536b9c4664d14e25e425",
      "tree": "707c009e252b082ffac5c5209f4bdc013b1b5c62",
      "parents": [
        "2b8988c9f7defe319cffe0cd362a7cd356c86f62"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:55 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:40 2009 +0100"
      },
      "message": "perf: Fix event scaling for inherited counters\n\nProperly account the full hierarchy of counters for both the\ncount (we already did so) and the scale times (new).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212509.153379276@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b8988c9f7defe319cffe0cd362a7cd356c86f62",
      "tree": "0b9dde7d4c4304eaa1b701897609b1918d72e0f3",
      "parents": [
        "58e5ad1de3d6ad931c84f0cc8ef0655c922f30ad"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:54 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:39 2009 +0100"
      },
      "message": "perf: Fix time locking\n\nMost sites updating ctx-\u003etime and event times do so under\nctx-\u003elock, make sure they all do.\n\nThis was made possible by removing the __perf_event_read() call\nfrom __perf_event_sync_stat(), which already had this lock\ntaken.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212509.102316434@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "58e5ad1de3d6ad931c84f0cc8ef0655c922f30ad",
      "tree": "f3b018f0f8ceaf21747b5e1d912ad30b40d00779",
      "parents": [
        "3dbebf15c5d3e265f751eec72c1538a00da4be27"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:53 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:39 2009 +0100"
      },
      "message": "perf: Simplify __perf_event_read\n\ncpuctx is always active, task context is always active for\ncurrent\n\nthe previous condition verifies that if its a task context its\nfor current, hence we can assume ctx-\u003eis_active.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212509.000272254@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3dbebf15c5d3e265f751eec72c1538a00da4be27",
      "tree": "66aa74aee095f2031b7c79a3762e22ca2a765174",
      "parents": [
        "f6f83785222b0ee037f7be90731f62a649292b5e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:52 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:39 2009 +0100"
      },
      "message": "perf: Simplify __perf_event_sync_stat\n\nRemoves constraints from __perf_event_read() by leaving it with\na single callsite; this callsite had ctx-\u003elock held, the other\none does not.\n\nRemoves some superfluous code from __perf_event_sync_stat().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.918544317@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6f83785222b0ee037f7be90731f62a649292b5e",
      "tree": "fcafe2c4addc41ac2d65eb29c45ff2cee240efc3",
      "parents": [
        "02ffdbc866c8b1c8644601e9aa6155700eed4c91"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:51 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:38 2009 +0100"
      },
      "message": "perf: Optimize __perf_event_read()\n\nBoth callers actually have IRQs disabled, no need doing so\nagain.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.863685796@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02ffdbc866c8b1c8644601e9aa6155700eed4c91",
      "tree": "fd5c0cfbbadc22e123aa25c17c74ac69f8b14887",
      "parents": [
        "abf4868b8548cae18d4fe8bbfb4e207443be01be"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:50 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:38 2009 +0100"
      },
      "message": "perf: Optimize perf_event_task_sched_out\n\nRemove an update_context_time() call from the\nperf_event_task_sched_out() path and into the branch its needed.\n\nThe call was both superfluous, because __perf_event_sched_out()\nalready does it, and wrong, because it was done without holding\nctx-\u003elock.\n\nPlace it in perf_event_sync_stat(), which is the only place it\nis needed and which does already hold ctx-\u003elock.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.779516394@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "abf4868b8548cae18d4fe8bbfb4e207443be01be",
      "tree": "0a8900bb5413826bc1f3ac9ccc435c4750dfedab",
      "parents": [
        "f6d9dd237da400effb265f3554c64413f8a3e7b4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:49 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:37 2009 +0100"
      },
      "message": "perf: Fix PERF_FORMAT_GROUP scale info\n\nAs Corey reported, the total_enabled and total_running times\ncould occasionally be 0, even though there were events counted.\n\nIt turns out this is because we record the times before reading\nthe counter while the latter updates the times.\n\nThis patch corrects that.\n\nWhile looking at this code I found that there is a lot of\nlocking iffyness around, the following patches correct most of\nthat.\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\nLKML-Reference: \u003c20091120212508.685559857@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6d9dd237da400effb265f3554c64413f8a3e7b4",
      "tree": "d06e7ec3385697a638b18c6890c087f0ac8e329b",
      "parents": [
        "f6595f3a9680c86b6332f881a7ae2cbbcfdc8619"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:37 2009 +0100"
      },
      "message": "perf: Optimize perf_event_mmap_ctx()\n\nRemove a rcu_read_{,un}lock() pair and a few conditionals.\n\nWe can remove the rcu_read_lock() by increasing the scope of one\nin the calling function.\n\nWe can do away with the system_state check if the machine still\nboots after this patch (seems to be the case).\n\nWe can do away with the list_empty() check because the bare\nlist_for_each_entry_rcu() reduces to that now that we\u0027ve removed\neverything else.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.606459548@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6595f3a9680c86b6332f881a7ae2cbbcfdc8619",
      "tree": "e536eae39be3de42c2c48b5ab3a7eef198aa201f",
      "parents": [
        "d6ff86cfb50a72df820e7e839836d55d245306fb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:36 2009 +0100"
      },
      "message": "perf: Optimize perf_event_comm_ctx()\n\nRemove a rcu_read_{,un}lock() pair and a few conditionals.\n\nWe can remove the rcu_read_lock() by increasing the scope of one\nin the calling function.\n\nWe can do away with the system_state check if the machine still\nboots after this patch (seems to be the case).\n\nWe can do away with the list_empty() check because the bare\nlist_for_each_entry_rcu() reduces to that now that we\u0027ve removed\neverything else.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.527608793@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6ff86cfb50a72df820e7e839836d55d245306fb",
      "tree": "e615cbbc693da8c5000d5eb3a022207c7f85605a",
      "parents": [
        "81520183878a8813c71c9372de28bb70913ba549"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:36 2009 +0100"
      },
      "message": "perf: Optimize perf_event_task_ctx()\n\nRemove a rcu_read_{,un}lock() pair and a few conditionals.\n\nWe can remove the rcu_read_lock() by increasing the scope of one\nin the calling function.\n\nWe can do away with the system_state check if the machine still\nboots after this patch (seems to be the case).\n\nWe can do away with the list_empty() check because the bare\nlist_for_each_entry_rcu() reduces to that now that we\u0027ve removed\neverything else.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.452227115@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "81520183878a8813c71c9372de28bb70913ba549",
      "tree": "06604995dae8879091a310a3c9a9cb18d38cf62f",
      "parents": [
        "0cff784ae41cc125368ae77f1c01328ae2fdc6b3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:35 2009 +0100"
      },
      "message": "perf: Optimize perf_swevent_ctx_event()\n\nRemove a rcu_read_{,un}lock() pair and a few conditionals.\n\nWe can remove the rcu_read_lock() by increasing the scope of one\nin the calling function.\n\nWe can do away with the system_state check if the machine still\nboots after this patch (seems to be the case).\n\nWe can do away with the list_empty() check because the bare\nlist_for_each_entry_rcu() reduces to that now that we\u0027ve removed\neverything else.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.378188589@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0cff784ae41cc125368ae77f1c01328ae2fdc6b3",
      "tree": "54e6f387d945d724c00bb33118ef138831a68d10",
      "parents": [
        "453f19eea7dbad837425e9b07d84568d14898794"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:44 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:35 2009 +0100"
      },
      "message": "perf: Optimize some swcounter attr.sample_period\u003d\u003d1 paths\n\nAvoid the rather expensive perf_swevent_set_period() if we know\nwe have to sample every single event anyway.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.299508332@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "453f19eea7dbad837425e9b07d84568d14898794",
      "tree": "3b1d757a72512b5ab566649b9eda59e032734993",
      "parents": [
        "ef6ae724253429ac70d81e65d052f6a346d330bd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:43 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:35 2009 +0100"
      },
      "message": "perf: Allow for custom overflow handlers\n\nin-kernel perf users might wish to have custom actions on the\nsample interrupt.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.222339539@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96200591a34f8ecb98481c626125df43a2463b55",
      "tree": "314c376b01f254d04f9aaf449b1f9147ad177fa6",
      "parents": [
        "7031281e02bf951a2259849217193fb9d75a9762",
        "68efa37df779b3e04280598e8b5b3a1919b65fee"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:07:23 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:07:23 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/hw-breakpoints\u0027 into perf/core\n\nConflicts:\n\tarch/x86/kernel/kprobes.c\n\tkernel/trace/Makefile\n\nMerge reason: hw-breakpoints perf integration is looking\n              good in testing and in reviews, plus conflicts\n              are mounting up - so merge \u0026 resolve.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "559fdc3c1b624edb1933a875022fe7e27934d11c",
      "tree": "b722805dbebd9584ffb981e2be84385ee0e22c67",
      "parents": [
        "7255fe2a42c612f2b8fe4c347f0a5f0c97d85a46"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 16 12:45:14 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 16 13:27:45 2009 +0100"
      },
      "message": "perf_event: Optimize perf_output_lock()\n\nThe purpose of perf_output_{un,}lock() is to:\n\n 1) avoid publishing incomplete data\n    [ possible when publishing a head that is ahead of an entry\n      that is still being written ]\n\n 2) guarantee fwd progress\n    [ a simple refcount on pending writers doesn\u0027t need to drop to\n      0, making it so would end up implementing something like forced\n      quiecent states of RCU ]\n\nTo satisfy the above without undue complexity it serializes\nbetween CPUs, this means that a pending writer can only be the\nsame cpu in a nested context, and since (under normal operation)\na cpu always makes progress we\u0027re good -- if the head is only\npublished when the bottom  most writer completes.\n\nNow we don\u0027t need to disable IRQs in order to serialize between\nCPUs, disabling preemption ought to be sufficient, esp since we\nalready deal with nesting due to NMIs.\n\nThis avoids potentially expensive (and needless) local IRQ\ndisable/enable ops.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1258373161.26714.254.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0ffa798d947f5f5e40690cc9d38e678080a34f87",
      "tree": "a9e25ba4431de513d4c83201429e9ff301cbaf50",
      "parents": [
        "39dc78b6510323848e3356452f7dab9499736978",
        "c86e2eaded39843e1bf4f07d1adfab4494f20894",
        "c5659b74f052150791750234f92dcfb29d27efa5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 15 09:51:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 15 09:51:24 2009 +0100"
      },
      "message": "Merge branches \u0027perf/powerpc\u0027 and \u0027perf/bench\u0027 into perf/core\n\nMerge reason: Both \u0027perf bench\u0027 and the pending PowerPC changes\n              are now ready for the next merge window.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "24f1e32c60c45c89a997c73395b69c8af6f0a84e",
      "tree": "4f30f16e18cb4abbcf96b3b331e6a3f01bfa26e6",
      "parents": [
        "2da3e160cb3d226d87b907fab26850d838ed8d7c"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Sep 09 19:22:48 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 08 15:34:42 2009 +0100"
      },
      "message": "hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events\n\nThis patch rebase the implementation of the breakpoints API on top of\nperf events instances.\n\nEach breakpoints are now perf events that handle the\nregister scheduling, thread/cpu attachment, etc..\n\nThe new layering is now made as follows:\n\n       ptrace       kgdb      ftrace   perf syscall\n          \\          |          /         /\n           \\         |         /         /\n                                        /\n            Core breakpoint API        /\n                                      /\n                     |               /\n                     |              /\n\n              Breakpoints perf events\n\n                     |\n                     |\n\n               Breakpoints PMU ---- Debug Register constraints handling\n                                    (Part of core breakpoint API)\n                     |\n                     |\n\n             Hardware debug registers\n\nReasons of this rewrite:\n\n- Use the centralized/optimized pmu registers scheduling,\n  implying an easier arch integration\n- More powerful register handling: perf attributes (pinned/flexible\n  events, exclusive/non-exclusive, tunable period, etc...)\n\nImpact:\n\n- New perf ABI: the hardware breakpoints counters\n- Ptrace breakpoints setting remains tricky and still needs some per\n  thread breakpoints references.\n\nTodo (in the order):\n\n- Support breakpoints perf counter events for perf tools (ie: implement\n  perf_bpcounter_event())\n- Support from perf tools\n\nChanges in v2:\n\n- Follow the perf \"event \" rename\n- The ptrace regression have been fixed (ptrace breakpoint perf events\n  weren\u0027t released when a task ended)\n- Drop the struct hw_breakpoint and store generic fields in\n  perf_event_attr.\n- Separate core and arch specific headers, drop\n  asm-generic/hw_breakpoint.h and create linux/hw_breakpoint.h\n- Use new generic len/type for breakpoint\n- Handle off case: when breakpoints api is not supported by an arch\n\nChanges in v3:\n\n- Fix broken CONFIG_KVM, we need to propagate the breakpoint api\n  changes to kvm when we exit the guest and restore the bp registers\n  to the host.\n\nChanges in v4:\n\n- Drop the hw_breakpoint_restore() stub as it is only used by KVM\n- EXPORT_SYMBOL_GPL hw_breakpoint_restore() as KVM can be built as a\n  module\n- Restore the breakpoints unconditionally on kvm guest exit:\n  TIF_DEBUG_THREAD doesn\u0027t anymore cover every cases of running\n  breakpoints and vcpu-\u003earch.switch_db_regs might not always be\n  set when the guest used debug registers.\n  (Waiting for a reliable optimization)\n\nChanges in v5:\n\n- Split-up the asm-generic/hw-breakpoint.h moving to\n  linux/hw_breakpoint.h into a separate patch\n- Optimize the breakpoints restoring while switching from kvm guest\n  to host. We only want to restore the state if we have active\n  breakpoints to the host, otherwise we don\u0027t care about messed-up\n  address registers.\n- Add asm/hw_breakpoint.h to Kbuild\n- Fix bad breakpoint type in trace_selftest.c\n\nChanges in v6:\n\n- Fix wrong header inclusion in trace.h (triggered a build\n  error with CONFIG_FTRACE_SELFTEST\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "a2e71271535fde493c32803b1f34789f97efcb5e",
      "tree": "90d7139bea2f49e947f27af92614fa6eca50b64d",
      "parents": [
        "6d7aa9d721c8c640066142fd9534afcdf68d7f9d",
        "b419148e567728f6af0c3b01965c1cc141e3e13a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 04 11:54:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 04 11:59:45 2009 +0100"
      },
      "message": "Merge commit \u0027v2.6.32-rc6\u0027 into perf/core\n\nConflicts:\n\ttools/perf/Makefile\n\nMerge reason: Resolve the conflict, merge to upstream and merge in\n              perf fixes so we can add a dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "97eaf5300b9d0cd99c310bf8c4a0f2f3296d88a3",
      "tree": "aa047f4c078e2c9aeabcbcc9e33d93a50366b8e9",
      "parents": [
        "41a48d14f6991020c9bb6b93e289ca5b411ed09a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Oct 18 15:33:50 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 03 19:11:53 2009 +0100"
      },
      "message": "perf/core: Add a callback to perf events\n\nA simple callback in a perf event can be used for multiple purposes.\nFor example it is useful for triggered based events like hardware\nbreakpoints that need a callback to dispatch a triggered breakpoint\nevent.\n\nv2: Simplify a bit the callback attribution as suggested by Paul\n    Mackerras\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \"K.Prasad\" \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "fb0459d75c1d0a4ba3cafdd2c754e7486968a676",
      "tree": "3e7a112cbf2feb144b3e1abbc5dfb186f77b8b50",
      "parents": [
        "0f8f86c7bdd1c954fbe153af437a0d91a6c5721a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Fri Sep 25 12:25:56 2009 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 03 18:04:17 2009 +0100"
      },
      "message": "perf/core: Provide a kernel-internal interface to get to performance counters\n\nThere are reasons for kernel code to ask for, and use, performance\ncounters.\nFor example, in CPU freq governors this tends to be a good idea, but\nthere are other examples possible as well of course.\n\nThis patch adds the needed bits to do enable this functionality; they\nhave been tested in an experimental cpufreq driver that I\u0027m working on,\nand the changes are all that I needed to access counters properly.\n\n[fweisbec@gmail.com: added pid to perf_event_create_kernel_counter so\nthat we can profile a particular task too\n\nTODO: Have a better error reporting, don\u0027t just return NULL in fail\ncase.]\n\nv2: Remove the wrong comment about the fact\n    perf_event_create_kernel_counter must be called from a kernel\n    thread.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \"K.Prasad\" \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nLKML-Reference: \u003c20090925122556.2f8bd939@infradead.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "f7d7986060b2890fc26db6ab5203efbd33aa2497",
      "tree": "0ed63257afd3fd02d83ab481af35855603ac4790",
      "parents": [
        "81cd5ae303e88a1e9d3a3e0f1fe8abd100edde16"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sun Oct 18 01:09:29 2009 +0000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Oct 28 16:13:03 2009 +1100"
      },
      "message": "perf_event: Add alignment-faults and emulation-faults software events\n\nAdd two more software events that are common to many cpus.\n\nAlignment faults: When a load or store is not aligned properly.\n\nEmulation faults: When an instruction is emulated in software.\n\nBoth cause a very significant slowdown (100x or worse), so identifying and\nfixing them is very important.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "54f4407608c59712a8f5ec1e10dfac40bef5a2e7",
      "tree": "78ab139c78b084d597c3a198b0b713b89ce23da5",
      "parents": [
        "721a669b7225edeeb0ca8e2bf71b83882326a71b"
      ],
      "author": {
        "name": "Soeren Sandmann",
        "email": "sandmann@daimi.au.dk",
        "time": "Thu Oct 22 18:34:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 09:35:02 2009 +0200"
      },
      "message": "perf events: Don\u0027t generate events for the idle task when exclude_idle is set\n\nGetting samples for the idle task is often not interesting, so\ndon\u0027t generate them when exclude_idle is set for the event in\nquestion.\n\nSigned-off-by: Søren Sandmann Pedersen \u003csandmann@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003cye8pr8fmlq7.fsf@camel16.daimi.au.dk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "721a669b7225edeeb0ca8e2bf71b83882326a71b",
      "tree": "51bc7438941db50224489091eed677ba67decf56",
      "parents": [
        "2e600d01c131ee189f55ca1879cd364b9e056df8"
      ],
      "author": {
        "name": "Soeren Sandmann",
        "email": "sandmann@daimi.au.dk",
        "time": "Tue Sep 15 14:33:08 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 23 09:35:02 2009 +0200"
      },
      "message": "perf events: Fix swevent hrtimer sampling by keeping track of remaining time when enabling/disabling swevent hrtimers\n\nMake the hrtimer based events work for sysprof.\n\nWhenever a swevent is scheduled out, the hrtimer is canceled.\nWhen it is scheduled back in, the timer is restarted. This\nhappens every scheduler tick, which means the timer never\nexpired because it was getting repeatedly restarted over and\nover with the same period.\n\nTo fix that, save the remaining time when disabling; when\nreenabling, use that saved time as the period instead of the\nuser-specified sampling period.\n\nAlso, move the starting and stopping of the hrtimers to helper\nfunctions instead of duplicating the code.\n\nSigned-off-by: Søren Sandmann Pedersen \u003csandmann@redhat.com\u003e\nLKML-Reference: \u003cye8vdi7mluz.fsf@camel16.daimi.au.dk\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c258449bc9d286e2ee6546c9cdf911e96cbc126a",
      "tree": "51d389391bf6bef4be756652e401823f8171656e",
      "parents": [
        "79b9ad361be8c6f3eeea97dd3883e8bcfa989333",
        "2e600d01c131ee189f55ca1879cd364b9e056df8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 20 07:51:41 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 20 07:51:44 2009 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: Queue up dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6fb2915df7f0747d9044da9dbff5b46dc2e20830",
      "tree": "b4c5d7d913362ae6161c2859a7a385263330e965",
      "parents": [
        "b0f1a59a98d7ac2102e7e4f22904c26d564a5628"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Oct 15 11:21:42 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 15 11:35:23 2009 +0200"
      },
      "message": "tracing/profile: Add filter support\n\n- Add an ioctl to allocate a filter for a perf event.\n\n- Free the filter when the associated perf event is to be freed.\n\n- Do the filtering in perf_swevent_match().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nLKML-Reference: \u003c4AD69546.8050401@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "03541f8b69c058162e4cf9675ec9181e6a204d55",
      "tree": "67cd314f717b1b455861d1cfb9761162a44096b3",
      "parents": [
        "a003236c32706f3c1f74d4e3b98c58cf0d9a9d8f"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Oct 14 16:58:03 2009 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 14 08:39:32 2009 +0200"
      },
      "message": "perf_event: Adjust frequency and unthrottle for non-group-leader events\n\nThe loop in perf_ctx_adjust_freq checks the frequency of sampling\nevent counters, and adjusts the event interval and unthrottles the\nevent if required, and resets the interrupt count for the event.\nHowever, at present it only looks at group leaders.\n\nThis means that a sampling event that is not a group leader will\neventually get throttled, once its interrupt count reaches\nsysctl_perf_event_sample_rate/HZ --- and that is guaranteed to\nhappen, if the event is active for long enough, since the interrupt\ncount never gets reset.  Once it is throttled it never gets\nunthrottled, so it basically just stops working at that point.\n\nThis fixes it by making perf_ctx_adjust_freq use ctx-\u003eevent_list\nrather than ctx-\u003egroup_list.  The existing spin_lock/spin_unlock\naround the loop makes it unnecessary to put rcu_read_lock/\nrcu_read_unlock around the list_for_each_entry_rcu().\n\nReported-by: Mark W. Krentel \u003ckrentel@cs.rice.edu\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c19157.26731.855609.165622@cargo.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "906010b2134e14a2e377decbadd357b3d0ab9c6a",
      "tree": "598b30d08f5ca8df1e00abc295b120fa1bd2c2e2",
      "parents": [
        "e13dbd7d75d1ecc315c6e3071b3c4e8fba4f6bec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 21 16:08:49 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 06 14:21:50 2009 +0200"
      },
      "message": "perf_event: Provide vmalloc() based mmap() backing\n\nSome architectures such as Sparc, ARM and MIPS (basically\neverything with flush_dcache_page()) need to deal with dcache\naliases by carefully placing pages in both kernel and user maps.\n\nThese architectures typically have to use vmalloc_user() for this.\n\nHowever, on other architectures, vmalloc() is not needed and has\nthe downsides of being more restricted and slower than regular\nallocations.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1254830228.21044.272.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "27f9994c50e95f3a5a81fe4c7491a9f9cffe6ec0",
      "tree": "0bab616325b5ebd3529842e1082f7a32fd87c149",
      "parents": [
        "8c9ed8e14c342ec5e7f27e7e498f62409a10eb29"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Sep 25 13:54:01 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 01 09:30:44 2009 +0200"
      },
      "message": "perf_event: Clean up perf_event_init_task()\n\nWhile at it: we can traverse ctx-\u003egroup_list to get all\ngroup leader, it should be safe since we hold ctx-\u003emutex.\n\nChanglog v1-\u003ev2:\n\n  - remove WARN_ON_ONCE() according to Peter Zijlstra\u0027s suggestion\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4ABC5AF9.6060808@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8c9ed8e14c342ec5e7f27e7e498f62409a10eb29",
      "tree": "9f4765f480a567a3a6139083bf334ae2f83f9055",
      "parents": [
        "39a90a8ef17fe6fbf4b45e46e3c10d3b8b4a3dea"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Fri Sep 25 13:51:17 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 01 09:30:44 2009 +0200"
      },
      "message": "perf_event: Fix event group handling in __perf_event_sched_*()\n\nPaul Mackerras says:\n\n \"Actually, looking at this more closely, it has to be a group\n leader anyway since it\u0027s at the top level of ctx-\u003egroup_list.  In\n fact I see four places where we do:\n\n  list_for_each_entry(event, \u0026ctx-\u003egroup_list, group_entry) {\n\tif (event \u003d\u003d event-\u003egroup_leader)\n\t\t...\n\n or the equivalent, three of which appear to have been introduced\n by afedadf2 (\"perf_counter: Optimize sched in/out of counters\")\n back in May by Peter Z.\n\n As far as I can see the if () is superfluous in each case (a\n singleton event will be a group of 1 and will have its\n group_leader pointing to itself).\"\n\n [ See: http://marc.info/?l\u003dlinux-kernel\u0026m\u003d125361238901442\u0026w\u003d2 ]\n\nAnd Peter Zijlstra points out this is a bugfix:\n\n \"The intent was to call event_sched_{in,out}() for single event\n  groups because that\u0027s cheaper than group_sched_{in,out}(),\n  however..\n\n  - as you noticed, I got the condition wrong, it should have read:\n\n      list_empty(\u0026event-\u003esibling_list)\n\n  - it failed to call group_can_go_on() which deals with -\u003eexclusive.\n\n  - it also doesn\u0027t call hw_perf_group_sched_in() which might break\n    power.\"\n\n [ See: http://marc.info/?l\u003dlinux-kernel\u0026m\u003d125369523318583\u0026w\u003d2 ]\n\nChangelog v1-\u003ev2:\n\n - Fix the title name according to Peter Zijlstra\u0027s suggestion\n\n - Remove the comments and WARN_ON_ONCE() as Peter Zijlstra\u0027s\n   suggestion\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4ABC5A55.7000208@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f0f37e2f77731b3473fa6bd5ee53255d9a9cdb40",
      "tree": "3c26d3ed1a453156e9c208ccb5567a8954dba064",
      "parents": [
        "6f5071020d5ec89b5d095aa488db604adb921aec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 27 22:29:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 27 11:39:25 2009 -0700"
      },
      "message": "const: mark struct vm_struct_operations\n\n* mark struct vm_area_struct::vm_ops as const\n* mark vm_ops in AGP code\n\nBut leave TTM code alone, something is fishy there with global vm_ops\nbeing used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57c0c15b5244320065374ad2c54f4fbec77a6428",
      "tree": "35369d817f5925aca09b083bba47c437b91386d9",
      "parents": [
        "cdd6c482c9ff9c55475ee7392ec8f672eddb7be6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 12:20:38 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 14:34:11 2009 +0200"
      },
      "message": "perf: Tidy up after the big rename\n\n - provide compatibility Kconfig entry for existing PERF_COUNTERS .config\u0027s\n\n - provide courtesy copy of old perf_counter.h, for user-space projects\n\n - small indentation fixups\n\n - fix up MAINTAINERS\n\n - fix small x86 printout fallout\n\n - fix up small PowerPC comment fallout (use \u0027counter\u0027 as in register)\n\nReviewed-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cdd6c482c9ff9c55475ee7392ec8f672eddb7be6",
      "tree": "81f98a3ab46c589792057fe2392c1e10f8ad7893",
      "parents": [
        "dfc65094d0313cc48969fa60bcf33d693aeb05a7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 12:02:48 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 21 14:28:04 2009 +0200"
      },
      "message": "perf: Do the big rename: Performance Counters -\u003e Performance Events\n\nBye-bye Performance Counters, welcome Performance Events!\n\nIn the past few months the perfcounters subsystem has grown out its\ninitial role of counting hardware events, and has become (and is\nbecoming) a much broader generic event enumeration, reporting, logging,\nmonitoring, analysis facility.\n\nNaming its core object \u0027perf_counter\u0027 and naming the subsystem\n\u0027perfcounters\u0027 has become more and more of a misnomer. With pending\ncode like hw-breakpoints support the \u0027counter\u0027 name is less and\nless appropriate.\n\nAll in one, we\u0027ve decided to rename the subsystem to \u0027performance\nevents\u0027 and to propagate this rename through all fields, variables\nand API names. (in an ABI compatible fashion)\n\nThe word \u0027event\u0027 is also a bit shorter than \u0027counter\u0027 - which makes\nit slightly more convenient to write/handle as well.\n\nThanks goes to Stephane Eranian who first observed this misnomer and\nsuggested a rename.\n\nUser-space tooling and ABI compatibility is not affected - this patch\nshould be function-invariant. (Also, defconfigs were not touched to\nkeep the size down.)\n\nThis patch has been generated via the following script:\n\n  FILES\u003d$(find * -type f | grep -vE \u0027oprofile|[^K]config\u0027)\n\n  sed -i \\\n    -e \u0027s/PERF_EVENT_/PERF_RECORD_/g\u0027 \\\n    -e \u0027s/PERF_COUNTER/PERF_EVENT/g\u0027 \\\n    -e \u0027s/perf_counter/perf_event/g\u0027 \\\n    -e \u0027s/nb_counters/nb_events/g\u0027 \\\n    -e \u0027s/swcounter/swevent/g\u0027 \\\n    -e \u0027s/tpcounter_event/tp_event/g\u0027 \\\n    $FILES\n\n  for N in $(find . -name perf_counter.[ch]); do\n    M\u003d$(echo $N | sed \u0027s/perf_counter/perf_event/g\u0027)\n    mv $N $M\n  done\n\n  FILES\u003d$(find . -name perf_event.*)\n\n  sed -i \\\n    -e \u0027s/COUNTER_MASK/REG_MASK/g\u0027 \\\n    -e \u0027s/COUNTER/EVENT/g\u0027 \\\n    -e \u0027s/\\\u003cevent\\\u003e/event_id/g\u0027 \\\n    -e \u0027s/counter/event/g\u0027 \\\n    -e \u0027s/Counter/Event/g\u0027 \\\n    $FILES\n\n... to keep it as correct as possible. This script can also be\nused by anyone who has pending perfcounters patches - it converts\na Linux kernel tree over to the new naming. We tried to time this\nchange to the point in time where the amount of pending patches\nis the smallest: the end of the merge window.\n\nNamespace clashes were fixed up in a preparatory patch - and some\nstylistic fallout will be fixed up in a subsequent patch.\n\n( NOTE: \u0027counters\u0027 are still the proper terminology when we deal\n  with hardware registers - and these sed scripts are a bit\n  over-eager in renaming them. I\u0027ve undone some of that, but\n  in case there\u0027s something left where \u0027counter\u0027 would be\n  better than \u0027event\u0027 we can undo that on an individual basis\n  instead of touching an otherwise nicely automated patch. )\n\nSuggested-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nReviewed-by: Arjan van de Ven \u003carjan@linux.intel.com\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: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ]
}
