)]}'
{
  "log": [
    {
      "commit": "654443e20dfc0617231f28a07c96a979ee1a0239",
      "tree": "a0dc3f093eb13892539082e663607c34b4fc2d07",
      "parents": [
        "2c01e7bc46f10e9190818437e564f7e0db875ae9",
        "9cba26e66d09bf394ae5a739627a1dc8b7cae6f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:39:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:39:34 2012 -0700"
      },
      "message": "Merge branch \u0027perf-uprobes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull user-space probe instrumentation from Ingo Molnar:\n \"The uprobes code originates from SystemTap and has been used for years\n  in Fedora and RHEL kernels.  This version is much rewritten, reviews\n  from PeterZ, Oleg and myself shaped the end result.\n\n  This tree includes uprobes support in \u0027perf probe\u0027 - but SystemTap\n  (and other tools) can take advantage of user probe points as well.\n\n  Sample usage of uprobes via perf, for example to profile malloc()\n  calls without modifying user-space binaries.\n\n  First boot a new kernel with CONFIG_UPROBE_EVENT\u003dy enabled.\n\n  If you don\u0027t know which function you want to probe you can pick one\n  from \u0027perf top\u0027 or can get a list all functions that can be probed\n  within libc (binaries can be specified as well):\n\n\t$ perf probe -F -x /lib/libc.so.6\n\n  To probe libc\u0027s malloc():\n\n\t$ perf probe -x /lib64/libc.so.6 malloc\n\tAdded new event:\n\tprobe_libc:malloc    (on 0x7eac0)\n\n  You can now use it in all perf tools, such as:\n\n\tperf record -e probe_libc:malloc -aR sleep 1\n\n  Make use of it to create a call graph (as the flat profile is going to\n  look very boring):\n\n\t$ perf record -e probe_libc:malloc -gR make\n\t[ perf record: Woken up 173 times to write data ]\n\t[ perf record: Captured and wrote 44.190 MB perf.data (~1930712\n\n\t$ perf report | less\n\n\t  32.03%            git  libc-2.15.so   [.] malloc\n\t                    |\n\t                    --- malloc\n\n\t  29.49%            cc1  libc-2.15.so   [.] malloc\n\t                    |\n\t                    --- malloc\n\t                       |\n\t                       |--0.95%-- 0x208eb1000000000\n\t                       |\n\t                       |--0.63%-- htab_traverse_noresize\n\n\t  11.04%             as  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\n\t   7.15%             ld  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\n\t   5.07%             sh  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\t   4.99%  python-config  libc-2.15.so   [.] malloc\n\t          |\n\t          --- malloc\n\t             |\n\t   4.54%           make  libc-2.15.so   [.] malloc\n\t                   |\n\t                   --- malloc\n\t                      |\n\t                      |--7.34%-- glob\n\t                      |          |\n\t                      |          |--93.18%-- 0x41588f\n\t                      |          |\n\t                      |           --6.82%-- glob\n\t                      |                     0x41588f\n\n\t   ...\n\n  Or:\n\n\t$ perf report -g flat | less\n\n\t# Overhead        Command  Shared Object      Symbol\n\t# ........  .............  .............  ..........\n\t#\n\t  32.03%            git  libc-2.15.so   [.] malloc\n\t          27.19%\n\t              malloc\n\n\t  29.49%            cc1  libc-2.15.so   [.] malloc\n\t          24.77%\n\t              malloc\n\n\t  11.04%             as  libc-2.15.so   [.] malloc\n\t          11.02%\n\t              malloc\n\n\t   7.15%             ld  libc-2.15.so   [.] malloc\n\t           6.57%\n\t              malloc\n\n\t ...\n\n  The core uprobes design is fairly straightforward: uprobes probe\n  points register themselves at (inode:offset) addresses of\n  libraries/binaries, after which all existing (or new) vmas that map\n  that address will have a software breakpoint injected at that address.\n  vmas are COW-ed to preserve original content.  The probe points are\n  kept in an rbtree.\n\n  If user-space executes the probed inode:offset instruction address\n  then an event is generated which can be recovered from the regular\n  perf event channels and mmap-ed ring-buffer.\n\n  Multiple probes at the same address are supported, they create a\n  dynamic callback list of event consumers.\n\n  The basic model is further complicated by the XOL speedup: the\n  original instruction that is probed is copied (in an architecture\n  specific fashion) and executed out of line when the probe triggers.\n  The XOL area is a single vma per process, with a fixed number of\n  entries (which limits probe execution parallelism).\n\n  The API: uprobes are installed/removed via\n  /sys/kernel/debug/tracing/uprobe_events, the API is integrated to\n  align with the kprobes interface as much as possible, but is separate\n  to it.\n\n  Injecting a probe point is privileged operation, which can be relaxed\n  by setting perf_paranoid to -1.\n\n  You can use multiple probes as well and mix them with kprobes and\n  regular PMU events or tracepoints, when instrumenting a task.\"\n\nFix up trivial conflicts in mm/memory.c due to previous cleanup of\nunmap_single_vma().\n\n* \u0027perf-uprobes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)\n  perf probe: Detect probe target when m/x options are absent\n  perf probe: Provide perf interface for uprobes\n  tracing: Fix kconfig warning due to a typo\n  tracing: Provide trace events interface for uprobes\n  tracing: Extract out common code for kprobes/uprobes trace events\n  tracing: Modify is_delete, is_return from int to bool\n  uprobes/core: Decrement uprobe count before the pages are unmapped\n  uprobes/core: Make background page replacement logic account for rss_stat counters\n  uprobes/core: Optimize probe hits with the help of a counter\n  uprobes/core: Allocate XOL slots for uprobes use\n  uprobes/core: Handle breakpoint and singlestep exceptions\n  uprobes/core: Rename bkpt to swbp\n  uprobes/core: Make order of function parameters consistent across functions\n  uprobes/core: Make macro names consistent\n  uprobes: Update copyright notices\n  uprobes/core: Move insn to arch specific structure\n  uprobes/core: Remove uprobe_opcode_sz\n  uprobes/core: Make instruction tables volatile\n  uprobes: Move to kernel/events/\n  uprobes/core: Clean up, refactor and improve the code\n  ...\n"
    },
    {
      "commit": "ab0cce560ef177bdc7a8f73e9962be9d829a7b2c",
      "tree": "d9875b21c42862201624eb7d9ea2c36f4ea4035d",
      "parents": [
        "26252ea675663d1bc6747125fcaa2b7cc4ed8a03"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed May 23 13:13:02 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 23 17:40:51 2012 +0200"
      },
      "message": "Revert \"sched, perf: Use a single callback into the scheduler\"\n\nThis reverts commit cb04ff9ac424 (\"sched, perf: Use a single\ncallback into the scheduler\").\n\nBefore this change was introduced, the process switch worked\nlike this (wrt. to perf event schedule):\n\n     schedule (prev, next)\n       - schedule out all perf events for prev\n       - switch to next\n       - schedule in all perf events for current (next)\n\nAfter the commit, the process switch looks like:\n\n     schedule (prev, next)\n       - schedule out all perf events for prev\n       - schedule in all perf events for (next)\n       - switch to next\n\nThe problem is, that after we schedule perf events in, the pmu\nis enabled and we can receive events even before we make the\nswitch to next - so \"current\" still being prev process (event\nSAMPLE data are filled based on the value of the \"current\"\nprocess).\n\nThats exactly what we see for test__PERF_RECORD test. We receive\nSAMPLES with PID of the process that our tracee is scheduled\nfrom.\n\nDiscussed with Peter Zijlstra:\n\n \u003e Bah!, yeah I guess reverting is the right thing for now. Sad\n \u003e though.\n \u003e\n \u003e So by having the two hooks we have a black-spot between them\n \u003e where we receive no events at all, this black-spot covers the\n \u003e hand-over of current and we thus don\u0027t receive the \u0027wrong\u0027\n \u003e events.\n \u003e\n \u003e I rather liked we could do away with both that black-spot and\n \u003e clean up the code a little, but apparently people rely on it.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: acme@redhat.com\nCc: paulus@samba.org\nCc: cjashfor@linux.vnet.ibm.com\nCc: fweisbec@gmail.com\nCc: eranian@google.com\nLink: http://lkml.kernel.org/r/20120523111302.GC1638@m.brq.redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "16ee6576e25b83806d26eb771138249fcfb5eddc",
      "tree": "7c717b80f28b5c59ba673dc00f2ca9bd0fc068d4",
      "parents": [
        "16fa7e8200fb9066b77a3f27cbed8e4a9fc71998",
        "9b63776fa3ca96c4ecda76f6fa947b7b0add66ac"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 18 13:13:33 2012 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 18 13:13:33 2012 -0300"
      },
      "message": "Merge remote-tracking branch \u0027tip/perf/urgent\u0027 into perf/core\n\nMerge reason: We are going to queue up a dependent patch:\n\n\"perf tools: Move parse event automated tests to separated object\"\n\nThat depends on:\n\ncommit e7c72d8\nperf tools: Add \u0027G\u0027 and \u0027H\u0027 modifiers to event parsing\n\nConflicts:\n\ttools/perf/builtin-stat.c\n\nConflicted with the recent \u0027perf_target\u0027 patches when checking the\nresult of perf_evsel open routines to see if a retry is needed to cope\nwith older kernels where the exclude guest/host perf_event_attr bits\nwere not used.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "9cba26e66d09bf394ae5a739627a1dc8b7cae6f4",
      "tree": "f03743d576a0c7826b9921ad47e70370ebe80a22",
      "parents": [
        "ec83db0f78cd44c3b586ec1c3a348d1a8a389797",
        "73eff9f56e15598c8399c0b86899fd889b97f085"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 14 14:43:40 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 14 14:43:40 2012 +0200"
      },
      "message": "Merge branch \u0027perf/uprobes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/uprobes\n"
    },
    {
      "commit": "cb04ff9ac424d0e689d9b612e9f73cb443ab4b7e",
      "tree": "7335f4ca82dc0366ffbf9dc8de5396259213435a",
      "parents": [
        "8b1e13638d465863572c8207a5cfceeef0cf0441"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 08 18:56:04 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 09 15:23:17 2012 +0200"
      },
      "message": "sched, perf: Use a single callback into the scheduler\n\nWe can easily use a single callback for both sched-in and sched-out. This\nreduces the code footprint in the scheduler path as well as removes\nthe PMU black spot otherwise present between the out and in callback.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-o56ajxp1edwqg6x9d31wb805@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "fd0d000b2c34aa43d4e92dcf0dfaeda7e123008a",
      "tree": "8b81831cf37f1be6dd3cc9be772952d5c835a550",
      "parents": [
        "c75841a398d667d9968245b9519d93cedbfb4780"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Apr 02 20:19:08 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 09 15:23:12 2012 +0200"
      },
      "message": "perf: Pass last sampling period to perf_sample_data_init()\n\nWe always need to pass the last sample period to\nperf_sample_data_init(), otherwise the event distribution will be\nwrong. Thus, modifiyng the function interface with the required period\nas argument. So basically a pattern like this:\n\n        perf_sample_data_init(\u0026data, ~0ULL);\n        data.period \u003d event-\u003ehw.last_period;\n\nwill now be like that:\n\n        perf_sample_data_init(\u0026data, ~0ULL, event-\u003ehw.last_period);\n\nAvoids unininitialized data.period and simplifies code.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1333390758-10893-3-git-send-email-robert.richter@amd.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "33b07b8be7f0e1e8e4184e3473d71f174e4b0641",
      "tree": "9c43218dbff37411b9a4b3a61ef7334279470092",
      "parents": [
        "5f09fc688936705b2020ca247df39ee27283668a"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Apr 05 18:24:43 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Apr 26 13:52:52 2012 +0200"
      },
      "message": "perf: Use static variant of perf_event_overflow in core.c\n\nNo need to have an additional function layer.\n\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1333643084-26776-4-git-send-email-robert.richter@amd.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "724b6daa13e100067c30cfc4d1ad06629609dc4e",
      "tree": "290b86e3c259922c350ea6469f43ddb953a83aa3",
      "parents": [
        "c716ef56f1319e8a515cb1947a3ec59b06e94a5e"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Wed Apr 11 11:54:13 2012 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Apr 26 13:51:31 2012 +0200"
      },
      "message": "perf: Fix perf_event_for_each() to use sibling\n\nIn perf_event_for_each() we call a function on an event, and then\niterate over the siblings of the event.\n\nHowever we don\u0027t call the function on the siblings, we call it\nrepeatedly on the original event - it seems \"obvious\" that we should\nbe calling it with sibling as the argument.\n\nIt looks like this broke in commit 75f937f24bd9 (\"Fix ctx-\u003emutex\nvs counter-\u003emutex inversion\").\n\nThe only effect of the bug is that the PERF_IOC_FLAG_GROUP parameter\nto the ioctls doesn\u0027t work.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1334109253-31329-1-git-send-email-michael@ellerman.id.au\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "cbc91f71b51b8335f1fc7ccfca8011f31a717367",
      "tree": "31bc32a4ee512c9056c93e8c46d58bc217d31bc2",
      "parents": [
        "7396fa818d6278694a44840f389ddc40a3269a9a"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Wed Apr 11 16:05:27 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Apr 14 13:25:48 2012 +0200"
      },
      "message": "uprobes/core: Decrement uprobe count before the pages are unmapped\n\nUprobes has a callback (uprobe_munmap()) in the unmap path to\nmaintain the uprobes count.\n\nIn the exit path this callback gets called in unlink_file_vma().\nHowever by the time unlink_file_vma() is called, the pages would\nhave been unmapped (in unmap_vmas()) and the task-\u003erss_stat counts\naccounted (in zap_pte_range()).\n\nIf the exiting process has probepoints, uprobe_munmap() checks if\nthe breakpoint instruction was around before decrementing the probe\ncount.\n\nThis results in a file backed page being reread by uprobe_munmap()\nand hence it does not find the breakpoint.\n\nThis patch fixes this problem by moving the callback to\nunmap_single_vma(). Since unmap_single_vma() may not unmap the\ncomplete vma, add start and end parameters to uprobe_munmap().\n\nThis bug became apparent courtesy of commit c3f0327f8e9d\n(\"mm: add rss counters consistency check\").\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120411103527.23245.9835.sendpatchset@srdronam.in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7396fa818d6278694a44840f389ddc40a3269a9a",
      "tree": "9d6cc56c1dc8475ab9096b23914982d373aa126d",
      "parents": [
        "6ac1ef482d7ae0c690f1640bf6eb818ff9a2d91e"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Wed Apr 11 16:05:16 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Apr 14 13:25:47 2012 +0200"
      },
      "message": "uprobes/core: Make background page replacement logic account for rss_stat counters\n\nBackground page replacement logic adds a new anonymous page\ninstead of a file backed (while inserting a breakpoint) /\nanonymous page (while removing a breakpoint).\n\nHence the uprobes logic should take care to update the\ntask-\u003ess_stat counters accordingly.\n\nThis bug became apparent courtesy of commit c3f0327f8e9d\n(\"mm: add rss counters consistency check\").\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120411103516.23245.2700.sendpatchset@srdronam.in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "6ac1ef482d7ae0c690f1640bf6eb818ff9a2d91e",
      "tree": "021cc9f6b477146fcebe6f3be4752abfa2ba18a9",
      "parents": [
        "682968e0c425c60f0dde37977e5beb2b12ddc4cc",
        "a385ec4f11bdcf81af094c03e2444ee9b7fad2e5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Apr 14 13:18:27 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Apr 14 13:19:04 2012 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 into perf/uprobes\n\nMerge in latest upstream (and the latest perf development tree),\nto prepare for tooling changes, and also to pick up v3.4 MM\nchanges that the uprobes code needs to take care of.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "682968e0c425c60f0dde37977e5beb2b12ddc4cc",
      "tree": "875eb289aa0e08189b2cf7dc99ee522f91e647e7",
      "parents": [
        "d4b3b6384f98f8692ad0209891ccdbc7e78bbefe"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Fri Mar 30 23:56:46 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 31 11:50:02 2012 +0200"
      },
      "message": "uprobes/core: Optimize probe hits with the help of a counter\n\nMaintain a per-mm counter: number of uprobes that are inserted\non this process address space.\n\nThis counter can be used at probe hit time to determine if we\nneed a lookup in the uprobes rbtree. Everytime a probe gets\ninserted successfully, the probe count is incremented and\neverytime a probe gets removed, the probe count is decremented.\n\nThe new uprobe_munmap hook ensures the count is correct on a\nunmap or remap of a region. We expect that once a\nuprobe_munmap() is called, the vma goes away.  So\nuprobe_unregister() finding a probe to unregister would either\nmean unmap event hasnt occurred yet or a mmap event on the same\nexecutable file occured after a unmap event.\n\nAdditionally, uprobe_mmap hook now also gets called:\n\n a. on every executable vma that is COWed at fork.\n b. a vma of interest is newly mapped; breakpoint insertion also\n    happens at the required address.\n\nOn process creation, make sure the probes count in the child is\nset correctly.\n\nSpecial cases that are taken care include:\n\n a. mremap\n b. VM_DONTCOPY vmas on fork()\n c. insertion/removal races in the parent during fork().\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120330182646.10018.85805.sendpatchset@srdronam.in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "d4b3b6384f98f8692ad0209891ccdbc7e78bbefe",
      "tree": "29c703af306a3b0e42d7ee3bdfce58db78d702b7",
      "parents": [
        "0326f5a94ddea33fa331b2519f4172f4fb387baa"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Fri Mar 30 23:56:31 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 31 11:50:01 2012 +0200"
      },
      "message": "uprobes/core: Allocate XOL slots for uprobes use\n\nUprobes executes the original instruction at a probed location\nout of line. For this, we allocate a page (per mm) upon the\nfirst uprobe hit, in the process user address space, divide it\ninto slots that are used to store the actual instructions to be\nsinglestepped. These slots are known as xol (execution out of\nline) slots.\n\nCare is taken to ensure that the allocation is in an unmapped\narea as close to the top of the user address space as possible,\nwith appropriate permission settings to keep selinux like\nframeworks happy.\n\nUpon a uprobe hit, a free slot is acquired, and is released\nafter the singlestep completes.\n\nLots of improvements courtesy suggestions/inputs from Peter and\nOleg.\n\n[ Folded a fix for build issue on powerpc fixed and reported by\n  Stephen Rothwell. ]\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120330182631.10018.48175.sendpatchset@srdronam.in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "7fd52392c56361a40f0c630a82b36b95ca31eac6",
      "tree": "14091de24c6b28ea4cae9826f98aeedb7be091f5",
      "parents": [
        "b01c3a0010aabadf745f3e7fdb9cab682e0a28a2",
        "e22057c8599373e5caef0bc42bdb95d2a361ab0d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:18:44 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:19:03 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/urgent\n\nMerge reason: we need to fix a non-trivial merge conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b01c3a0010aabadf745f3e7fdb9cab682e0a28a2",
      "tree": "de5fab4234ea646edbbac28f3d7dfb28f28bb601",
      "parents": [
        "04a54d27ce9698d108d29c8a6a50c28f7446336b"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Fri Mar 23 15:41:20 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:46:59 2012 +0100"
      },
      "message": "perf: Move mmap page data_head offset assertion out of header\n\nHaving the build time assertion in header is making the perf\nbuild fail on x86 with:\n\n  ../../include/linux/perf_event.h:411:32: error: variably modified \\\n\t\t‘__assert_mmap_data_head_offset’ at file scope [-Werror]\n\nI\u0027m moving the build time validation out of the header, because\nI think it\u0027s better than to lessen the perf build warn/error\ncheck.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: acme@redhat.com\nCc: a.p.zijlstra@chello.nl\nCc: paulus@samba.org\nCc: cjashfor@linux.vnet.ibm.com\nCc: fweisbec@gmail.com\nLink: http://lkml.kernel.org/r/1332513680-7870-1-git-send-email-jolsa@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "c7206205d00ab375839bd6c7ddb247d600693c09",
      "tree": "24b9d66a5eaef77c1fc40bc8f6f28acfd167bf5b",
      "parents": [
        "c5bc437702b24817cabd65a6a57971ff91a7712c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Mar 22 17:26:36 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri Mar 23 09:52:16 2012 +0100"
      },
      "message": "perf: Fix mmap_page capabilities and docs\n\nComplete the syscall-less self-profiling feature and address\nall complaints, namely:\n\n - capabilities, so we can detect what is actually available at runtime\n\n     Add a capabilities field to perf_event_mmap_page to indicate\n     what is actually available for use.\n\n - on x86: RDPMC weirdness due to being 40/48 bits and not sign-extending\n   properly.\n\n - ABI documentation as to how all this stuff works.\n\nAlso improve the documentation for the new features.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Vince Weaver \u003cvweaver1@eecs.utk.edu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nLink: http://lkml.kernel.org/r/1332433596.2487.33.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "0d9cabdccedb79ee5f27b77ff51f29a9e7d23275",
      "tree": "8bfb64c3672d058eb90aec3c3a9c4f61cef9097c",
      "parents": [
        "701085b219016d38f105b031381b9cee6200253a",
        "3ce3230a0cff484e5130153f244d4fb8a56b3a8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"Out of the 8 commits, one fixes a long-standing locking issue around\n  tasklist walking and others are cleanups.\"\n\n* \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: Walk task list under tasklist_lock in cgroup_enable_task_cg_list\n  cgroup: Remove wrong comment on cgroup_enable_task_cg_list()\n  cgroup: remove cgroup_subsys argument from callbacks\n  cgroup: remove extra calls to find_existing_css_set\n  cgroup: replace tasklist_lock with rcu_read_lock\n  cgroup: simplify double-check locking in cgroup_attach_proc\n  cgroup: move struct cgroup_pidlist out from the header file\n  cgroup: remove cgroup_attach_task_current_cg()\n"
    },
    {
      "commit": "0326f5a94ddea33fa331b2519f4172f4fb387baa",
      "tree": "5485c637754a126c90852e5285842e8462d2826a",
      "parents": [
        "ef15eda98217f5183f457e7a2de8b79555ef908b"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Tue Mar 13 23:30:11 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 14 07:41:36 2012 +0100"
      },
      "message": "uprobes/core: Handle breakpoint and singlestep exceptions\n\nUprobes uses exception notifiers to get to know if a thread hit\na breakpoint or a singlestep exception.\n\nWhen a thread hits a uprobe or is singlestepping post a uprobe\nhit, the uprobe exception notifier sets its TIF_UPROBE bit,\nwhich will then be checked on its return to userspace path\n(do_notify_resume() -\u003euprobe_notify_resume()), where the\nconsumers handlers are run (in task context) based on the\ndefined filters.\n\nUprobe hits are thread specific and hence we need to maintain\ninformation about if a task hit a uprobe, what uprobe was hit,\nthe slot where the original instruction was copied for xol so\nthat it can be singlestepped with appropriate fixups.\n\nIn some cases, special care is needed for instructions that are\nexecuted out of line (xol). These are architecture specific\nartefacts, such as handling RIP relative instructions on x86_64.\n\nSince the instruction at which the uprobe was inserted is\nexecuted out of line, architecture specific fixups are added so\nthat the thread continues normal execution in the presence of a\nuprobe.\n\nPostpone the signals until we execute the probed insn.\npost_xol() path does a recalc_sigpending() before return to\nuser-mode, this ensures the signal can\u0027t be lost.\n\nUprobes relies on DIE_DEBUG notification to notify if a\nsinglestep is complete.\n\nAdds x86 specific uprobe exception notifiers and appropriate\nhooks needed to determine a uprobe hit and subsequent post\nprocessing.\n\nAdd requisite x86 fixups for xol for uprobes. Specific cases\nneeding fixups include relative jumps (x86_64), calls, etc.\n\nWhere possible, we check and skip singlestepping the\nbreakpointed instructions. For now we skip single byte as well\nas few multibyte nop instructions. However this can be extended\nto other instructions too.\n\nCredits to Oleg Nesterov for suggestions/patches related to\nsignal, breakpoint, singlestep handling code.\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120313180011.29771.89027.sendpatchset@srdronam.in.ibm.com\n[ Performed various cleanliness edits ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef15eda98217f5183f457e7a2de8b79555ef908b",
      "tree": "f8f22b48f7bb237c9aa6646175f3e17eeac4af0e",
      "parents": [
        "5cb4ac3a583d4ee18c8682ab857e093c4a0d0895",
        "ef334a20d84f52407a8a2afd02ddeaecbef0ad3d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 13 16:32:54 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 13 16:33:03 2012 +0100"
      },
      "message": "Merge branch \u0027x86/cleanups\u0027 into perf/uprobes\n\nMerge reason: We want to merge a dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5cb4ac3a583d4ee18c8682ab857e093c4a0d0895",
      "tree": "f11a73e9fe8d2666008f799433fde243cddd1757",
      "parents": [
        "e3343e6a2819ff5d0dfc4bb5c9fb7f9a4d04da73"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Mon Mar 12 14:55:45 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 13 06:22:21 2012 +0100"
      },
      "message": "uprobes/core: Rename bkpt to swbp\n\nbkpt doesnt seem to be a correct abbrevation for breakpoint.\nChoice was between bp and breakpoint. Since bp can refer to\nthings other than breakpoint, use swbp to refer to breakpoints.\n\nThis is pure cleanup, no functional change intended.\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120312092545.5379.91251.sendpatchset@srdronam.in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e3343e6a2819ff5d0dfc4bb5c9fb7f9a4d04da73",
      "tree": "4c391fa0cb4408e9fb2e8448c410fc54b9a8abe1",
      "parents": [
        "900771a483ef28915a48066d7895d8252315607a"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Mon Mar 12 14:55:30 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 13 06:22:20 2012 +0100"
      },
      "message": "uprobes/core: Make order of function parameters consistent across functions\n\nIf a function takes struct uprobe or struct arch_uprobe, then it\nis passed as the first parameter.\n\nThis is pure cleanup, no functional change intended.\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120312092530.5379.18394.sendpatchset@srdronam.in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "900771a483ef28915a48066d7895d8252315607a",
      "tree": "08941df642cc6bb61ef764b3344c87790c831145",
      "parents": [
        "35aa621b5ab9d08767f7bc8d209b696df281d715"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Mon Mar 12 14:55:14 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 13 06:22:20 2012 +0100"
      },
      "message": "uprobes/core: Make macro names consistent\n\nRename macros that refer to individual uprobe to start with\nUPROBE_ instead of UPROBES_.\n\nThis is pure cleanup, no functional change intended.\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Linux-mm \u003clinux-mm@kvack.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLink: http://lkml.kernel.org/r/20120312092514.5379.36595.sendpatchset@srdronam.in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d010b3326cf06b3406cdd88af16dcf4e4b6fec2e",
      "tree": "d0468d78582aeff6a603cb5d29b1a14310106896",
      "parents": [
        "2481c5fa6db0237e4f0168f88913178b2b495b7c"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Feb 09 23:21:00 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 14:55:42 2012 +0100"
      },
      "message": "perf: Add callback to flush branch_stack on context switch\n\nWith branch stack sampling, it is possible to filter by priv levels.\n\nIn system-wide mode, that means it is possible to capture only user\nlevel branches. The builtin SW LBR filter needs to disassemble code\nbased on LBR captured addresses. For that, it needs to know the task\nthe addresses are associated with. Because of context switches, the\ncontent of the branch stack buffer may contain addresses from\ndifferent tasks.\n\nWe need a callback on context switch to either flush the branch stack\nor save it. This patch adds a new callback in struct pmu which is called\nduring context switches. The callback is called only when necessary.\nThat is when a system-wide context has, at least, one event which\nuses PERF_SAMPLE_BRANCH_STACK. The callback is never called for\nper-thread context.\n\nIn this version, the Intel x86 code simply flushes (resets) the LBR\non context switches (fills it with zeroes). Those zeroed branches are\nthen filtered out by the SW filter.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1328826068-11713-11-git-send-email-eranian@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2481c5fa6db0237e4f0168f88913178b2b495b7c",
      "tree": "4d0e8e9616c8e83ca2a72abbc3ac94621adc49be",
      "parents": [
        "3e702ff6d1ea12dcf1c798ecb61e7f3a1579df42"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Feb 09 23:20:59 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 14:55:42 2012 +0100"
      },
      "message": "perf: Disable PERF_SAMPLE_BRANCH_* when not supported\n\nPERF_SAMPLE_BRANCH_* is disabled for:\n\n - SW events (sw counters, tracepoints)\n - HW breakpoints\n - ALL but Intel x86 architecture\n - AMD64 processors\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1328826068-11713-10-git-send-email-eranian@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bce38cd53e5ddba9cb6d708c4ef3d04a4016ec7e",
      "tree": "8b42880d3ff9f250e246eb31bd80e6c36c99d8e1",
      "parents": [
        "737f24bda723fdf89ecaacb99fa2bf5683c32799"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Feb 09 23:20:51 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 14:55:39 2012 +0100"
      },
      "message": "perf: Add generic taken branch sampling support\n\nThis patch adds the ability to sample taken branches to the\nperf_event interface.\n\nThe ability to capture taken branches is very useful for all\nsorts of analysis. For instance, basic block profiling, call\ncounts, statistical call graph.\n\nThis new capability requires hardware assist and as such may\nnot be available on all HW platforms. On Intel x86 it is\nimplemented on top of the Last Branch Record (LBR) facility.\n\nTo enable taken branches sampling, the PERF_SAMPLE_BRANCH_STACK\nbit must be set in attr-\u003esample_type.\n\nSampled taken branches may be filtered by type and/or priv\nlevels.\n\nThe patch adds a new field, called branch_sample_type, to the\nperf_event_attr structure. It contains a bitmask of filters\nto apply to the sampled taken branches.\n\nFilters may be implemented in HW. If the HW filter does not exist\nor is not good enough, some arch may also implement a SW filter.\n\nThe following generic filters are currently defined:\n- PERF_SAMPLE_USER\n  only branches whose targets are at the user level\n\n- PERF_SAMPLE_KERNEL\n  only branches whose targets are at the kernel level\n\n- PERF_SAMPLE_HV\n  only branches whose targets are at the hypervisor level\n\n- PERF_SAMPLE_ANY\n  any type of branches (subject to priv levels filters)\n\n- PERF_SAMPLE_ANY_CALL\n  any call branches (may incl. syscall on some arch)\n\n- PERF_SAMPLE_ANY_RET\n  any return branches (may incl. syscall returns on some arch)\n\n- PERF_SAMPLE_IND_CALL\n  indirect call branches\n\nObviously filter may be combined. The priv level bits are optional.\nIf not provided, the priv level of the associated event are used. It\nis possible to collect branches at a priv level different from the\nassociated event. Use of kernel, hv priv levels is subject to permissions\nand availability (hv).\n\nThe number of taken branch records present in each sample may vary based\non HW, the type of sampled branches, the executed code. Therefore\neach sample contains the number of taken branches it contains.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1328826068-11713-2-git-send-email-eranian@google.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "737f24bda723fdf89ecaacb99fa2bf5683c32799",
      "tree": "35495fff3e9956679cb5468e74e6814c8e44ee66",
      "parents": [
        "8eedce996556d7d06522cd3a0e6069141c8dffe0",
        "b7c924274c456499264d1cfa3d44063bb11eb5db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\ttools/perf/builtin-record.c\n\ttools/perf/builtin-top.c\n\ttools/perf/perf.h\n\ttools/perf/util/top.h\n\nMerge reason: resolve these cherry-picking conflicts.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "30ce2f7eef095d1b8d070740f1948629814fe3c7",
      "tree": "8fc423281dc55f09463e20c279f5b4200ad9e383",
      "parents": [
        "5ffca28a4ac7abb8a254fafe6bd03b2f83667df7"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Tue Feb 28 10:19:38 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 28 09:52:54 2012 +0100"
      },
      "message": "perf/hwbp: Fix a possible memory leak\n\nIf kzalloc() for TYPE_DATA failed on a given cpu, previous chunk\nof TYPE_INST will be leaked. Fix it.\n\nThanks to Peter Zijlstra for suggesting this better solution. It\nshould work as long as the initial value of the region is all\n0\u0027s and that\u0027s the case of static (per-cpu) memory allocation.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/1330391978-28070-1-git-send-email-namhyung.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5905afb0ee6550b42c49213da1c22d67316c194",
      "tree": "253fdb322e6e5b257ffda3b9b66bce90a473a6f7",
      "parents": [
        "1cfa60dc7d7c7cc774a44eee47ff135a644a1f31"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 24 08:31:31 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 24 10:05:59 2012 +0100"
      },
      "message": "static keys: Introduce \u0027struct static_key\u0027, static_key_true()/false() and static_key_slow_[inc|dec]()\n\nSo here\u0027s a boot tested patch on top of Jason\u0027s series that does\nall the cleanups I talked about and turns jump labels into a\nmore intuitive to use facility. It should also address the\nvarious misconceptions and confusions that surround jump labels.\n\nTypical usage scenarios:\n\n        #include \u003clinux/static_key.h\u003e\n\n        struct static_key key \u003d STATIC_KEY_INIT_TRUE;\n\n        if (static_key_false(\u0026key))\n                do unlikely code\n        else\n                do likely code\n\nOr:\n\n        if (static_key_true(\u0026key))\n                do likely code\n        else\n                do unlikely code\n\nThe static key is modified via:\n\n        static_key_slow_inc(\u0026key);\n        ...\n        static_key_slow_dec(\u0026key);\n\nThe \u0027slow\u0027 prefix makes it abundantly clear that this is an\nexpensive operation.\n\nI\u0027ve updated all in-kernel code to use this everywhere. Note\nthat I (intentionally) have not pushed through the rename\nblindly through to the lowest levels: the actual jump-label\npatching arch facility should be named like that, so we want to\ndecouple jump labels from the static-key facility a bit.\n\nOn non-jump-label enabled architectures static keys default to\nlikely()/unlikely() branches.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: a.p.zijlstra@chello.nl\nCc: mathieu.desnoyers@efficios.com\nCc: davem@davemloft.net\nCc: ddaney.cavm@gmail.com\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/20120222085809.GA26397@elte.hu\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "35aa621b5ab9d08767f7bc8d209b696df281d715",
      "tree": "9de0a99dba4721351817b5224e54fdb8b6c5e491",
      "parents": [
        "3ff54efdfaace9e9b2b7c1959a865be6b91de96c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 22 11:37:29 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 22 11:37:29 2012 +0100"
      },
      "message": "uprobes: Update copyright notices\n\nAdd Peter Zijlstra\u0027s copyright to the uprobes code, whose\ncontributions to the uprobes code are not visible in the Git\nhistory, because they were backmerged.\n\nAlso update existing copyright notices to the year 2012.\n\nAcked-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nLink: http://lkml.kernel.org/n/tip-vjqxst502pc1efz7ah8cyht4@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ff54efdfaace9e9b2b7c1959a865be6b91de96c",
      "tree": "6218c7b40bd80704d059d5f3fa434974e675b070",
      "parents": [
        "96379f60075c75b261328aa7830ef8aa158247ac"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Wed Feb 22 14:46:02 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 22 11:26:09 2012 +0100"
      },
      "message": "uprobes/core: Move insn to arch specific structure\n\nFew cleanups suggested by Ingo Molnar.\n\n- Rename struct uprobe_arch_info to struct arch_uprobe.\n- Move insn from struct uprobe to struct arch_uprobe.\n- Make arch specific uprobe functions to accept struct arch_uprobe\n  instead of  struct uprobe.\n- Move struct uprobe to kernel/uprobes.c from include/linux/uprobes.h\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Josh Stone \u003cjistone@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120222091602.15880.40249.sendpatchset@srdronam.in.ibm.com\n[ Made various small improvements ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96379f60075c75b261328aa7830ef8aa158247ac",
      "tree": "c9aa431293c4a61ae30a4b34f0025ab30afed08b",
      "parents": [
        "04a3d984d32e47983770d314cdb4e4d8f38fccb7"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Wed Feb 22 14:45:49 2012 +0530"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 22 11:26:08 2012 +0100"
      },
      "message": "uprobes/core: Remove uprobe_opcode_sz\n\nuprobe_opcode_sz refers to the smallest instruction size for\nthat architecture. UPROBES_BKPT_INSN_SIZE refers to the size of\nthe breakpoint instruction for that architecture.\n\nFor now we are assuming that both uprobe_opcode_sz and\nUPROBES_BKPT_INSN_SIZE are the same for all archs and hence\nremoving uprobe_opcode_sz in favour of UPROBES_BKPT_INSN_SIZE.\n\nHowever if we have to support architectures where the smallest\ninstruction size is different from the size of breakpoint\ninstruction, we may have to re-introduce uprobe_opcode_sz.\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@linux.vnet.ibm.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Josh Stone \u003cjistone@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120222091549.15880.67020.sendpatchset@srdronam.in.ibm.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a5f4374a9610fd7286c2164d4e680436727eff71",
      "tree": "8ccabfd8afe9f58a847ab80b8a6a10eee08009a8",
      "parents": [
        "7b2d81d48a2d8e37efb6ce7b4d5ef58822b30d89"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 22 11:01:49 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 22 11:08:00 2012 +0100"
      },
      "message": "uprobes: Move to kernel/events/\n\nConsolidate the uprobes code under kernel/events/, where the various\ncore kernel event handling routines live.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Anton Arapov \u003canton@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nLink: http://lkml.kernel.org/n/tip-biuyhhwohxgbp2vzbap5yr8o@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f39d47ff819ed52a2afbdbecbe35f23f7755f58d",
      "tree": "6fcd6c2b9f6e7416da43065d866bd40d68bb9bc4",
      "parents": [
        "136e0b8eabb2913b589fc7fbd418f4d6805dbb56"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue Feb 07 14:39:57 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 07 16:58:56 2012 +0100"
      },
      "message": "perf: Fix double start/stop in x86_pmu_start()\n\nThe following patch fixes a bug introduced by the following\ncommit:\n\n        e050e3f0a71b (\"perf: Fix broken interrupt rate throttling\")\n\nThe patch caused the following warning to pop up depending on\nthe sampling frequency adjustments:\n\n  ------------[ cut here ]------------\n  WARNING: at arch/x86/kernel/cpu/perf_event.c:995 x86_pmu_start+0x79/0xd4()\n\nIt was caused by the following call sequence:\n\nperf_adjust_freq_unthr_context.part() {\n     stop()\n     if (delta \u003e 0) {\n          perf_adjust_period() {\n              if (period \u003e 8*...) {\n                  stop()\n                  ...\n                  start()\n              }\n          }\n      }\n      start()\n}\n\nWhich caused a double start and a double stop, thus triggering\nthe assert in x86_pmu_start().\n\nThe patch fixes the problem by avoiding the double calls. We\npass a new argument to perf_adjust_period() to indicate whether\nor not the event is already stopped. We can\u0027t just remove the\nstart/stop from that function because it\u0027s called from\n__perf_event_overflow where the event needs to be reloaded via a\nstop/start back-toback call.\n\nThe patch reintroduces the assertion in x86_pmu_start() which\nwas removed by commit:\n\n\t84f2b9b (\"perf: Remove deprecated WARN_ON_ONCE()\")\n\nIn this second version, we\u0027ve added calls to disable/enable PMU\nduring unthrottling or frequency adjustment based on bug report\nof spurious NMI interrupts from Eric Dumazet.\n\nReported-and-tested-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: markus@trippelsdorf.de\nCc: paulus@samba.org\nLink: http://lkml.kernel.org/r/20120207133956.GA4932@quad\n[ Minor edits to the changelog and to the code ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "761b3ef50e1c2649cffbfa67a4dcb2dcdb7982ed",
      "tree": "67ab6a9a2520811c9c0b4d70d1c19b4bfca16237",
      "parents": [
        "61d1d219c4c0761059236a46867bc49943c4d29d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Jan 31 13:47:36 2012 +0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Feb 02 09:20:22 2012 -0800"
      },
      "message": "cgroup: remove cgroup_subsys argument from callbacks\n\nThe argument is not used at all, and it\u0027s not necessary, because\na specific callback handler of course knows which subsys it\nbelongs to.\n\nNow only -\u003epupulate() takes this argument, because the handlers of\nthis callback always call cgroup_add_file()/cgroup_add_files().\n\nSo we reduce a few lines of code, though the shrinking of object size\nis minimal.\n\n 16 files changed, 113 insertions(+), 162 deletions(-)\n\n   text    data     bss     dec     hex filename\n5486240  656987 7039960 13183187         c928d3 vmlinux.o.orig\n5486170  656987 7039960 13183117         c9288d vmlinux.o\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "bb1693f89ae7f0b30c90d9b26a4f827faed1144a",
      "tree": "e02fc59d76d79493bffa190e492775baa134bff6",
      "parents": [
        "efb3040d481a1594592b1defb4526c406c7a4751",
        "45179fec946dd554f74e950d2278dabd5ad23fd3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 31 13:02:35 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 31 13:02:37 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nWe cherry-picked 3 commits into perf/urgent, merge them back to allow\nconflict-free work on those files.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44a683971119bafb5bc30778f92ee773680ebb6f",
      "tree": "58648459f29d45c447bd2352e81844d4d9aa3a15",
      "parents": [
        "801493c2e249a7314e9e8e54ad60d613d0a86f14",
        "08aa0d1f376e9b966568316bd2019b3c1274d885"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 27 12:07:57 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 27 12:08:09 2012 +0100"
      },
      "message": "Merge branch \u0027perf/fast\u0027 into perf/core\n\nMerge reason: Lets ready it for v3.4\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e050e3f0a71bf7dc2c148b35caff0234decc8198",
      "tree": "df3069475c20d0ab238735a7a1837db9ae080610",
      "parents": [
        "74ea15d909b31158f9b63190a95b52bc05586d4b"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Jan 26 17:03:19 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 27 12:06:39 2012 +0100"
      },
      "message": "perf: Fix broken interrupt rate throttling\n\nThis patch fixes the sampling interrupt throttling mechanism.\n\nIt was broken in v3.2. Events were not being unthrottled. The\nunthrottling mechanism required that events be checked at each\ntimer tick.\n\nThis patch solves this problem and also separates:\n\n  - unthrottling\n  - multiplexing\n  - frequency-mode period adjustments\n\nNot all of them need to be executed at each timer tick.\n\nThis third version of the patch is based on my original patch +\nPeterZ proposal (https://lkml.org/lkml/2012/1/7/87).\n\nAt each timer tick, for each context:\n\n  - if the current CPU has throttled events, we unthrottle events\n\n  - if context has frequency-based events, we adjust sampling periods\n\n  - if we have reached the jiffies interval, we multiplex (rotate)\n\nWe decoupled rotation (multiplexing) from frequency-mode sampling\nperiod adjustments.  They should not necessarily happen at the same\nrate. Multiplexing is subject to jiffies_interval (currently at 1\nbut could be higher once the tunable is exposed via sysfs).\n\nWe have grouped frequency-mode adjustment and unthrottling into the\nsame routine to minimize code duplication. When throttled while in\nfrequency mode, we scan the events only once.\n\nWe have fixed the threshold enforcement code in __perf_event_overflow().\nThere was a bug whereby it would allow more than the authorized rate\nbecause an increment of hwc-\u003einterrupts was not executed at the right\nplace.\n\nThe patch was tested with low sampling limit (2000) and fixed periods,\nfrequency mode, overcommitted PMU.\n\nOn a 2.1GHz AMD CPU:\n\n $ cat /proc/sys/kernel/perf_event_max_sample_rate\n 2000\n\nWe set a rate of 3000 samples/sec (2.1GHz/3000 \u003d 700000):\n\n $ perf record -e cycles,cycles -c 700000  noploop 10\n $ perf report -D | tail -21\n\n Aggregated stats:\n           TOTAL events:      80086\n            MMAP events:         88\n            COMM events:          2\n            EXIT events:          4\n        THROTTLE events:      19996\n      UNTHROTTLE events:      19996\n          SAMPLE events:      40000\n\n cycles stats:\n           TOTAL events:      40006\n            MMAP events:          5\n            COMM events:          1\n            EXIT events:          4\n        THROTTLE events:       9998\n      UNTHROTTLE events:       9998\n          SAMPLE events:      20000\n\n cycles stats:\n           TOTAL events:      39996\n        THROTTLE events:       9998\n      UNTHROTTLE events:       9998\n          SAMPLE events:      20000\n\nFor 10s, the cap is 2x2000x10 \u003d 40000 samples.\nWe get exactly that: 20000 samples/event.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nCc: \u003cstable@kernel.org\u003e # v3.2+\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120126160319.GA5655@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "46cd6a7f680d14f6f80ede9f04aeb70fa83bd266",
      "tree": "57d32e7f7399af2c3c869ec685e2050f6cf08d70",
      "parents": [
        "fd45c15f13e754f3c106427e857310f3e0813951"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Fri Jan 20 10:12:46 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 21 09:33:42 2012 +0100"
      },
      "message": "perf: Call perf_cgroup_event_time() directly\n\nThe perf_event_time() will call perf_cgroup_event_time()\nif @event is a cgroup event. Just do it directly and avoid\nthe extra check..\n\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/1327021966-27688-2-git-send-email-namhyung.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fd45c15f13e754f3c106427e857310f3e0813951",
      "tree": "18c02a2b1037b773813b2f20fc4d826d7645ad96",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Fri Jan 20 10:12:45 2012 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 21 09:33:41 2012 +0100"
      },
      "message": "perf: Don\u0027t call release_callchain_buffers() if allocation fails\n\nWhen alloc_callchain_buffers() fails, it frees all of\nentries before return. In addition, calling the\nrelease_callchain_buffers() will cause a NULL pointer\ndereference since callchain_cpu_entries is not set.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLink: http://lkml.kernel.org/r/1327021966-27688-1-git-send-email-namhyung.kim@lge.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db0c2bf69aa095d4a6de7b1145f29fe9a7c0f6a3",
      "tree": "8f38957c01b18edddd44d49ecc3beeac08a20b4e",
      "parents": [
        "ac69e0928054ff29a5049902fb477f9c7605c773",
        "0d19ea866562e46989412a0676412fa0983c9ce7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:59:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:59:24 2012 -0800"
      },
      "message": "Merge branch \u0027for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\n* \u0027for-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (21 commits)\n  cgroup: fix to allow mounting a hierarchy by name\n  cgroup: move assignement out of condition in cgroup_attach_proc()\n  cgroup: Remove task_lock() from cgroup_post_fork()\n  cgroup: add sparse annotation to cgroup_iter_start() and cgroup_iter_end()\n  cgroup: mark cgroup_rmdir_waitq and cgroup_attach_proc() as static\n  cgroup: only need to check oldcgrp\u003d\u003dnewgrp once\n  cgroup: remove redundant get/put of task struct\n  cgroup: remove redundant get/put of old css_set from migrate\n  cgroup: Remove unnecessary task_lock before fetching css_set on migration\n  cgroup: Drop task_lock(parent) on cgroup_fork()\n  cgroups: remove redundant get/put of css_set from css_set_check_fetched()\n  resource cgroups: remove bogus cast\n  cgroup: kill subsys-\u003ecan_attach_task(), pre_attach() and attach_task()\n  cgroup, cpuset: don\u0027t use ss-\u003epre_attach()\n  cgroup: don\u0027t use subsys-\u003ecan_attach_task() or -\u003eattach_task()\n  cgroup: introduce cgroup_taskset and use it in subsys-\u003ecan_attach(), cancel_attach() and attach()\n  cgroup: improve old cgroup handling in cgroup_attach_proc()\n  cgroup: always lock threadgroup during migration\n  threadgroup: extend threadgroup_lock() to cover exit and exec\n  threadgroup: rename signal-\u003ethreadgroup_fork_lock to -\u003egroup_rwsem\n  ...\n\nFix up conflict in kernel/cgroup.c due to commit e0197aae59e5: \"cgroups:\nfix a css_set not found bug in cgroup_attach_proc\" that already\nmentioned that the bug is fixed (differently) in Tejun\u0027s cgroup\npatchset. This one, in other words.\n"
    },
    {
      "commit": "98793265b429a3f0b3f1750e74d67cd4d740d162",
      "tree": "b0bd717673f0c21845cf053f3fb6b75d42530af5",
      "parents": [
        "b4a133da2eaccb844a7beaef16ffd9c76a0d21d3",
        "bd1b2a555952d959f47169056fca05acf7eff81f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)\n  Kconfig: acpi: Fix typo in comment.\n  misc latin1 to utf8 conversions\n  devres: Fix a typo in devm_kfree comment\n  btrfs: free-space-cache.c: remove extra semicolon.\n  fat: Spelling s/obsolate/obsolete/g\n  SCSI, pmcraid: Fix spelling error in a pmcraid_err() call\n  tools/power turbostat: update fields in manpage\n  mac80211: drop spelling fix\n  types.h: fix comment spelling for \u0027architectures\u0027\n  typo fixes: aera -\u003e area, exntension -\u003e extension\n  devices.txt: Fix typo of \u0027VMware\u0027.\n  sis900: Fix enum typo \u0027sis900_rx_bufer_status\u0027\n  decompress_bunzip2: remove invalid vi modeline\n  treewide: Fix comment and string typo \u0027bufer\u0027\n  hyper-v: Update MAINTAINERS\n  treewide: Fix typos in various parts of the kernel, and fix some comments.\n  clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR\n  gpio: Kconfig: drop unknown symbol \u0027CS5535_GPIO\u0027\n  leds: Kconfig: Fix typo \u0027D2NET_V2\u0027\n  sound: Kconfig: drop unknown symbol ARCH_CLPS7500\n  ...\n\nFix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new\nkconfig additions, close to removed commented-out old ones)\n"
    },
    {
      "commit": "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
      "tree": "502a8f9499bc1b4cb3300d666dab2d01a1921224",
      "parents": [
        "423d091dfe58d3109d84c408810a7cfa82f6f184",
        "9e183426bfb52bb44bf3c443d6587e4d02478603"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (106 commits)\n  perf kvm: Fix copy \u0026 paste error in description\n  perf script: Kill script_spec__delete\n  perf top: Fix a memory leak\n  perf stat: Introduce get_ratio_color() helper\n  perf session: Remove impossible condition check\n  perf tools: Fix feature-bits rework fallout, remove unused variable\n  perf script: Add generic perl handler to process events\n  perf tools: Use for_each_set_bit() to iterate over feature flags\n  perf tools: Unify handling of features when writing feature section\n  perf report: Accept fifos as input file\n  perf tools: Moving code in some files\n  perf tools: Fix out-of-bound access to struct perf_session\n  perf tools: Continue processing header on unknown features\n  perf tools: Improve macros for struct feature_ops\n  perf: builtin-record: Document and check that mmap_pages must be a power of two.\n  perf: builtin-record: Provide advice if mmap\u0027ing fails with EPERM.\n  perf tools: Fix truncated annotation\n  perf script: look up thread using tid instead of pid\n  perf tools: Look up thread names for system wide profiling\n  perf tools: Fix comm for processes with named threads\n  ...\n"
    },
    {
      "commit": "423d091dfe58d3109d84c408810a7cfa82f6f184",
      "tree": "43c4385d1dc7219582f924d42db1f3e203a577bd",
      "parents": [
        "1483b3823542c9721eddf09a077af1e02ac96b50",
        "919b83452b2e7c1dbced0456015508b4b9585db3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:40 2012 -0800"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)\n  cpu: Export cpu_up()\n  rcu: Apply ACCESS_ONCE() to rcu_boost() return value\n  Revert \"rcu: Permit rt_mutex_unlock() with irqs disabled\"\n  docs: Additional LWN links to RCU API\n  rcu: Augment rcu_batch_end tracing for idle and callback state\n  rcu: Add rcutorture tests for srcu_read_lock_raw()\n  rcu: Make rcutorture test for hotpluggability before offlining CPUs\n  driver-core/cpu: Expose hotpluggability to the rest of the kernel\n  rcu: Remove redundant rcu_cpu_stall_suppress declaration\n  rcu: Adaptive dyntick-idle preparation\n  rcu: Keep invoking callbacks if CPU otherwise idle\n  rcu: Irq nesting is always 0 on rcu_enter_idle_common\n  rcu: Don\u0027t check irq nesting from rcu idle entry/exit\n  rcu: Permit dyntick-idle with callbacks pending\n  rcu: Document same-context read-side constraints\n  rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass\n  rcu: Remove dynticks false positives and RCU failures\n  rcu: Reduce latency of rcu_prepare_for_idle()\n  rcu: Eliminate RCU_FAST_NO_HZ grace-period hang\n  rcu: Avoid needlessly IPIing CPUs at GP end\n  ...\n"
    },
    {
      "commit": "d36b691077dc59c74efec0d54ed21b86f7a2a21a",
      "tree": "4f4a82eab16f403f531a860a428ebbec4c0d0db3",
      "parents": [
        "92f1b8518708c085ed7d07d8e7ed36411c92fa4f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 29 17:09:01 2011 -0500"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Jan 02 13:04:55 2012 +0100"
      },
      "message": "misc latin1 to utf8 conversions\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "e3f3541c19c89a4daae39300defba68943301949",
      "tree": "f3d6fe5c39dfee8045e7955e5637ae9ff9c0d4d5",
      "parents": [
        "0c9d42ed4cee2aa1dfc3a260b741baae8615744f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 21 11:43:53 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 11:01:13 2011 +0100"
      },
      "message": "perf: Extend the mmap control page with time (TSC) fields\n\nExtend the mmap control page with fields so that userspace can compute\ntime deltas relative to the provided time fields.\n\nCurrently only implemented for x86 with constant and nonstop TSC.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Arun Sharma \u003casharma@fb.com\u003e\nLink: http://lkml.kernel.org/n/tip-3u1jucza77j3wuvs0x2bic0f@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0c9d42ed4cee2aa1dfc3a260b741baae8615744f",
      "tree": "393a3a3d0be5cbd57e1d03490b3f6a5a15d5367d",
      "parents": [
        "fe4a330885aee20f233de36085fb15c38094e635"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Nov 20 23:30:47 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 11:01:11 2011 +0100"
      },
      "message": "perf, x86: Provide means for disabling userspace RDPMC\n\nAllow the disabling of RDPMC via a pmu specific attribute:\n\n  echo 0 \u003e /sys/bus/event_source/devices/cpu/rdpmc\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Arun Sharma \u003casharma@fb.com\u003e\nLink: http://lkml.kernel.org/n/tip-pqeog465zo5hsimtkfz73f27@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "365a4038486b57bb2bd516706a80f82f250f5306",
      "tree": "e1c435230121dd794e706509e3140584ecfb0ac8",
      "parents": [
        "35edc2a5095efb189e60dc32bbb9d2663aec6d24"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 21 20:58:59 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 11:01:09 2011 +0100"
      },
      "message": "perf: Fix mmap_page::offset computation\n\nThere\u0027s multiple reason the counter might be unavailable, change the\ncondition to !-\u003eindex since perf_event_index() should return 0 for all\nthose cases.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-1ixr3olci40w8rgv2evv2ldh@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "35edc2a5095efb189e60dc32bbb9d2663aec6d24",
      "tree": "3296a0dc54c4eb9d9ae5e0715d7521ecbb6d6f7e",
      "parents": [
        "9a0f05cb36888550d1509d60aa55788615abea44"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Nov 20 20:36:02 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 11:01:07 2011 +0100"
      },
      "message": "perf, arch: Rework perf_event_index()\n\nPut the logic to compute the event index into a per pmu method. This\nis required because the x86 rules are weird and wonderful and don\u0027t\nmatch the capabilities of the current scheme.\n\nAFAIK only powerpc actually has a usable userspace read of the PMCs\nbut I\u0027m not at all sure anybody actually used that.\n\nARM is restored to the default since it currently does not support\nuserspace access at all. And all software events are provided with a\nmethod that reports their index as 0 (disabled).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Richard Kuo \u003crkuo@codeaurora.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Arun Sharma \u003casharma@fb.com\u003e\nLink: http://lkml.kernel.org/n/tip-dfydxodki16lylkt3gl2j7cw@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a0f05cb36888550d1509d60aa55788615abea44",
      "tree": "db001d4345d12cad98b7df4f29ca98e572087a7a",
      "parents": [
        "f1ac18af219835fd5b8e19c14d2dd75c55f78737"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 21 15:13:29 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 21 11:01:05 2011 +0100"
      },
      "message": "perf: Update the mmap control page on mmap()\n\nApparently we didn\u0027t update the mmap control page right after mmap(),\nwhich leads to surprises when userspace wants to use it.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Arun Sharma \u003casharma@fb.com\u003e\nLink: http://lkml.kernel.org/n/tip-dcpi7164djsexmx6ya7lilrc@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d87f69a16eb2cb96459117b06949a560679002e4",
      "tree": "bbb55b2bd2b6c9e8bd4067aa3279783cb6bd9028",
      "parents": [
        "124ba9403318d834ef21bcd899c22c870708d2c4",
        "384703b8e6cd4c8ef08512e596024e028c91c339"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 20 20:32:03 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 20 20:32:11 2011 +0100"
      },
      "message": "Merge commit \u0027v3.2-rc6\u0027 into perf/core\n\nMerge reason: Update with the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44b7f4b98d8877e2a4427f2a2f2e42ae8227a58f",
      "tree": "929c7c5c177fa072216445de276592843ebae4d8",
      "parents": [
        "373da0a2a33018d560afcb2c77f8842985d79594"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Tue Dec 13 20:40:45 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 14 08:44:53 2011 +0100"
      },
      "message": "perf events: Fix ring_buffer_wakeup() brown paperbag bug\n\nCommit 10c6db11 (\"perf: Fix loss of notification with multi-event\")\nseems to unconditionally dereference event-\u003erb in the wakeup handler,\nthis is wrong, there might not be a buffer attached.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111213152651.GP20297@mudshark.cambridge.arm.com\n[ minor edits ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bb9d97b6dffa10cec5e1ce9adbce60f3c2b5eabc",
      "tree": "fb8351518fcfb91927e9e138f48284c44553f011",
      "parents": [
        "2f7ee5691eecb67c8108b92001a85563ea336ac5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Dec 12 18:12:21 2011 -0800"
      },
      "message": "cgroup: don\u0027t use subsys-\u003ecan_attach_task() or -\u003eattach_task()\n\nNow that subsys-\u003ecan_attach() and attach() take @tset instead of\n@task, they can handle per-task operations.  Convert\n-\u003ecan_attach_task() and -\u003eattach_task() users to use -\u003ecan_attach()\nand attach() instead.  Most converions are straight-forward.\nNoteworthy changes are,\n\n* In cgroup_freezer, remove unnecessary NULL assignments to unused\n  methods.  It\u0027s useless and very prone to get out of sync, which\n  already happened.\n\n* In cpuset, PF_THREAD_BOUND test is checked for each task.  This\n  doesn\u0027t make any practical difference but is conceptually cleaner.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cpaul@paulmenage.org\u003e\nCc: Balbir Singh \u003cbsingharora@gmail.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\n"
    },
    {
      "commit": "77aeeebd7b5483582d0eb6e3fd2894771d1fd8e5",
      "tree": "fc46b87358f3d68c6d2c82813e2667fd1afd996e",
      "parents": [
        "7fc20c5cbdd184f32cb0f886f1a069f123f5787a"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Nov 10 16:02:52 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:54 2011 -0800"
      },
      "message": "events: Make events use the new is_idle_task() API\n\nChange from direct comparison of -\u003epid with zero to is_idle_task().\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "86b47c25494b824da655b95f6fdb4fdb3f17aa77",
      "tree": "45ed2f1c82a258bcbbe0550aa728b11187512322",
      "parents": [
        "a33caeb118198286309859f014c0662f3ed54ed4"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Tue Nov 22 16:08:21 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 07 16:31:22 2011 +0100"
      },
      "message": "perf: Do no try to schedule task events if there are none\n\nperf_event_sched_in() shouldn\u0027t try to schedule task events if there\nare none otherwise task\u0027s ctx-\u003eis_active will be set and will not be\ncleared during sched_out. This will prevent newly added events from\nbeing scheduled into the task context.\n\nFixes a boo-boo in commit 1d5f003f5a9 (\"perf: Do not set task_ctx\npointer in cpuctx if there are no events in the context\").\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111122140821.GF2557@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b202952075f62603bea9bfb6ebc6b0420db11949",
      "tree": "9c8e0538b455e68b5c371caba5b1585ed0ef9d8a",
      "parents": [
        "b79387ef185af2323594920923cecba5753c3817"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Nov 27 17:59:09 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 08:34:02 2011 +0100"
      },
      "message": "perf, core: Rate limit perf_sched_events jump_label patching\n\njump_lable patching is very expensive operation that involves pausing all\ncpus. The patching of perf_sched_events jump_label is easily controllable\nfrom userspace by unprivileged user.\n\nWhen te user runs a loop like this:\n\n  \"while true; do perf stat -e cycles true; done\"\n\n... the performance of my test application that just increments a counter\nfor one second drops by 4%.\n\nThis is on a 16 cpu box with my test application using only one of\nthem. An impact on a real server doing real work will be worse.\n\nPerformance of KVM PMU drops nearly 50% due to jump_lable for \"perf\nrecord\" since KVM PMU implementation creates and destroys perf event\nfrequently.\n\nThis patch introduces a way to rate limit jump_label patching and uses\nit to fix the above problem.\n\nI believe that as jump_label use will spread the problem will become more\ncommon and thus solving it in a generic code is appropriate. Also fixing\nit in the perf code would result in moving jump_label accounting logic to\nperf code with all the ifdefs in case of JUMP_LABEL\u003dn kernel. With this\npatch all details are nicely hidden inside jump_label code.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111127155909.GO2557@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b79387ef185af2323594920923cecba5753c3817",
      "tree": "2c6d685794c30859cf3dde7316d02475cf9ad7cb",
      "parents": [
        "1d9b482e78d3b16f97f85a82849f82db7eed3102"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 22 11:25:43 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 08:34:01 2011 +0100"
      },
      "message": "perf: Fix enable_on_exec for sibling events\n\nDeng-Cheng Zhu reported that sibling events that were created disabled\nwith enable_on_exec would never get enabled. Iterate all events\ninstead of the group lists.\n\nReported-by: Deng-Cheng Zhu \u003cdczhu@mips.com\u003e\nTested-by: Deng-Cheng Zhu \u003cdczhu@mips.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1322048382.14799.41.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d9b482e78d3b16f97f85a82849f82db7eed3102",
      "tree": "5fea3e49ac9824e1811e66767273567296b5c336",
      "parents": [
        "4defea8559bc0f97a899d94c8d19d3b8bb802bc4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 23 12:34:20 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 08:33:59 2011 +0100"
      },
      "message": "perf: Remove superfluous arguments\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-yv4o74vh90suyghccgykbnry@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f5a2601284237e2ba089389fd75d67f77626cef",
      "tree": "37eedc660f09a36cfbd6b2a2c28e8cd0d1dbe167",
      "parents": [
        "d6c1c49de577fa292af2449817364b7d89b574d8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 16 14:38:16 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 08:33:52 2011 +0100"
      },
      "message": "perf: Avoid a useless pmu_disable() in the perf-tick\n\nGleb writes:\n\n \u003e Currently pmu is disabled and re-enabled on each timer interrupt even\n \u003e when no rotation or frequency adjustment is needed. On Intel CPU this\n \u003e results in two writes into PERF_GLOBAL_CTRL MSR per tick. On bare metal\n \u003e it does not cause significant slowdown, but when running perf in a virtual\n \u003e machine it leads to 20% slowdown on my machine.\n\nCure this by keeping a perf_event_context::nr_freq counter that counts the\nnumber of active events that require frequency adjustments and use this in a\nsimilar fashion to the already existing nr_events !\u003d nr_active test in\nperf_rotate_context().\n\nBy being able to exclude both rotation and frequency adjustments a-priory for\nthe common case we can avoid the otherwise superfluous PMU disable.\n\nSuggested-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-515yhoatehd3gza7we9fapaa@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6c1c49de577fa292af2449817364b7d89b574d8",
      "tree": "e97cf88a318f50eb23c18d790e8b0bcf7bb47169",
      "parents": [
        "9dde9dc0a81c7aeb863b35121d09011f09b4897c",
        "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 06:42:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 06:43:49 2011 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: Add these cherry-picked commits so that future changes\n              on perf/core don\u0027t conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "10c6db110d0eb4466b59812c49088ab56218fc2e",
      "tree": "d1d4e8debcf7415df49ce691b4c3da7443919f11",
      "parents": [
        "16e5294e5f8303756a179cf218e37dfb9ed34417"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Nov 26 02:47:31 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 05 09:33:03 2011 +0100"
      },
      "message": "perf: Fix loss of notification with multi-event\n\nWhen you do:\n        $ perf record -e cycles,cycles,cycles noploop 10\n\nYou expect about 10,000 samples for each event, i.e., 10s at\n1000samples/sec. However, this is not what\u0027s happening. You\nget much fewer samples, maybe 3700 samples/event:\n\n$ perf report -D | tail -15\nAggregated stats:\n           TOTAL events:      10998\n            MMAP events:         66\n            COMM events:          2\n          SAMPLE events:      10930\ncycles stats:\n           TOTAL events:       3644\n          SAMPLE events:       3644\ncycles stats:\n           TOTAL events:       3642\n          SAMPLE events:       3642\ncycles stats:\n           TOTAL events:       3644\n          SAMPLE events:       3644\n\nOn a Intel Nehalem or even AMD64, there are 4 counters capable\nof measuring cycles, so there is plenty of space to measure those\nevents without multiplexing (even with the NMI watchdog active).\nAnd even with multiplexing, we\u0027d expect roughly the same number\nof samples per event.\n\nThe root of the problem was that when the event that caused the buffer\nto become full was not the first event passed on the cmdline, the user\nnotification would get lost. The notification was sent to the file\ndescriptor of the overflowed event but the perf tool was not polling\non it.  The perf tool aggregates all samples into a single buffer,\ni.e., the buffer of the first event. Consequently, it assumes\nnotifications for any event will come via that descriptor.\n\nThe seemingly straight forward solution of moving the waitq into the\nringbuffer object doesn\u0027t work because of life-time issues. One could\nperf_event_set_output() on a fd that you\u0027re also blocking on and cause\nthe old rb object to be freed while its waitq would still be\nreferenced by the blocked thread -\u003e FAIL.\n\nTherefore link all events to the ringbuffer and broadcast the wakeup\nfrom the ringbuffer object to all possible events that could be waited\nupon. This is rather ugly, and we\u0027re open to better solutions but it\nworks for now.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nFinished-by: Stephane Eranian \u003ceranian@google.com\u003e\nReviewed-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111126014731.GA7030@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c23205c8488f11cb9ebe7a7b5851a1d8a0171011",
      "tree": "239dd82daddb1ce08b50ea9145d8f2a4685ebead",
      "parents": [
        "5d81e5cfb37a174e8ddc0413e2e70cdf05807ace",
        "de346b6949063aa040ef607943b072835294f4b3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 15 11:05:18 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 15 11:05:18 2011 +0100"
      },
      "message": "Merge branch \u0027core\u0027 of git://amd64.org/linux/rric into perf/core\n"
    },
    {
      "commit": "5d81e5cfb37a174e8ddc0413e2e70cdf05807ace",
      "tree": "3190ed611a1b88092d4a0aee584b505999a26f17",
      "parents": [
        "9251f904f95175b4a1d8cbc0449e748f9edd7629"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Mon Nov 07 15:54:12 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 13:31:28 2011 +0100"
      },
      "message": "events: Don\u0027t divide events if it has field period\n\nThis patch solves the following problem:\n\nNow some samples may be lost due to throttling. The number of samples is\nrestricted by sysctl_perf_event_sample_rate/HZ.  A trace event is\ndivided on some samples according to event\u0027s period.  I don\u0027t sure, that\nwe should generate more than one sample on each trace event. I think the\nbetter way to use SAMPLE_PERIOD.\n\nE.g.: I want to trace when a process sleeps. I created a process, which\nsleeps for 1ms and for 4ms.  perf got 100 events in both cases.\n\nswapper     0 [000]  1141.371830: sched_stat_sleep: comm\u003dfoo pid\u003d1801 delay\u003d1386750 [ns]\nswapper     0 [000]  1141.369444: sched_stat_sleep: comm\u003dfoo pid\u003d1801 delay\u003d4499585 [ns]\n\nIn the first case a kernel want to send 4499585 events and\nin the second case it wants to send 1386750 events.\nperf-reports shows that process sleeps in both places equal time. It\u0027s\nbug.\n\nWith this patch kernel generates one event on each \"sleep\" and the time\nslice is saved in the field \"period\". Perf knows how handle it.\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1320670457-2633428-3-git-send-email-avagin@openvz.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9251f904f95175b4a1d8cbc0449e748f9edd7629",
      "tree": "585b73028c0c6b955d1759faf8544870eae213f5",
      "parents": [
        "efc96737bd82b508794d2b28061a12af4a3f7766"
      ],
      "author": {
        "name": "Borislav Petkov",
        "email": "borislav.petkov@amd.com",
        "time": "Sun Oct 16 17:15:04 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 13:31:26 2011 +0100"
      },
      "message": "perf: Carve out callchain functionality\n\nSplit the callchain code from the perf events core into\na new kernel/events/callchain.c file.\n\nThis simplifies a bit the big core.c\n\nSigned-off-by: Borislav Petkov \u003cborislav.petkov@amd.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\n[keep ctx recursion handling inline and use internal headers]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1318778104-17152-1-git-send-email-fweisbec@gmail.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1d5f003f5a964711853514b04ddc872eec0fdc7b",
      "tree": "6f3e912a02b50dc698f601c3a08453a781e7f754",
      "parents": [
        "57d1c0c03c6b48b2b96870d831b9ce6b917f53ac"
      ],
      "author": {
        "name": "Gleb Natapov",
        "email": "gleb@redhat.com",
        "time": "Sun Oct 23 19:10:33 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 14 13:01:21 2011 +0100"
      },
      "message": "perf: Do not set task_ctx pointer in cpuctx if there are no events in the context\n\nDo not set task_ctx pointer during sched_in if there are no\nevents associated with the context.  Otherwise if during task\nexecution total number of events in the system will become zero\nperf_event_context_sched_out() will not be called and cpuctx-\u003etask_ctx\nwill be left with a stale value.\n\nSigned-off-by: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20111023171033.GI17571@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "dcfce4a095932e6e95d83ad982be3609947963bc",
      "tree": "2808b7cbdb57deab25cc1cd847fd0f9ffa058f92",
      "parents": [
        "75c43a20b220f885c39ffa7cdbbb1191e257a9a9"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Tue Oct 11 17:11:08 2011 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Nov 04 16:27:18 2011 +0100"
      },
      "message": "oprofile, x86: Reimplement nmi timer mode using perf event\n\nThe legacy x86 nmi watchdog code was removed with the implementation\nof the perf based nmi watchdog. This broke Oprofile\u0027s nmi timer\nmode. To run nmi timer mode we relied on a continuous ticking nmi\nsource which the nmi watchdog provided. The nmi tick was no longer\navailable and current watchdog can not be used anymore since it runs\nwith very long periods in the range of seconds. This patch\nreimplements the nmi timer mode using a perf counter nmi source.\n\nV2:\n* removing pr_info()\n* fix undefined reference to `__udivdi3\u0027 for 32 bit build\n* fix section mismatch of .cpuinit.data:nmi_timer_cpu_nb\n* removed nmi timer setup in arch/x86\n* implemented function stubs for op_nmi_init/exit()\n* made code more readable in oprofile_init()\n\nV3:\n* fix architectural initialization in oprofile_init()\n* fix CONFIG_OPROFILE_NMI_TIMER dependencies\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "4536e4d1d21c8172402a2217b0fa1880665ace36",
      "tree": "0bcf19fda146cb4afbdd6487218fb6ac16b80fcd",
      "parents": [
        "43672a0784707d795556b1f93925da8b8e797d03"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 03 07:44:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 03 07:44:04 2011 -0700"
      },
      "message": "Revert \"perf: Add PM notifiers to fix CPU hotplug races\"\n\nThis reverts commit 144060fee07e9c22e179d00819c83c86fbcbf82c.\n\nIt causes a resume regression for Andi on his Acer Aspire 1830T post\n3.1.  The screen just stays black after wakeup.\n\nAlso, it really looks like the wrong way to suspend and resume perf\nevents: I think they should be done as part of the CPU suspend and\nresume, rather than as a notifier that does smp_call_function().\n\nReported-by: Andi Kleen \u003candi@firstfloor.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc3e53f682d93df677dbd5006a404722b3adfe18",
      "tree": "f386c29f13626e2b7d98d5a52525a78a9b59e447",
      "parents": [
        "f11c0ca501af89fc07b0d9f17531ba3b68a4ef39"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Oct 31 17:07:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:46 2011 -0700"
      },
      "message": "mm: distinguish between mlocked and pinned pages\n\nSome kernel components pin user space memory (infiniband and perf) (by\nincreasing the page count) and account that memory as \"mlocked\".\n\nThe difference between mlocking and pinning is:\n\nA. mlocked pages are marked with PG_mlocked and are exempt from\n   swapping. Page migration may move them around though.\n   They are kept on a special LRU list.\n\nB. Pinned pages cannot be moved because something needs to\n   directly access physical memory. They may not be on any\n   LRU list.\n\nI recently saw an mlockalled process where mm-\u003elocked_vm became\nbigger than the virtual size of the process (!) because some\nmemory was accounted for twice:\n\nOnce when the page was mlocked and once when the Infiniband\nlayer increased the refcount because it needt to pin the RDMA\nmemory.\n\nThis patch introduces a separate counter for pinned pages and\naccounts them seperately.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Mike Marciniszyn \u003cinfinipath@qlogic.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e5fdeedca610df600aabc393c4b1f44b128fe49",
      "tree": "52a34c30bef1501f19c691a759b81b6f2603cd32",
      "parents": [
        "bdfa97bf7263657b83bc5b68567a3a60dde84c5b"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 16:00:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:05 2011 -0400"
      },
      "message": "kernel: Fix files explicitly needing EXPORT_SYMBOL infrastructure\n\nThese files were getting \u003clinux/module.h\u003e via an implicit non-obvious\npath, but we want to crush those out of existence since they cost\ntime during compiles of processing thousands of lines of headers\nfor no reason.  Give them the lightweight header that just contains\nthe EXPORT_SYMBOL infrastructure.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "ed3982cf3748b657ffb79d9d1c2e4a562661db2d",
      "tree": "6e3654f460e23aa1b1512896aa3f03886a69be1b",
      "parents": [
        "cba9bd22a5f8f857534b9a7f3fb3cafa0ac5fb75",
        "d93dc5c4478c1fd5de85a3e8aece9aad7bbae044"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 26 12:53:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 26 12:54:28 2011 +0200"
      },
      "message": "Merge commit \u0027v3.1-rc7\u0027 into perf/core\n\nMerge reason: Pick up the latest upstream fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7f310a5d4e8525ac0cc2f58c973d2100ce034410",
      "tree": "7e61573e73b80d65d29b259c7d1a228038a4439e",
      "parents": [
        "a8d757ef076f0f95f13a918808824058de25b3eb"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Thu Jun 23 16:34:38 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Aug 31 15:56:29 2011 +0200"
      },
      "message": "perf_event: Fix broken calc_timer_values()\n\nWe detected a serious issue with PERF_SAMPLE_READ and\ntiming information when events were being multiplexing.\n\nSamples would have time_running \u003e time_enabled. That\nwas easy to reproduce with a libpfm4 example (ran 3\ntimes to cause multiplexing on Core 2):\n\n $ syst_smpl -e uops_retired:freq\u003d1 \u0026\n $ syst_smpl -e uops_retired:freq\u003d1 \u0026\n $ syst_smpl -e uops_retired:freq\u003d1 \u0026\n IIP:0x0000000040062d ... PERIOD:2355332948 ENA\u003d40144625315 RUN\u003d60014875184\n syst_smpl: WARNING: time_running \u003e time_enabled\n\t63277537998 uops_retired:freq\u003d1 , scaled\n\nThe bug was not present in kernel up to (and including) 3.0. It turns\nout the bug was introduced by the following commit:\n\ncommit c4794295917ebeda8013b6cb9c8d71ab4f74a1fa\n\n    events: Move lockless timer calculation into helper function\n\nThe parameters of the function got reversed yet the call sites\nwere not updated to reflect the change. That lead to time_running\nand time_enabled being swapped. That had no effect when there was\nno multiplexing because in that case time_running \u003d time_enabled\nbut it would show up in any other scenario.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110829124112.GA4828@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8d757ef076f0f95f13a918808824058de25b3eb",
      "tree": "3c1151ef886d9b72d0a7b7b267d9f37c72d5f475",
      "parents": [
        "c6a389f123b9f68d605bb7e0f9b32ec1e3e14132"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Aug 25 15:58:03 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 29 12:28:33 2011 +0200"
      },
      "message": "perf events: Fix slow and broken cgroup context switch code\n\nThe current cgroup context switch code was incorrect leading\nto bogus counts. Furthermore, as soon as there was an active\ncgroup event on a CPU, the context switch cost on that CPU\nwould increase by a significant amount as demonstrated by a\nsimple ping/pong example:\n\n $ ./pong\n Both processes pinned to CPU1, running for 10s\n 10684.51 ctxsw/s\n\nNow start a cgroup perf stat:\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 100\n\n$ ./pong\n Both processes pinned to CPU1, running for 10s\n 6674.61 ctxsw/s\n\nThat\u0027s a 37% penalty.\n\nNote that pong is not even in the monitored cgroup.\n\nThe results shown by perf stat are bogus:\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 100\n\n Performance counter stats for \u0027sleep 100\u0027:\n\n CPU1 \u003cnot counted\u003e cycles   test\n CPU1 16,984,189,138 cycles  #    0.000 GHz\n\nThe second \u0027cycles\u0027 event should report a count @ CPU clock\n(here 2.4GHz) as it is counting across all cgroups.\n\nThe patch below fixes the bogus accounting and bypasses any\ncgroup switches in case the outgoing and incoming tasks are\nin the same cgroup.\n\nWith this patch the same test now yields:\n $ ./pong\n Both processes pinned to CPU1, running for 10s\n 10775.30 ctxsw/s\n\nStart perf stat with cgroup:\n\n $ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\nRun pong outside the cgroup:\n $ /pong\n Both processes pinned to CPU1, running for 10s\n 10687.80 ctxsw/s\n\nThe penalty is now less than 2%.\n\nAnd the results for perf stat are correct:\n\n$ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\n Performance counter stats for \u0027sleep 10\u0027:\n\n CPU1 \u003cnot counted\u003e cycles test #    0.000 GHz\n CPU1 23,933,981,448 cycles      #    0.000 GHz\n\nNow perf stat reports the correct counts for\nfor the non cgroup event.\n\nIf we run pong inside the cgroup, then we also get the\ncorrect counts:\n\n$ perf stat -e cycles,cycles -A -a -G test  -C 1 -- sleep 10\n\n Performance counter stats for \u0027sleep 10\u0027:\n\n CPU1 22,297,726,205 cycles test #    0.000 GHz\n CPU1 23,933,981,448 cycles      #    0.000 GHz\n\n      10.001457237 seconds time elapsed\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110825135803.GA4697@quad\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7e5b2a01d2ca2eae4ef913b59f84341f9a70e206",
      "tree": "e5578bace8c56afd14246208a9e21ed45e4328b7",
      "parents": [
        "144060fee07e9c22e179d00819c83c86fbcbf82c"
      ],
      "author": {
        "name": "Mark Rutland",
        "email": "mark.rutland@arm.com",
        "time": "Thu Aug 11 12:31:20 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 11:53:05 2011 +0200"
      },
      "message": "perf: provide PMU when initing events\n\nCurrently, an event\u0027s \u0027pmu\u0027 field is set after pmu::event_init() is\ncalled. This means that pmu::event_init() must figure out which struct\npmu the event was initialised from. This makes it difficult to\nconsolidate common event initialisation code for similar PMUs, and\nvery difficult to implement drivers for PMUs which can have multiple\ninstances (e.g. a USB controller PMU, a GPU PMU, etc).\n\nThis patch sets the \u0027pmu\u0027 field before initialising the event, allowing\nevent init code to identify the struct pmu instance easily. In the\nevent of failure to initialise an event, the event is destroyed via\nkfree() without calling perf_event::destroy(), so this shouldn\u0027t\nresult in bad behaviour even if the destroy field was set before\nfailure to initialise was noted.\n\nSigned-off-by: Mark Rutland \u003cmark.rutland@arm.com\u003e\nReviewed-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1313062280-19123-1-git-send-email-mark.rutland@arm.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "144060fee07e9c22e179d00819c83c86fbcbf82c",
      "tree": "a13f3806fb266158570f1d7f7ece72f68199d7c2",
      "parents": [
        "7fdba1ca10462f42ad2246b918fe6368f5ce488e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Aug 01 12:49:14 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Aug 14 11:53:03 2011 +0200"
      },
      "message": "perf: Add PM notifiers to fix CPU hotplug races\n\nFrancis reports that s2r gets him spurious NMIs, this is because the\nsuspend code leaves the boot cpu up and running.\n\nCure this by adding a suspend notifier. The problem is that hotplug\nand suspend are completely un-serialized and the PM notifiers run\nbefore the suspend cpu unplug of all but the boot cpu.\n\nThis leaves a window where the user can initialize another hotplug\noperation (either remove or add a cpu) resulting in either one too\nmany or one too few hotplug ops. Thus we cannot use the hotplug code\nfor the suspend case.\n\nThere\u0027s another reason to not use the hotplug code, which is that the\nhotplug code totally destroys the perf state, we can do better for\nsuspend and simply remove all counters from the PMU so that we can\nre-instate them on resume.\n\nReported-by: Francis Moreau \u003cfrancis.moro@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-1cvevybkgmv4s6v5y37t4847@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9985c20f9e4aee6857c08246b273a3695a52b929",
      "tree": "e2942d148c4cbd51ddcaa8c9b8e47229a31f6e34",
      "parents": [
        "f53173e47dee5f7514d264796bec58d43ed0f67f"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Thu Jun 30 08:09:55 2011 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 21 20:41:55 2011 +0200"
      },
      "message": "perf: Remove perf_event_attr::type check\n\nPMU type id can be allocated dynamically, so perf_event_attr::type check\nwhen copying attribute from userspace to kernel is not valid.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309421396-17438-4-git-send-email-ming.m.lin@intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "26ca5c11fb45ae2b2ac7e3574b8db6b3a3c7d350",
      "tree": "01f430828eaacf7ba3e0eb541f8d946f3d855696",
      "parents": [
        "0af3ac1fdb9d5c297b4b07c9e0172531d42b6716"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 29 18:42:37 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:40 2011 +0200"
      },
      "message": "perf: export perf_event_refresh() to modules\n\nKVM needs one-shot samples, since a PMC programmed to -X will fire after X\nevents and then again after 2^40 events (i.e. variable period).\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309362157-6596-4-git-send-email-avi@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4dc0da86967d5463708631d02a70cfed5b104884",
      "tree": "e09071a62f2457b710ff69df3be1bff39340a4c6",
      "parents": [
        "89d6c0b5bdbb1927775584dcf532d98b3efe1477"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Wed Jun 29 18:42:35 2011 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:38 2011 +0200"
      },
      "message": "perf: Add context field to perf_event\n\nThe perf_event overflow handler does not receive any caller-derived\nargument, so many callers need to resort to looking up the perf_event\nin their local data structure.  This is ugly and doesn\u0027t scale if a\nsingle callback services many perf_events.\n\nFix by adding a context parameter to perf_event_create_kernel_counter()\n(and derived hardware breakpoints APIs) and storing it in the perf_event.\nThe field can be accessed from the callback as event-\u003eoverflow_handler_context.\nAll callers are updated.\n\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1309362157-6596-2-git-send-email-avi@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a7ac67ea021b4603095d2aa458bc41641238f22c",
      "tree": "e79d13a1096e751061af285265b1862d7e6dca70",
      "parents": [
        "a8b0ca17b80e92faab46ee7179ba9e99ccb61233"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 16:47:16 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:35 2011 +0200"
      },
      "message": "perf: Remove the perf_output_begin(.sample) argument\n\nSince only samples call perf_output_sample() its much saner (and more\ncorrect) to put the sample logic in there than in the\nperf_output_begin()/perf_output_end() pair.\n\nSaves a useless argument, reduces conditionals and shrinks\nstruct perf_output_handle, win!\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-2crpvsx3cqu67q3zqjbnlpsc@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a8b0ca17b80e92faab46ee7179ba9e99ccb61233",
      "tree": "a4a6282139f26458f80dcbe21c709a9290e84143",
      "parents": [
        "1880c4ae182afb5650c5678949ecfe7ff66a724e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 27 14:41:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:35 2011 +0200"
      },
      "message": "perf: Remove the nmi parameter from the swevent and overflow interface\n\nThe nmi parameter indicated if we could do wakeups from the current\ncontext, if not, we would set some state and self-IPI and let the\nresulting interrupt do the wakeup.\n\nFor the various event classes:\n\n  - hardware: nmi\u003d0; PMI is in fact an NMI or we run irq_work_run from\n    the PMI-tail (ARM etc.)\n  - tracepoint: nmi\u003d0; since tracepoint could be from NMI context.\n  - software: nmi\u003d[0,1]; some, like the schedule thing cannot\n    perform wakeups, and hence need 0.\n\nAs one can see, there is very little nmi\u003d1 usage, and the down-side of\nnot using it is that on some platforms some software events can have a\njiffy delay in wakeup (when arch_irq_work_raise isn\u0027t implemented).\n\nThe up-side however is that we can remove the nmi parameter and save a\nbunch of conditionals in fast paths.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nLink: http://lkml.kernel.org/n/tip-agjev8eu666tvknpb3iaj0fg@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0d6412085b7ff58612af52e51ffa864f0df4b8fd",
      "tree": "b0aa2622aa0262b1238b07fad38d76c9c61d6e32",
      "parents": [
        "c4794295917ebeda8013b6cb9c8d71ab4f74a1fa"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Fri Jun 24 12:26:26 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:34 2011 +0200"
      },
      "message": "events: Ensure that timers are updated without requiring read() call\n\nThe event tracing infrastructure exposes two timers which should be updated\neach time the value of the counter is updated.  Currently, these counters are\nonly updated when userspace calls read() on the fd associated with an event.\nThis means that counters which are read via the mmap\u0027d page exclusively never\nhave their timers updated.  This patch adds ensures that the timers are updated\neach time the values in the mmap\u0027d page are updated.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308932786-5111-1-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c4794295917ebeda8013b6cb9c8d71ab4f74a1fa",
      "tree": "bb422e3368f2ad686e69229b416536b2bcb1df8e",
      "parents": [
        "b7526f0ca6dc68f57ca467ce503151b1d476a3e4"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Thu Jun 23 16:34:38 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:33 2011 +0200"
      },
      "message": "events: Move lockless timer calculation into helper function\n\nTake the timer calculation from perf_output_read and move it to a helper\nfunction for any place that needs timer values but cannot take the ctx-\u003elock.\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308861279-15216-2-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b7526f0ca6dc68f57ca467ce503151b1d476a3e4",
      "tree": "979237e480c349409410f38aba502b06794a6b44",
      "parents": [
        "28009ce4a8130af7260a9271901b4419834ad152"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "emunson@mgebm.net",
        "time": "Thu Jun 23 16:34:37 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:33 2011 +0200"
      },
      "message": "events: Add note to update_event_times comment about holding ctx-\u003elock\n\nSigned-off-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1308861279-15216-1-git-send-email-emunson@mgebm.net\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ec8363dfc1451f8c8f86825731fe712798ada02",
      "tree": "12db5b26a3ffa179ef119ac945c4d9a6fb1ced88",
      "parents": [
        "0f933625e7b6c3d91878ae95e341bf1984db7eaf"
      ],
      "author": {
        "name": "Vince Weaver",
        "email": "vweaver1@eecs.utk.edu",
        "time": "Wed Jun 01 15:15:36 2011 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 01 11:06:32 2011 +0200"
      },
      "message": "perf_events: Fix perf buffer watermark setting\n\nSince 2.6.36 (specifically commit d57e34fdd60b (\"perf: Simplify the\nring-buffer logic: make perf_buffer_alloc() do everything needed\"),\nthe perf_buffer_init_code() has been mis-setting the buffer watermark\nif perf_event_attr.wakeup_events has a non-zero value.\n\nThis is because perf_event_attr.wakeup_events is a union with\nperf_event_attr.wakeup_watermark.\n\nThis commit re-enables the check for perf_event_attr.watermark being\nset before continuing with setting a non-default watermark.\n\nThis bug is most noticable when you are trying to use PERF_IOC_REFRESH\nwith a value larger than one and perf_event_attr.wakeup_events is set to\none.  In this case the buffer watermark will be set to 1 and you will\nget extraneous POLL_IN overflows rather than POLL_HUP as expected.\n\n[ avoid using attr.wakeup_events when attr.watermark is set ]\n\nSigned-off-by: Vince Weaver \u003cvweaver1@eecs.utk.edu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/r/alpine.DEB.2.00.1106011506390.5384@cl320.eecs.utk.edu\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "76369139ceb955deefc509e6e12ce9d6ce50ccab",
      "tree": "5ba2732188d2fecd4fd49b93f73e51e17fb69082",
      "parents": [
        "b58f6b0dd3d677338b9065388cc2cc942b86338e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 19 19:55:04 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 09 12:57:54 2011 +0200"
      },
      "message": "perf: Split up buffer handling from core code\n\nAnd create the internal perf events header.\n\nv2: Keep an internal inlined perf_output_copy()\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Borislav Petkov \u003cbp@alien8.de\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/1305827704-5607-1-git-send-email-fweisbec@gmail.com\n[ v3: use clearer \u0027ring_buffer\u0027 and \u0027rb\u0027 naming ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b58f6b0dd3d677338b9065388cc2cc942b86338e",
      "tree": "1c10cd87480b3c05b100fb4d85afaecfe2dd5b1b",
      "parents": [
        "3ce2a0bc9dfb6423491afe0afc9f099e24b8cba4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Jun 07 00:23:28 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 07 13:02:41 2011 +0200"
      },
      "message": "perf, core: Fix initial task_ctx/event installation\n\nA lost Quilt refresh of 2c29ef0fef8 (perf: Simplify and fix\n__perf_install_in_context()) is causing grief and lockups,\nreported by Jiri Olsa.\n\nWhen installing an event in a task context, there\u0027s a number of\nissues:\n\n - there might not be an existing task context, in which case\n   we should install the now current context;\n\n - there might already be a context, not the current one, in\n   which case we should de-schedule the old and install the new;\n\nthese cases were dealt with in the lost refresh, however there is one\nfurther case that was found in testing:\n\n - there might already be a context, the current one, in which\n   case we should still de-schedule, and should take care\n   to re-install it (note that task_ctx_sched_out() clears\n   cpuctx-\u003etask_ctx).\n\nReported-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1307399008.2497.971.camel@laptop\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3ce2a0bc9dfb6423491afe0afc9f099e24b8cba4",
      "tree": "58fbef582846fef0e777b1a552aca12e21a071b1",
      "parents": [
        "aef29bf20bd79c73992ab23d5067e9f0448b466e",
        "aa4a221875873d2a1f9656cb7fd7e545e952b4fa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 04 12:28:05 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 04 12:28:05 2011 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\ttools/perf/util/python.c\n\nMerge reason: resolve the conflict with perf/urgent.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "710054ba25c0d1f8f41c22ce13ba336503fb5318",
      "tree": "f9b09b722bf511841539173d946f90a20fc2e59a",
      "parents": [
        "74c355fbdfedd3820046dba4f537876cea54c207",
        "b273fa9716aa1564bee88ceee62f9042981cdc81"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 04 12:13:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jun 04 12:13:06 2011 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent\n"
    },
    {
      "commit": "74c355fbdfedd3820046dba4f537876cea54c207",
      "tree": "3a07851e63f5eb9a233286c6683f7e8c7d9d61a2",
      "parents": [
        "89e1be50c68eb5e58b873dce87bbac627ee18d1f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon May 30 16:48:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 31 14:20:25 2011 +0200"
      },
      "message": "perf, cgroups: Fix up for new API\n\nBen changed the cgroup API in commit f780bdb7c1c (cgroups: add\nper-thread subsystem callbacks) in an incompatible way, but\nforgot to convert the perf cgroup bits.\n\nAvoid compile warnings and runtime splats and convert perf too ;-)\n\nAcked-by: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1306767651.1200.2990.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "64ce312618ef0e11d88def80effcefd1b59fdb1e",
      "tree": "884c247a013b8d13fa7a1f90dfa5bc01e16d62d6",
      "parents": [
        "e03a9a55b4e45377af9ca3d464135f9ea280b8f8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:48 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:23 2011 +0200"
      },
      "message": "perf: De-schedule a task context when removing the last event\n\nSince perf_install_in_context() will now install a context when we\nadd the first event, we can de-schedule the context when the last\nevent is removed.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192142.090431763@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e03a9a55b4e45377af9ca3d464135f9ea280b8f8",
      "tree": "81ccb92c25baf8c1ac3d181fe25607328c1eb7f1",
      "parents": [
        "dce5855bba5df9e87bb04584d505c1f1b103c652"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:47 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:21 2011 +0200"
      },
      "message": "perf: Change close() semantics for group events\n\nIn order to always call list_del_event() on the correct cpu if the\nevent is part of an active context and avoid having to do two IPIs,\nchange the close() semantics slightly.\n\nThe current perf_event_disable() call would disable a whole group if\nthe event that\u0027s being closed is the group leader, whereas the new\ncode keeps the group siblings enabled.\n\nPeople should not rely on this behaviour and I don\u0027t think they do,\nbut in case we find they do, the fix is easy and we have to take the\ndouble IPI cost.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Vince Weaver \u003cvweaver1@eecs.utk.edu\u003e\nLink: http://lkml.kernel.org/r/20110409192142.038377551@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dce5855bba5df9e87bb04584d505c1f1b103c652",
      "tree": "167312131a85a176ec71775fa81ddbf14a33dcb6",
      "parents": [
        "db24d33e08b88e990991760a44d72006a5dc6102"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:46 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:19 2011 +0200"
      },
      "message": "perf: Collect the schedule-in rules in one function\n\nThis was scattered out - refactor it into a single function.\nNo change in functionality.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.979862055@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "db24d33e08b88e990991760a44d72006a5dc6102",
      "tree": "a36c4aba0e221e5833b15432971e526959a3aff1",
      "parents": [
        "2c29ef0fef8aaff1f91263fc75c749d659da6972"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:45 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:17 2011 +0200"
      },
      "message": "perf: Change and simplify ctx::is_active semantics\n\nInstead of tracking if a context is active or not, track which events\nof the context are active. By making it a bitmask of\nEVENT_PINNED|EVENT_FLEXIBLE we can simplify some of the scheduling\nroutines since it can avoid adding events that are already active.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.930282378@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c29ef0fef8aaff1f91263fc75c749d659da6972",
      "tree": "64a0c86177213e8490ecc74a1b4f881c4d9633ec",
      "parents": [
        "04dc2dbbfe1c6f81b996d4dab255da75f9efbb4a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:44 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:16 2011 +0200"
      },
      "message": "perf: Simplify and fix __perf_install_in_context()\n\nCurrently __perf_install_in_context() will try and schedule in the\nevent irrespective of our event scheduling rules, that is, we try to\nschedule CPU-pinned, TASK-pinned, CPU-flexible, TASK-flexible, but\nwhen creating a new event we simply try and schedule it on top of\nwhatever is already on the PMU, this can lead to errors for pinned\nevents.\n\nTherefore, simplify things and simply schedule everything out, add the\nevent to the corresponding context and schedule everything back in.\n\nThis also nicely handles the case where with\n__ARCH_WANT_INTERRUPTS_ON_CTXSW the IPI can come right in the middle\nof schedule, before we managed to call perf_event_task_sched_in().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.870894224@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04dc2dbbfe1c6f81b996d4dab255da75f9efbb4a",
      "tree": "a99e0c849f61d5bf7f3d9777f0e5c4bf69c61d9a",
      "parents": [
        "facc43071cc0d4821c176d7d34570714eb348df9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:43 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:14 2011 +0200"
      },
      "message": "perf: Remove task_ctx_sched_in()\n\nMake task_ctx_sched_*() imply EVENT_ALL, since anything less will not\nactually have scheduled the task in/out at all.\n\nSince there\u0027s no site that schedules all of a task in (due to the\ninterleave with flexible cpuctx) we can remove this function.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.817893268@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "facc43071cc0d4821c176d7d34570714eb348df9",
      "tree": "0dd46f10d70f7814d622f1862ba6bf1c1cf4e18d",
      "parents": [
        "9137fb28ac74d05eb66d1d8e6778eaa14e6fed43"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:42 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:12 2011 +0200"
      },
      "message": "perf: Optimize event scheduling locking\n\nCurrently we only hold one ctx-\u003elock at a time, which results in us\nflipping back and forth between cpuctx-\u003ectx.lock and task_ctx-\u003elock.\n\nAvoid this and gain large atomic regions by holding both locks. We\nnest the task lock inside the cpu lock, since with task scheduling we\nmight have to change task ctx while holding the cpu ctx lock.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.769881865@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9137fb28ac74d05eb66d1d8e6778eaa14e6fed43",
      "tree": "d27d1bd1c2fd89b50feafdb04ac868225b69a812",
      "parents": [
        "075e0b00857e166dcc3e39037a1fc5a90acac709"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:41 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:10 2011 +0200"
      },
      "message": "perf: Clean up \u0027ctx\u0027 reference counting\n\nSmall cleanup to how we refcount in find_get_context(), this also\nallows us to use put_ctx() to free things instead of using kfree().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.719340481@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "075e0b00857e166dcc3e39037a1fc5a90acac709",
      "tree": "448cc154bde8d50cb43578416467cfe94d8267c5",
      "parents": [
        "f506b3dc0ec454a16d40cab9ee5d75435b39dc50"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Apr 09 21:17:40 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 18:01:09 2011 +0200"
      },
      "message": "perf: Optimize ctx_sched_out()\n\nOleg noted that ctx_sched_out() disables the PMU even though it might\nnot actually do something, avoid needless PMU-disabling.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20110409192141.665385503@chello.nl\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f506b3dc0ec454a16d40cab9ee5d75435b39dc50",
      "tree": "fc0dfaab17f42445e04abf51817016647a9c6b56",
      "parents": [
        "e4a338d05df93ab1ebf291aca1e753064319d301"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 26 17:02:53 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 28 17:04:59 2011 +0200"
      },
      "message": "perf: Fix SIGIO handling\n\nVince noticed that unless we mmap() a buffer, SIGIO gets lost. So\nexplicitly push the wakeup (including signals) when requested.\n\nReported-by: Vince Weaver \u003cvweaver1@eecs.utk.edu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLink: http://lkml.kernel.org/n/tip-2euus3f3x3dyvdk52cjxw8zu@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb04f2f04ed1227c266b3219c0aaeda525639718",
      "tree": "7f224483a3cd0e439cd64a8666ec9dc5ed178a3d",
      "parents": [
        "5765040ebfc9a28d9dcfaaaaf3d25840d922de96",
        "80d02085d99039b3b7f3a73c8896226b0cb1ba07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:14:34 2011 -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: (78 commits)\n  Revert \"rcu: Decrease memory-barrier usage based on semi-formal proof\"\n  net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree\n  batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu\n  batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()\n  batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu\n  net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu()\n  net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu()\n  net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu()\n  perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()\n  perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()\n  net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu()\n  net,rcu: convert call_rcu(net_generic_release) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu()\n  net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu()\n  security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu()\n  net,rcu: convert call_rcu(xps_map_release) to kfree_rcu()\n  net,rcu: convert call_rcu(rps_map_release) to kfree_rcu()\n  ...\n"
    },
    {
      "commit": "e7e7ee2eab2080248084d71fe0a115ab745eb2aa",
      "tree": "f41d3ec67d2df15bbabd8dac16f5f865e79db81e",
      "parents": [
        "48dbb6dc86ca5d1b2224937d774c7ba98bc3a485"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 04 08:42:29 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed May 04 08:49:24 2011 +0200"
      },
      "message": "perf events: Clean up definitions and initializers, update copyrights\n\nFix a few inconsistent style bits that were added over the past few\nmonths.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/n/tip-yv4hwf9yhnzoada8pcpb3a97@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "48dbb6dc86ca5d1b2224937d774c7ba98bc3a485"
}
