)]}'
{
  "log": [
    {
      "commit": "336f5899d287f06d8329e208fc14ce50f7ec9698",
      "tree": "9b762d450d5eb248a6ff8317badb7e223d93ed58",
      "parents": [
        "a4ab2773205e8b94c18625455f85e3b6bb9d7ad6",
        "db217dece3003df0841bacf9556b5c06aa097dae"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into export-slabh\n"
    },
    {
      "commit": "26d80aa782e708c380a47601779d42d30bf016d6",
      "tree": "0d4c1357fa600123d1173d536537a88c8316e031",
      "parents": [
        "b0f86f5a169c758a82b0e23eef6795356f6d5a25"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 03 12:22:05 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Apr 03 12:22:05 2010 +0200"
      },
      "message": "perf: Always build the stub perf_arch_fetch_caller_regs version\n\nNow that software events use perf_arch_fetch_caller_regs() too, we\nneed the stub version to be always built in for archs that don\u0027t\nimplement it.\n\nFixes the following build error in PARISC:\n\n\tkernel/built-in.o: In function `perf_event_task_sched_out\u0027:\n\t(.text.perf_event_task_sched_out+0x54): undefined reference to `perf_arch_fetch_caller_regs\u0027\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "8bb39f9aa068262732fe44b965d7a6eb5a5a7d67",
      "tree": "820af25532c62179f518bda83ea27b6b21ee736b",
      "parents": [
        "257ef9d21f1b008a6c7425544b36641c4325a922"
      ],
      "author": {
        "name": "Mike Galbraith",
        "email": "efault@gmx.de",
        "time": "Fri Mar 26 11:11:33 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 02 19:30:05 2010 +0200"
      },
      "message": "perf: Fix \u0027perf sched record\u0027 deadlock\n\nperf sched record can deadlock a box should the holder of\nhandle-\u003edata-\u003elock take an interrupt, and then attempt to\nacquire an rq lock held by a CPU trying to acquire the\nsame lock. Disable interrupts.\n\n   CPU0                            CPU1\n   sched event with rq-\u003elock held\n                                   grab handle-\u003edata-\u003elock\n   spin on handle-\u003edata-\u003elock\n                                   interrupt\n                                   try to grab rq-\u003elock\n\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Mike Galbraith \u003cefault@gmx.de\u003e\nTested-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1269598293.6174.8.camel@marge.simson.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e49a5bd38159dfb1928fd25b173bc9de4bbadb21",
      "tree": "85c7c5fcce6df6a6ab6c119c40f6652d7783ec0b",
      "parents": [
        "eb1e79611cc9bfe21978230e3521e77ea2d7874a"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Mar 22 19:40:03 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Apr 01 08:26:31 2010 +0200"
      },
      "message": "perf: Use hot regs with software sched switch/migrate events\n\nScheduler\u0027s task migration events don\u0027t work because they always\npass NULL regs perf_sw_event(). The event hence gets filtered\nin perf_swevent_add().\n\nScheduler\u0027s context switches events use task_pt_regs() to get\nthe context when the event occured which is a wrong thing to\ndo as this won\u0027t give us the place in the kernel where we went\nto sleep but the place where we left userspace. The result is\neven more wrong if we switch from a kernel thread.\n\nUse the hot regs snapshot for both events as they belong to the\nnon-interrupt/exception based events family. Unlike page faults\nor so that provide the regs matching the exact origin of the event,\nwe need to save the current context.\n\nThis makes the task migration event working and fix the context\nswitch callchains and origin ip.\n\nExample: perf record -a -e cs\n\nBefore:\n\n    10.91%      ksoftirqd/0                  0  [k] 0000000000000000\n                |\n                --- (nil)\n                    perf_callchain\n                    perf_prepare_sample\n                    __perf_event_overflow\n                    perf_swevent_overflow\n                    perf_swevent_add\n                    perf_swevent_ctx_event\n                    do_perf_sw_event\n                    __perf_sw_event\n                    perf_event_task_sched_out\n                    schedule\n                    run_ksoftirqd\n                    kthread\n                    kernel_thread_helper\n\nAfter:\n\n    23.77%  hald-addon-stor  [kernel.kallsyms]  [k] schedule\n            |\n            --- schedule\n               |\n               |--60.00%-- schedule_timeout\n               |          wait_for_common\n               |          wait_for_completion\n               |          blk_execute_rq\n               |          scsi_execute\n               |          scsi_execute_req\n               |          sr_test_unit_ready\n               |          |\n               |          |--66.67%-- sr_media_change\n               |          |          media_changed\n               |          |          cdrom_media_changed\n               |          |          sr_block_media_changed\n               |          |          check_disk_change\n               |          |          cdrom_open\n\nv2: Always build perf_arch_fetch_caller_regs() now that software\nevents need that too. They don\u0027t need it from modules, unlike trace\nevents, so we keep the EXPORT_SYMBOL in trace_event_perf.c\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "dcd5c1662db59a6b82942f47fb6ac9dd63f6d3dd",
      "tree": "432f0d89d45fc62d666d46e591ffe109f111cb1e",
      "parents": [
        "9f591fd76afdc0e5192e9ed00a36f8efc0b4dfe6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Mar 16 01:05:02 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 17 12:26:49 2010 +0100"
      },
      "message": "perf: Fix unexported generic perf_arch_fetch_caller_regs\n\nperf_arch_fetch_caller_regs() is exported for the overriden x86\nversion, but not for the generic weak version.\n\nAs a general rule, weak functions should not have their symbol\nexported in the same file they are defined.\n\nSo let\u0027s export it on trace_event_perf.c as it is used by trace\nevents only.\n\nThis fixes:\n\n\tERROR: \".perf_arch_fetch_caller_regs\" [fs/xfs/xfs.ko] undefined!\n\tERROR: \".perf_arch_fetch_caller_regs\" [arch/powerpc/platforms/cell/spufs/spufs.ko] undefined!\n\n-v2: And also only build it if trace events are enabled.\n-v3: Fix changelog mistake\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1268697902-9518-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "220b140b52ab6cc133f674a7ffec8fa792054f25",
      "tree": "df8d370f604f84145b1ba5d056d4622b6c85b488",
      "parents": [
        "97d5a22005f38057b4bc0d95f81cd26510268794"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 10 20:45:52 2010 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 12:43:51 2010 +0100"
      },
      "message": "perf_event: Fix oops triggered by cpu offline/online\n\nAnton Blanchard found that he could reliably make the kernel hit a\nBUG_ON in the slab allocator by taking a cpu offline and then online\nwhile a system-wide perf record session was running.\n\nThe reason is that when the cpu comes up, we completely reinitialize\nthe ctx field of the struct perf_cpu_context for the cpu.  If there is\na system-wide perf record session running, then there will be a struct\nperf_event that has a reference to the context, so its refcount will\nbe 2.  (The perf_event has been removed from the context\u0027s group_entry\nand event_entry lists by perf_event_exit_cpu(), but that doesn\u0027t\nremove the perf_event\u0027s reference to the context and doesn\u0027t decrement\nthe context\u0027s refcount.)\n\nWhen the cpu comes up, perf_event_init_cpu() gets called, and it calls\n__perf_event_init_context() on the cpu\u0027s context.  That resets the\nrefcount to 1.  Then when the perf record session finishes and the\nperf_event is closed, the refcount gets decremented to 0 and the\ncontext gets kfreed after an RCU grace period.  Since the context\nwasn\u0027t kmalloced -- it\u0027s part of a per-cpu variable -- bad things\nhappen.\n\nIn fact we don\u0027t need to completely reinitialize the context when the\ncpu comes up.  It\u0027s sufficient to initialize the context once at boot,\nbut we need to do it for all possible cpus.\n\nThis moves the context initialization to happen at boot time.  With\nthis, we don\u0027t trash the refcount and the context never gets kfreed,\nand we don\u0027t hit the BUG_ON.\n\nReported-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nTested-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "97d5a22005f38057b4bc0d95f81cd26510268794",
      "tree": "b981789b1cec8ac36527e52204e407b32efa0ea6",
      "parents": [
        "c530665c31c0140b74ca7689e7f836177796e5bd"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Mar 05 05:35:37 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 10 14:47:18 2010 +0100"
      },
      "message": "perf: Drop the obsolete profile naming for trace events\n\nDrop the obsolete \"profile\" naming used by perf for trace events.\nPerf can now do more than simple events counting, so generalize\nthe API naming.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\n"
    },
    {
      "commit": "c530665c31c0140b74ca7689e7f836177796e5bd",
      "tree": "ac9ebb98aca58fdf84cc18958a94393a9a7bbdf3",
      "parents": [
        "5331d7b84613b8325362dde53dc2bff2fb87d351"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 03 07:16:16 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 10 14:40:38 2010 +0100"
      },
      "message": "perf: Take a hot regs snapshot for trace events\n\nWe are taking a wrong regs snapshot when a trace event triggers.\nEither we use get_irq_regs(), which gives us the interrupted\nregisters if we are in an interrupt, or we use task_pt_regs()\nwhich gives us the state before we entered the kernel, assuming\nwe are lucky enough to be no kernel thread, in which case\ntask_pt_regs() returns the initial set of regs when the kernel\nthread was started.\n\nWhat we want is different. We need a hot snapshot of the regs,\nso that we can get the instruction pointer to record in the\nsample, the frame pointer for the callchain, and some other\nthings.\n\nLet\u0027s use the new perf_fetch_caller_regs() for that.\n\nComparison with perf record -e lock: -R -a -f -g\nBefore:\n\n        perf  [kernel]                   [k] __do_softirq\n               |\n               --- __do_softirq\n                  |\n                  |--55.16%-- __open\n                  |\n                   --44.84%-- __write_nocancel\n\nAfter:\n\n            perf  [kernel]           [k] perf_tp_event\n               |\n               --- perf_tp_event\n                  |\n                  |--41.07%-- lock_acquire\n                  |          |\n                  |          |--39.36%-- _raw_spin_lock\n                  |          |          |\n                  |          |          |--7.81%-- hrtimer_interrupt\n                  |          |          |          smp_apic_timer_interrupt\n                  |          |          |          apic_timer_interrupt\n\nThe old case was producing unreliable callchains. Now having\nright frame and instruction pointers, we have the trace we\nwant.\n\nAlso syscalls and kprobe events already have the right regs,\nlet\u0027s use them instead of wasting a retrieval.\n\nv2: Follow the rename perf_save_regs() -\u003e perf_fetch_caller_regs()\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Archs \u003clinux-arch@vger.kernel.org\u003e\n"
    },
    {
      "commit": "5331d7b84613b8325362dde53dc2bff2fb87d351",
      "tree": "60f4bf4fdaf31b612eefc291bf6b558dc4c8d947",
      "parents": [
        "61e67fb9d3ed13e6a7f58652ae4979b9c872fa57"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Mar 04 21:15:56 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Mar 10 14:39:35 2010 +0100"
      },
      "message": "perf: Introduce new perf_fetch_caller_regs() for hot regs snapshot\n\nEvents that trigger overflows by interrupting a context can\nuse get_irq_regs() or task_pt_regs() to retrieve the state\nwhen the event triggered. But this is not the case for some\nother class of events like trace events as tracepoints are\nexecuted in the same context than the code that triggered\nthe event.\n\nIt means we need a different api to capture the regs there,\nnamely we need a hot snapshot to get the most important\ninformations for perf: the instruction pointer to get the\nevent origin, the frame pointer for the callchain, the code\nsegment for user_mode() tests (we always use __KERNEL_CS as\ntrace events always occur from the kernel) and the eflags\nfor further purposes.\n\nv2: rename perf_save_regs to perf_fetch_caller_regs as per\nMasami\u0027s suggestion.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Archs \u003clinux-arch@vger.kernel.org\u003e\n"
    },
    {
      "commit": "d4944a06666054707d23e11888e480af239e5abf",
      "tree": "58d8e847f198c29a2a2ddee60fe862f8973794d1",
      "parents": [
        "f3d46b2e6fa57547f9884330798792afc83f4b04"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Mar 08 13:51:20 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 10 13:22:36 2010 +0100"
      },
      "message": "perf: Provide better condition for event rotation\n\nTry to avoid useless rotation and PMU disables.\n\n[ Could be improved by keeping a nr_runnable count to better account\n  for the \u003c PERF_STAT_INACTIVE counters ]\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: paulus@samba.org\nCc: eranian@google.com\nCc: robert.richter@amd.com\nCc: fweisbec@gmail.com\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32975a4f114be52286f9a5bf6c230dbb8c0e1903",
      "tree": "a5259dd7fb4cab05c837bace8a735a439bafc904",
      "parents": [
        "3f6da3905398826d85731247e7fbcf53400c18bd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Mar 06 19:49:19 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 10 13:22:25 2010 +0100"
      },
      "message": "perf: Optimize perf_disable\n\nCurrently we always call hw_perf_disable(), even if its already disabled,\nthis seems superflous, esp. since it cannot be made NMI safe (see further\npatches).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus@samba.org\nCc: eranian@google.com\nCc: robert.richter@amd.com\nCc: fweisbec@gmail.com\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f6da3905398826d85731247e7fbcf53400c18bd",
      "tree": "3e01248974385999fb8e7f8d5daa53b46228f649",
      "parents": [
        "dc1d628a67a8f042e711ea5accc0beedc3ef0092"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Mar 05 13:01:18 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 10 13:22:24 2010 +0100"
      },
      "message": "perf: Rework and fix the arch CPU-hotplug hooks\n\nRemove the hw_perf_event_*() hotplug hooks in favour of per PMU hotplug\nnotifiers. This has the advantage of reducing the static weak interface\nas well as exposing all hotplug actions to the PMU.\n\nUse this to fix x86 hotplug usage where we did things in ONLINE which\nshould have been done in UP_PREPARE or STARTING.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: paulus@samba.org\nCc: eranian@google.com\nCc: robert.richter@amd.com\nCc: fweisbec@gmail.com\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nLKML-Reference: \u003c20100305154128.736225361@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc1d628a67a8f042e711ea5accc0beedc3ef0092",
      "tree": "728f72a5f9a8368b225890a95ea947c1c8cda301",
      "parents": [
        "548b84166917d6f5e2296123b85ad24aecd3801d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Mar 03 15:55:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 10 13:22:23 2010 +0100"
      },
      "message": "perf: Provide generic perf_sample_data initialization\n\nThis makes it easier to extend perf_sample_data and fixes a bug on arm\nand sparc, which failed to set -\u003eraw to NULL, which can cause crashes\nwhen combined with PERF_SAMPLE_RAW.\n\nIt also optimizes PowerPC and tracepoint, because the struct\ninitialization is forced to zero out the whole structure.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Jean Pihet \u003cjpihet@mvista.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Jamie Iles \u003cjamie.iles@picochip.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c20100304140100.315416040@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "548b84166917d6f5e2296123b85ad24aecd3801d",
      "tree": "0ab0300e23a02df0fe3c0579627e4998bb122c00",
      "parents": [
        "cfb581bcd4f8c158c6f2b48bf5e232bb9e6855c0",
        "57d54889cd00db2752994b389ba714138652e60c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 09 17:11:53 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 09 17:11:53 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.34-rc1\u0027 into perf/urgent\n\nConflicts:\n\ttools/perf/util/probe-event.c\n\nMerge reason: Pick up -rc1 and resolve the conflict as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c9be0a36f9bf392a7984473124a67a12964df11f",
      "tree": "23fcf49f277d9a093b2b29831811219410ad7b05",
      "parents": [
        "3d03ba4d1dd2246adff5a9ff1194a539b3bc05a7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:47:58 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysdev: Pass attribute in sysdev_class attributes show/store\n\nPassing the attribute to the low level IO functions allows all kinds\nof cleanups, by sharing low level IO code without requiring\nan own function for every piece of data.\n\nAlso drivers can extend the attributes with own data fields\nand use that in the low level function.\n\nSimilar to sysdev_attributes and normal attributes.\n\nThis is a tree-wide sweep, converting everything in one go.\n\nNo functional changes in this patch other than passing the new\nargument everywhere.\n\nTested on x86, the non x86 parts are uncompiled.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "78d7d407b62a021e6d2e8dc24c0b90e390ab58a1",
      "tree": "8c1074b84db4b977bad6802a3701e0113c0a7739",
      "parents": [
        "d4bb527438b4181cd3c564ae04dd344c381283a1"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Fri Mar 05 13:42:54 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:33 2010 -0800"
      },
      "message": "kernel core: use helpers for rlimits\n\nMake sure compiler won\u0027t do weird things with limits.  E.g.  fetching them\ntwice may return 2 different values after writable limits are implemented.\n\nI.e.  either use rlimit helpers added in commit 3e10e716abf3 (\"resource:\nadd helpers for fetching rlimits\") or ACCESS_ONCE if not applicable.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "320ebf09cbb6d01954c9a060266aa8e0d27f4638",
      "tree": "0069898e64171dd89834327b0180c6d90860b46a",
      "parents": [
        "bb1165d6882f423f90fc7007a88c6c993b7c2ac4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 02 12:35:37 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 02 15:06:46 2010 +0100"
      },
      "message": "perf, x86: Restrict the ANY flag\n\nThe ANY flag can show SMT data of another task (like \u0027top\u0027),\nso we want to disable it when system-wide profiling is\ndisabled.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6556a6743549defc32e5f90ee2cb1ecd833a44c3",
      "tree": "622306583d4a3c13235a8bfc012854c125c597f1",
      "parents": [
        "e0d272429a34ff143bfa04ee8e29dd4eed2964c7",
        "1dd2980d990068e20045b90c424518cc7f3657ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:20:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 28 10:20:25 2010 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (172 commits)\n  perf_event, amd: Fix spinlock initialization\n  perf_event: Fix preempt warning in perf_clock()\n  perf tools: Flush maps on COMM events\n  perf_events, x86: Split PMU definitions into separate files\n  perf annotate: Handle samples not at objdump output addr boundaries\n  perf_events, x86: Remove superflous MSR writes\n  perf_events: Simplify code by removing cpu argument to hw_perf_group_sched_in()\n  perf_events, x86: AMD event scheduling\n  perf_events: Add new start/stop PMU callbacks\n  perf_events: Report the MMAP pgoff value in bytes\n  perf annotate: Defer allocating sym_priv-\u003ehist array\n  perf symbols: Improve debugging information about symtab origins\n  perf top: Use a macro instead of a constant variable\n  perf symbols: Check the right return variable\n  perf/scripts: Tag syscall_name helper as not yet available\n  perf/scripts: Add perf-trace-python Documentation\n  perf/scripts: Remove unnecessary PyTuple resizes\n  perf/scripts: Add syscall tracing scripts\n  perf/scripts: Add Python scripting engine\n  perf/scripts: Remove check-perf-trace from listed scripts\n  ...\n\nFix trivial conflict in tools/perf/util/probe-event.c\n"
    },
    {
      "commit": "018cbffe6819f6f8db20a0a3acd9bab9bfd667e4",
      "tree": "fadde2521591998dc653fa094c636e8a547e620d",
      "parents": [
        "1dd2980d990068e20045b90c424518cc7f3657ff",
        "60b341b778cc2929df16c0a504c91621b3c6a4ad"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Feb 27 16:18:46 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Feb 27 16:18:46 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.33\u0027 into perf/core\n\nMerge reason:\n\t__percpu annotations need the corresponding sparse address\nspace definition upstream.\n\nConflicts:\n\ttools/perf/util/probe-event.c (trivial)\n"
    },
    {
      "commit": "24691ea964cc0123e386b661e03a86a481c6ee79",
      "tree": "3dbda94caa97b627dde488e968c937e3bbbc8fbc",
      "parents": [
        "4385d580f2278abab6d336e52522e9a6f5452a11"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Feb 26 16:36:23 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 26 17:25:00 2010 +0100"
      },
      "message": "perf_event: Fix preempt warning in perf_clock()\n\nA recent commit introduced a preemption warning for\nperf_clock(), use raw_smp_processor_id() to avoid this, it\nreally doesn\u0027t matter which cpu we use here.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1267198583.22519.684.camel@laptop\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6e37738a2fac964583debe91099bc3248554f6e5",
      "tree": "1f1bd19fcfcd328be139a796e2016877814436ad",
      "parents": [
        "38331f62c20456454eed9ebea2525f072c6f1d2e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Feb 11 13:21:58 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 26 10:56:53 2010 +0100"
      },
      "message": "perf_events: Simplify code by removing cpu argument to hw_perf_group_sched_in()\n\nSince the cpu argument to hw_perf_group_sched_in() is always\nsmp_processor_id(), simplify the code a little by removing this argument\nand using the current cpu where needed.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1265890918.5396.3.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "38331f62c20456454eed9ebea2525f072c6f1d2e",
      "tree": "a285f82e0f8a9c62305f8499f966a5ec5ae3671d",
      "parents": [
        "d76a0812ac4139ceb54daab3cc70e1bd8bd9d43a"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Feb 08 17:17:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 26 10:56:53 2010 +0100"
      },
      "message": "perf_events, x86: AMD event scheduling\n\nThis patch adds correct AMD NorthBridge event scheduling.\n\nNB events are events measuring L3 cache, Hypertransport traffic. They are\nidentified by an event code \u003e\u003d 0xe0. They measure events on the\nNorthbride which is shared by all cores on a package. NB events are\ncounted on a shared set of counters. When a NB event is programmed in a\ncounter, the data actually comes from a shared counter. Thus, access to\nthose counters needs to be synchronized.\n\nWe implement the synchronization such that no two cores can be measuring\nNB events using the same counters. Thus, we maintain a per-NB allocation\ntable. The available slot is propagated using the event_constraint\nstructure.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4b703957.0702d00a.6bf2.7b7d@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d76a0812ac4139ceb54daab3cc70e1bd8bd9d43a",
      "tree": "81413e2271b310a698bec191a8f0ded5cdcfa2de",
      "parents": [
        "3a0304e90aa5a2c0c308a05d28f7d109a48d8539"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Feb 08 17:06:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 26 10:56:53 2010 +0100"
      },
      "message": "perf_events: Add new start/stop PMU callbacks\n\nIn certain situations, the kernel may need to stop and start the same\nevent rapidly. The current PMU callbacks do not distinguish between stop\nand release (i.e., stop + free the resource). Thus, a counter may be\nreleased, then it will be immediately re-acquired. Event scheduling will\nagain take place with no guarantee to assign the same counter. On some\nprocessors, this may event yield to failure to assign the event back due\nto competion between cores.\n\nThis patch is adding a new pair of callback to stop and restart a counter\nwithout actually release the underlying counter resource. On stop, the\ncounter is stopped, its values saved and that\u0027s it. On start, the value\nis reloaded and counter is restarted (on x86, actual restart is delayed\nuntil perf_enable()).\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\n[ added fallback to -\u003eenable/-\u003edisable for all other PMUs\n  fixed x86_pmu_start() to call x86_pmu.enable()\n  merged __x86_pmu_disable into x86_pmu_stop() ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4b703875.0a04d00a.7896.ffffb824@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3a0304e90aa5a2c0c308a05d28f7d109a48d8539",
      "tree": "7bb1b0344fad89429c2d87d1f0a02f0a8e4b180b",
      "parents": [
        "628ada0cb03666dd463f7c25947eaccdf440c309"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Feb 26 10:33:41 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 26 10:56:52 2010 +0100"
      },
      "message": "perf_events: Report the MMAP pgoff value in bytes\n\nDaveM reported that currently perf interprets the pgoff value reported by\nthe MMAP events as a byte range, but the kernel reports it as a page\noffset.\n\nSince its broken (and unusable) anyway, change the kernel behaviour (ABI)\nto report bytes indeed, avoiding the need for userspace to deal with\nPAGE_SIZE things.\n\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f93d0a7c83772997b81c30d6f519a9a5dbab6a9",
      "tree": "fd937bfb57964c514db2186e58c896fb7dc30647",
      "parents": [
        "1a72cfa6856e7d58e049c42c6e6a789669478479"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Sun Feb 14 11:12:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Feb 14 18:10:39 2010 +0100"
      },
      "message": "perf_events: Fix FORK events\n\nCommit 22e19085 (\"Honour event state for aux stream data\")\nintroduced a bug where we would drop FORK events.\n\nThe thing is that we deliver FORK events to the child process\u0027\nevent, which at that time will be PERF_EVENT_STATE_INACTIVE\nbecause the child won\u0027t be scheduled in (we\u0027re in the middle of\nfork).\n\nSolve this twice, change the event state filter to exclude only\ndisabled (STATE_OFF) or worse, and deliver FORK events to the\ncurrent (parent).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nLKML-Reference: \u003c1266142324.5273.411.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9717e6cd3db22eade7dbae0fc9235c66325a7132",
      "tree": "7227e92b67e91d6b7b8270e397cdf9e1e245a789",
      "parents": [
        "f24bb999d2b9f2950e5cac5b69bffedf73c24ea4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jan 28 13:57:44 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 04 09:59:49 2010 +0100"
      },
      "message": "perf_events: Optimize perf_event_task_tick()\n\nPretty much all of the calls do perf_disable/perf_enable cycles, pull\nthat out to cut back on hardware programming.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cd757645fbdc34a8343c04bb0e74e06fccc2cb10",
      "tree": "b06a5b92674731846b4d22aa53c99d6099b304b7",
      "parents": [
        "c80d292f137275a1ed88e6ed515ecb457051f1a4"
      ],
      "author": {
        "name": "Mahesh Salgaonkar",
        "email": "mahesh@linux.vnet.ibm.com",
        "time": "Sat Jan 30 10:25:18 2010 +0530"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Feb 04 01:07:12 2010 +0100"
      },
      "message": "perf: Make bp_len type to u64 generic across the arch\n\nChange \u0027bp_len\u0027 type to __u64 to make it work across archs as\nthe s390 architecture watch point length can be upto 2^64.\n\nreference:\n\thttp://lkml.org/lkml/2010/1/25/212\n\nThis is an ABI change that is not backward compatible with\nthe previous hardware breakpoint info layout integrated in this\ndevelopment cycle, a rebuilt of perf tools is necessary for\nversions based on 2.6.33-rc1 - 2.6.33-rc6 to work with a\nkernel based on this patch.\n\nSigned-off-by: Mahesh Salgaonkar \u003cmahesh@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: \"K. Prasad\" \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin \u003cschwidefsky@de.ibm.com\u003e\nLKML-Reference: \u003c20100130045518.GA20776@in.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "ae7f6711d6231c9ba54feb5ba9856c3775e482f8",
      "tree": "89070c82204b2503348e4fd6c51d25a169375545",
      "parents": [
        "64abebf731df87e6f4ae7d9ffc340bdf0c033e44",
        "b23ff0e9330e4b11e18af984d50573598e10e7f9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 29 09:24:57 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 29 10:36:22 2010 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: We want to queue up a dependent patch. Also update to\n              later -rc\u0027s.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "75c9f3284a7ff957829f44baace82406a6354ceb",
      "tree": "8e8903b75bbecbee85f0a30743f049e39b08d15d",
      "parents": [
        "18c01f8abff51e4910cc5ffb4b710e8c6eea60c9"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Fri Jan 29 09:04:26 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 29 09:15:26 2010 +0100"
      },
      "message": "perf_events: Fix sample_period transfer on inherit\n\nOne problem with frequency driven counters is that we cannot\npredict the rate at which they trigger, therefore we have to\nstart them at period\u003d1, this causes a ramp up effect. However,\nif we fail to propagate the stable state on fork each new child\nwill have to ramp up again. This can lead to significant\nartifacts in sample data.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: eranian@google.com\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1264752266.4283.2121.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "abd50713944c8ea9e0af5b7bffa0aacae21cc91a",
      "tree": "c75a352aa13821a41791877f25d2f048568827b0",
      "parents": [
        "ef12a141306c90336a3a10d40213ecd98624d274"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jan 26 18:50:16 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 27 08:39:33 2010 +0100"
      },
      "message": "perf: Reimplement frequency driven sampling\n\nThere was a bug in the old period code that caused intel_pmu_enable_all()\nor native_write_msr_safe() to show up quite high in the profiles.\n\nIn staring at that code it made my head hurt, so I rewrote it in a\nhopefully simpler fashion. Its now fully symetric between tick and\noverflow driven adjustments and uses less data to boot.\n\nThe only complication is that it basically wants to do a u128 division.\nThe code approximates that in a rather simple truncate until it fits\nfashion, taking care to balance the terms while truncating.\n\nThis version does not generate that sampling artefact.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22e190851f8709c48baf00ed9ce6144cdc54d025",
      "tree": "52e4104e23a68282dce5dfe181c1234f8764bcd9",
      "parents": [
        "fe432200abb0d64f409895168d9ad8fbb9d8e6c6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 18 09:12:32 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 21 13:40:40 2010 +0100"
      },
      "message": "perf: Honour event state for aux stream data\n\nAnton reported that perf record kept receiving events even after calling\nioctl(PERF_EVENT_IOC_DISABLE). It turns out that FORK,COMM and MMAP\nevents didn\u0027t respect the disabled state and kept flowing in.\n\nReported-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Anton Blanchard \u003canton@samba.org\u003e\nLKML-Reference: \u003c1263459187.4244.265.camel@laptop\u003e\nCC: stable@kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "329c0e012b99fa2325a0be205c052e4aba690f16",
      "tree": "07a0ae5bf264c622525d315d87b95ad5f6a22044",
      "parents": [
        "7defb0f879bbcfe29e3c6f29d685d4f29b7a0700"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 17 12:56:05 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 17 13:11:05 2010 +0100"
      },
      "message": "perf: Better order flexible and pinned scheduling\n\nWhen a task gets scheduled in. We don\u0027t touch the cpu bound events\nso the priority order becomes:\n\n\tcpu pinned, cpu flexible, task pinned, task flexible.\n\nSo schedule out cpu flexibles when a new task context gets in\nand correctly order the groups to schedule in:\n\n\ttask pinned, cpu flexible, task flexible.\n\nCpu pinned groups don\u0027t need to be touched at this time.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\n"
    },
    {
      "commit": "7defb0f879bbcfe29e3c6f29d685d4f29b7a0700",
      "tree": "4fa8b96fb0e52cebf90f26911929a2c3e54bde49",
      "parents": [
        "5b0311e1f2464547fc6f17a82d7ea2538c8c7a70"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 17 12:15:31 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 17 13:09:51 2010 +0100"
      },
      "message": "perf: Don\u0027t schedule out/in pinned events on task tick\n\nWe don\u0027t need to schedule in/out pinned events on task tick,\nnow that pinned and flexible groups can be scheduled separately.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\n"
    },
    {
      "commit": "5b0311e1f2464547fc6f17a82d7ea2538c8c7a70",
      "tree": "93590c875873a6d1d6431f4dd13fb52115da30cf",
      "parents": [
        "42cce92f4ddfa41e2dfe26fdcad4887943c032f2"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 17 11:59:13 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 17 13:08:57 2010 +0100"
      },
      "message": "perf: Allow pinned and flexible groups to be scheduled separately\n\nTune the scheduling helpers so that we can choose to schedule either\npinned and/or flexible groups from a context.\n\nAnd while at it, refactor a bit the naming of these helpers to make\nthese more consistent and flexible.\n\nThere is no (intended) change in scheduling behaviour in this\npatch.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\n"
    },
    {
      "commit": "42cce92f4ddfa41e2dfe26fdcad4887943c032f2",
      "tree": "e0e6761b371ca2a29db95ebfd45ea538e6669277",
      "parents": [
        "0eda7385db1f30271ade830a231006938a76fb53"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 17 10:36:08 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 17 13:08:01 2010 +0100"
      },
      "message": "perf: Make __perf_event_sched_out static\n\n__perf_event_sched_out doesn\u0027t need to be globally available, make\nit static.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\n"
    },
    {
      "commit": "d6f962b57bfaab62891c7abbf1469212a56d6103",
      "tree": "189bfea3e87fb61d3b068e050b794f3b8ad7d483",
      "parents": [
        "e286417378b4f9ce6e473b556193465ab22e12ab"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Jan 10 01:25:51 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 16 12:30:40 2010 +0100"
      },
      "message": "perf: Export software-only event group characteristic as a flag\n\nBefore scheduling an event group, we first check if a group can go\non. We first check if the group is made of software only events\nfirst, in which case it is enough to know if the group can be\nscheduled in.\n\nFor that purpose, we iterate through the whole group, which is\nwasteful as we could do this check when we add/delete an event to\na group.\n\nSo we create a group_flags field in perf event that can host\ncharacteristics from a group of events, starting with a first\nPERF_GROUP_SOFTWARE flag that reduces the check on the fast path.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\n"
    },
    {
      "commit": "e286417378b4f9ce6e473b556193465ab22e12ab",
      "tree": "03da147ea654d6475ae3c739906c4e8f6804d0db",
      "parents": [
        "5908cdc85eb30f8d07f2cb11d4a62334d7229048"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 09 21:05:28 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 16 12:30:28 2010 +0100"
      },
      "message": "perf: Round robin flexible groups of events using list_rotate_left()\n\nThis is more proper that doing it through a list_for_each_entry()\nthat breaks after the first entry.\n\nv2: Don\u0027t rotate pinned groups as its not needed to time share\nthem.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\n"
    },
    {
      "commit": "889ff0150661512d79484219612b7e2e024b6c07",
      "tree": "6343ad7386aa3aefa7fe3f8ab9389f6abec1d141",
      "parents": [
        "881516eb828a3f7276c378bcef96b7788fc99016"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 09 20:04:47 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Jan 16 12:27:42 2010 +0100"
      },
      "message": "perf/core: Split context\u0027s event group list into pinned and non-pinned lists\n\nSplit-up struct perf_event_context::group_list into pinned_groups\nand flexible_groups (non-pinned).\n\nThis first appears to be useless as it duplicates various loops around\nthe group list handlings.\n\nBut it scales better in the fast-path in perf_sched_in(). We don\u0027t\nanymore iterate twice through the entire list to separate pinned and\nnon-pinned scheduling. Instead we interate through two distinct lists.\n\nThe another desired effect is that it makes easier to define distinct\nscheduling rules on both.\n\nChanges in v2:\n- Respectively rename pinned_grp_list and\n  volatile_grp_list into pinned_groups and flexible_groups as per\n  Ingo suggestion.\n- Various cleanups\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\n"
    },
    {
      "commit": "61405fea92c42d072d9b8bd189689f1502a838af",
      "tree": "013ea3e7ed71f4114004d5852d40b6e89e128f76",
      "parents": [
        "9c443dfdd31eddea6cbe6ee0ca469fbcc4e1dc3b",
        "1703f2c321a8a531c393e137a82602e16c6061cb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 13 09:58:37 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 13 10:08:50 2010 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: queue up dependent patch, update to -rc4\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "952363c90c93e967c8e1819131b68cbb6f9c962f",
      "tree": "d68303e8615d56cff385ee1331ab536994e8096f",
      "parents": [
        "2d959e95658a0224b0dd0d787926d5ffc95f9574",
        "05cbaa2853cdfc255fdd04e65a82bfe9208c4e52"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 31 11:56:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 31 11:56:24 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Fix NULL deref in inheritance code\n  perf: Pass appropriate frame pointer to dump_trace()\n"
    },
    {
      "commit": "05cbaa2853cdfc255fdd04e65a82bfe9208c4e52",
      "tree": "83a6b8ea45fe181e623aa6c532cb9176400199de",
      "parents": [
        "48b5ba9cc98d676712da29d9931f1c88e5185ff2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 30 16:00:35 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 31 13:11:31 2009 +0100"
      },
      "message": "perf: Fix NULL deref in inheritance code\n\nLiming found a NULL deref when a task has a perf context but no\ncounters  when it forks.\n\nThis can occur in two cases, a race during construction where\nthe fork hits after installing the context but before the first\ncounter gets inserted, or more reproducably, a fork after the\nlast counter is closed (which leaves the context around).\n\nReported-by: Wang Liming \u003climing.wang@windriver.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCC: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1262185684.7135.222.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "07b139c8c81b97bbe55c68daf0cbeca8b1c609ca",
      "tree": "ea410cac398bef3cc6cc7e2d2dc3527b50aac6d1",
      "parents": [
        "659d8cfbb225f1fa5a4f8671a847ef3ab5a89660"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Dec 21 14:27:35 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 28 10:33:06 2009 +0100"
      },
      "message": "perf events: Remove CONFIG_EVENT_PROFILE\n\nQuoted from Ingo:\n\n| This reminds me - i think we should eliminate CONFIG_EVENT_PROFILE -\n| it\u0027s an unnecessary Kconfig complication. If both PERF_EVENTS and\n| EVENT_TRACING is enabled we should expose generic tracepoints.\n|\n| Nor is it limited to event \u0027profiling\u0027, so it has become a misnomer as\n| well.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B2F1557.2050705@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "49f474331e563a6ecf3b1e87ec27ec5482b3e4f1",
      "tree": "e3e4b5c718fd3d35ce01d4fe015886d9f3336760",
      "parents": [
        "4cf40131a5cf4918e83b3756e58a1fc9e984f8ef"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Dec 27 11:51:52 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 28 09:21:33 2009 +0100"
      },
      "message": "perf events: Remove arg from perf sched hooks\n\nSince we only ever schedule the local cpu, there is no need to pass the\ncpu number to the perf sched hooks.\n\nThis micro-optimizes things a bit.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "628ff7c1d8d8466a5ad8078bd0206a130f8b8a51",
      "tree": "cc7ab0c90849be38e200fc6ff6a3a09e3caf0405",
      "parents": [
        "ed2617585f39dd12fae38c657bba68b9779ea10d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Fri Dec 18 09:41:24 2009 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 22 12:27:34 2009 -0500"
      },
      "message": "anonfd: Allow making anon files read-only\n\nIt seems a couple places such as arch/ia64/kernel/perfmon.c and\ndrivers/infiniband/core/uverbs_main.c could use anon_inode_getfile()\ninstead of a private pseudo-fs + alloc_file(), if only there were a way\nto get a read-only file.  So provide this by having anon_inode_getfile()\ncreate a read-only file if we pass O_RDONLY in flags.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eca9dfcd0029c8a84b1094bb84a2fb53e4addf6c",
      "tree": "2e5982fef1e737ce5f8936981c7dc7fb50fc655c",
      "parents": [
        "3981e152864fcc1dbbb564e1f4c0ae11a09639d2",
        "b5b60fda1e462a849bc37dfbace2888191be82cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:48:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 19 09:48:42 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf session: Make events_stats u64 to avoid overflow on 32-bit arches\n  hw-breakpoints: Fix hardware breakpoints -\u003e perf events dependency\n  perf events: Dont report side-band events on each cpu for per-task-per-cpu events\n  perf events, x86/stacktrace: Fix performance/softlockup by providing a special frame pointer-only stack walker\n  perf events, x86/stacktrace: Make stack walking optional\n  perf events: Remove unused perf_counter.h header file\n  perf probe: Check new event name\n  kprobe-tracer: Check new event/group name\n  perf probe: Check whether debugfs path is correct\n  perf probe: Fix libdwarf include path for Debian\n"
    },
    {
      "commit": "5d27c23df09b702868d9a3bff86ec6abd22963ac",
      "tree": "ce29a1253087067b3a0e4239d0936eede870ab0b",
      "parents": [
        "06d65bda75341485d32f33da474b0664819ad497"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Dec 17 13:16:32 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 17 13:21:36 2009 +0100"
      },
      "message": "perf events: Dont report side-band events on each cpu for per-task-per-cpu events\n\nAcme noticed that his FORK/MMAP numbers were inflated by about\nthe same factor as his cpu-count.\n\nThis led to the discovery of a few more sites that need to\nrespect the event-\u003ecpu filter.\n\nReported-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091217121830.215333434@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6325e30ebd6fc870315b017a5d4a6ab15bf790b",
      "tree": "fd5961e95c8aeef5b4f4517c81bedbf4a774cece",
      "parents": [
        "bea4c899f2b5fad80099aea979780ef19f9b1987"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 17 11:43:08 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Dec 17 11:43:11 2009 +1030"
      },
      "message": "cpumask: use cpu_online in kernel/perf_event.c\n\nAlso, we want to check against nr_cpu_ids, not num_possible_cpus().\nThe latter works, but the correct bounds check is \u003c nr_cpu_ids.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nTo: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8aedf8a6ae98d5d4df3254b6afb7e4432d9d8600",
      "tree": "444d19b9172009e81a0ba9e7e5be3e0910bdd978",
      "parents": [
        "bac5e54c29f352d962a2447d22735316b347b9f1",
        "60ab271617cec607380099f3ed8e84916e48323b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:32:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:32:47 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (52 commits)\n  perf record: Use per-task-per-cpu events for inherited events\n  perf record: Properly synchronize child creation\n  perf events: Allow per-task-per-cpu counters\n  perf diff: Percent calcs should use double values\n  perf diff: Change the default sort order to \"dso,symbol\"\n  perf diff: Use perf_session__fprintf_hists just like \u0027perf record\u0027\n  perf report: Fix cut\u0027n\u0027paste error recently introduced\n  perf session: Move perf report specific hits out of perf_session__fprintf_hists\n  perf tools: Move hist entries printing routines from perf report\n  perf report: Generalize perf_session__fprintf_hists()\n  perf symbols: Move symbol filtering to event__preprocess_sample()\n  perf symbols: Adopt the strlists for dso, comm\n  perf symbols: Make symbol_conf global\n  perf probe: Fix to show which probe point is not found\n  perf probe: Check symbols in symtab/kallsyms\n  perf probe: Check build-id of vmlinux\n  perf probe: Reject second attempt of adding same-name event\n  perf probe: Support event name for --add option\n  perf probe: Add glob matching support on --del\n  perf probe: Use strlist__for_each macros in probe-event.c\n  ...\n"
    },
    {
      "commit": "f4c4176f21533e22bcc292030da72bcfa105f5b8",
      "tree": "9e4376f5ff4dc3fb0f333faca94f219570df9af8",
      "parents": [
        "9b33827de63539c7c3314ddf890fb216e4acf3d8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 16 17:55:54 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 16 18:30:11 2009 +0100"
      },
      "message": "perf events: Allow per-task-per-cpu counters\n\nIn order to allow for per-task-per-cpu counters, useful for\nscalability when profiling task hierarchies, we allow installing\nevents with event-\u003ecpu !\u003d -1 in task contexts.\n\n__perf_event_sched_in() already skips events where -\u003ecpu\nmis-matches the current cpu, fix up __perf_install_in_context()\nand __perf_event_enable() to also respect this filter.\n\nThis does lead to vary hard to interpret enabled/running times\nfor such counters, but I don\u0027t see a simple solution for that.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: fweisbec@gmail.com\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091216165904.831451147@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f13c12c634e124d5d31f912b969d542a016d6105",
      "tree": "bbb5796189ba8c2755cc14880c2216862c2fc540",
      "parents": [
        "cdccc69003388665e1463003f0488cf8ce9cf9e8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue Dec 15 19:43:11 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 15 20:12:20 2009 +0100"
      },
      "message": "perf_events: Fix perf_event_attr layout\n\nThe miss-alignment of bp_addr created a 32bit hole, causing\ndifferent structure packings on 32 and 64 bit machines.\n\nFix that by moving __reserve_2 into that hole.\n\nFurther, remove the useless struct and redundant __bp_reserve\nmuck.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c1260902591.8023.781.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f624e7e5625f4c30c836b7a5decfe2553582391",
      "tree": "6de6f9fbb15db70007238c923efb48dcde194c20",
      "parents": [
        "a6005123ce22770dbd91bc3cb637ce0807ab959b"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Dec 15 19:40:32 2009 +1100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 15 13:09:55 2009 +0100"
      },
      "message": "perf_event: Fix incorrect range check on cpu number\n\nIt is quite legitimate for CPUs to be numbered sparsely, meaning\nthat it possible for an online CPU to have a number which is\ngreater than the total count of possible CPUs.\n\nCurrently find_get_context() has a sanity check on the cpu\nnumber where it checks it against num_possible_cpus().  This\ntest can fail for a legitimate cpu number if the\ncpu_possible_mask is sparsely populated.\n\nThis fixes the problem by checking the CPU number against\nnr_cpumask_bits instead, since that is the appropriate check to\nensure that the cpu number is same to pass to cpu_isset()\nsubsequently.\n\nReported-by: Michael Neuling \u003cmikey@neuling.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nTested-by: Michael Neuling \u003cmikey@neuling.org\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c20091215084032.GA18661@brick.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e625cce1b73fb38b74e5387226534f7bcbfc36fe",
      "tree": "cfdecc4326845d0601d1447aad334e78d92d3316",
      "parents": [
        "ecb49d1a639acbacfc3771cae5ec07bed5df3847"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 18:02:06 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:34 2009 +0100"
      },
      "message": "perf_event: Convert to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6f696eb17be741668810fe1f798135c7cf6733e2",
      "tree": "f9bcfe5831dfcaaad50ca68d7f04d80d8236fa56",
      "parents": [
        "c4e194e3b71ff4fed01d727c32ee1071921d28a3",
        "125580380f418000b1a06d9a54700f1191b6e561"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 20:47:30 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (57 commits)\n  x86, perf events: Check if we have APIC enabled\n  perf_event: Fix variable initialization in other codepaths\n  perf kmem: Fix unused argument build warning\n  perf symbols: perf_header__read_build_ids() offset\u0027n\u0027size should be u64\n  perf symbols: dsos__read_build_ids() should read both user and kernel buildids\n  perf tools: Align long options which have no short forms\n  perf kmem: Show usage if no option is specified\n  sched: Mark sched_clock() as notrace\n  perf sched: Add max delay time snapshot\n  perf tools: Correct size given to memset\n  perf_event: Fix perf_swevent_hrtimer() variable initialization\n  perf sched: Fix for getting task\u0027s execution time\n  tracing/kprobes: Fix field creation\u0027s bad error handling\n  perf_event: Cleanup for cpu_clock_perf_event_update()\n  perf_event: Allocate children\u0027s perf_event_ctxp at the right time\n  perf_event: Clean up __perf_event_init_context()\n  hw-breakpoints: Modify breakpoints without unregistering them\n  perf probe: Update perf-probe document\n  perf probe: Support --del option\n  trace-kprobe: Support delete probe syntax\n  ...\n"
    },
    {
      "commit": "5e855db5d8fec44e6604eb245aa9077bbd3f0d05",
      "tree": "480a7af69a0168ea3a6b05a21e10dd964fd44ac1",
      "parents": [
        "7931241694b25589658b1ceb02218d2750540ae0"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Dec 10 17:08:54 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 17:23:02 2009 +0100"
      },
      "message": "perf_event: Fix variable initialization in other codepaths\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B20BAA6.7010609@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "21140f4d3387aa2213f1deea0128df1dbf924379",
      "tree": "16a5920041cc8f263e5680c88d68969a2147f8e3",
      "parents": [
        "c0c9e72150c07b4a6766cd24a6f685ec2dc9c343"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Dec 10 14:00:51 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 10 07:11:05 2009 +0100"
      },
      "message": "perf_event: Fix perf_swevent_hrtimer() variable initialization\n\nfix:\n\n [\u003cc0477471\u003e] ? printk+0x1d/0x24\n [\u003cc01c98f9\u003e] ? perf_prepare_sample+0x269/0x280\n [\u003cc0149231\u003e] warn_slowpath_common+0x71/0xd0\n [\u003cc01c98f9\u003e] ? perf_prepare_sample+0x269/0x280\n [\u003cc01492aa\u003e] warn_slowpath_null+0x1a/0x20\n [\u003cc01c98f9\u003e] perf_prepare_sample+0x269/0x280\n [\u003cc016e9f3\u003e] ? cpu_clock+0x53/0x90\n [\u003cc01cc368\u003e] __perf_event_overflow+0x2a8/0x300\n [\u003cc01ccc3b\u003e] perf_event_overflow+0x1b/0x30\n [\u003cc01ccccf\u003e] perf_swevent_hrtimer+0x7f/0x120\n\nThis is because \u0027data.raw\u0027 variable not initialize.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B208E93.1010801@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ec89a06fd4e12301f11ab039ee07d2353a18addc",
      "tree": "507d33bda6504dd8422b9952156d338b0200fb2b",
      "parents": [
        "b93f7978ad6b46133e9453b90ccc057dc2429e75"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Dec 09 11:30:36 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 09:56:27 2009 +0100"
      },
      "message": "perf_event: Cleanup for cpu_clock_perf_event_update()\n\nUsing atomic64_xchg() instead of atomic64_read() and\natomic64_set().\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B1F19DC.90204@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b93f7978ad6b46133e9453b90ccc057dc2429e75",
      "tree": "f3420ebd5fa80ddb1a4c3e302a64861146104385",
      "parents": [
        "aa5452d70c0d559310598b243b8b1033c10056e7"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Dec 09 11:29:44 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 09:56:27 2009 +0100"
      },
      "message": "perf_event: Allocate children\u0027s perf_event_ctxp at the right time\n\nIn current code, children task will allocate memory for\n\u0027child-\u003eperf_event_ctxp\u0027 if the parent is counted, we can\ndo it only if the parent allowed children inherit it.\n\nIt can save memory and reduce overhead.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B1F19A8.5040805@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "aa5452d70c0d559310598b243b8b1033c10056e7",
      "tree": "80f1c0b1137722a71623254c93bec20e33f4b19d",
      "parents": [
        "44234adcdce38f83c56e05f808ce656175b4beeb"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Dec 09 11:28:13 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 09:56:27 2009 +0100"
      },
      "message": "perf_event: Clean up __perf_event_init_context()\n\nClean up the code a bit:\n\n - define \u0027perf_cpu_context\u0027 variable with \u0027static\u0027\n - use kzalloc() instead of kmalloc() and memset()\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B1F194D.7080306@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "44234adcdce38f83c56e05f808ce656175b4beeb",
      "tree": "caff2ca7bbf4bf7c0b12652caf739bcc6db5f4d3",
      "parents": [
        "c937fe20cb6d9e24c6ad5f9f0c64d64c78411057"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Dec 09 09:25:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 09 09:48:20 2009 +0100"
      },
      "message": "hw-breakpoints: Modify breakpoints without unregistering them\n\nCurrently, when ptrace needs to modify a breakpoint, like disabling\nit, changing its address, type or len, it calls\nmodify_user_hw_breakpoint(). This latter will perform the heavy and\nracy task of unregistering the old breakpoint and registering a new\none.\n\nThis is racy as someone else might steal the reserved breakpoint\nslot under us, which is undesired as the breakpoint is only\nsupposed to be modified, sometimes in the middle of a debugging\nworkflow. We don\u0027t want our slot to be stolen in the middle.\n\nSo instead of unregistering/registering the breakpoint, just\ndisable it while we modify its breakpoint fields and re-enable it\nafter if necessary.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c1260347148-5519-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d014d043869cdc591f3a33243d3481fa4479c2d0",
      "tree": "63626829498e647ba058a1ce06419fe7e4d5f97d",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "6070d81eb5f2d4943223c96e7609a53cdc984364"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\n\tkernel/irq/chip.c\n"
    },
    {
      "commit": "b326e9560a28fc3e950637ef51847ed8f05c1335",
      "tree": "0804c8c4f28d4ae152d5e9205ce5a958f0d26b79",
      "parents": [
        "2f0993e0fb663c49e4d1e02654f6203246be4817"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Dec 05 09:44:31 2009 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Dec 06 08:27:18 2009 +0100"
      },
      "message": "hw-breakpoints: Use overflow handler instead of the event callback\n\nstruct perf_event::event callback was called when a breakpoint\ntriggers. But this is a rather opaque callback, pretty\ntied-only to the breakpoint API and not really integrated into perf\nas it triggers even when we don\u0027t overflow.\n\nWe prefer to use overflow_handler() as it fits into the perf events\nrules, being called only when we overflow.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: \"K. Prasad\" \u003cprasad@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "af901ca181d92aac3a7dc265144a9081a86d8f39",
      "tree": "380054af22521144fbe1364c3bcd55ad24c9bde4",
      "parents": [
        "972b94ffb90ea6d20c589d9a47215df103388ddd"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Nov 14 13:09:05 2009 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:55 2009 +0100"
      },
      "message": "tree-wide: fix assorted typos all over the place\n\nThat is \"success\", \"unknown\", \"through\", \"performance\", \"[re|un]mapping\"\n, \"access\", \"default\", \"reasonable\", \"[con]currently\", \"temperature\"\n, \"channel\", \"[un]used\", \"application\", \"example\",\"hierarchy\", \"therefore\"\n, \"[over|under]flow\", \"contiguous\", \"threshold\", \"enough\" and others.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "ec70ccd806111ba3caf596def91a8580138b12db",
      "tree": "e497d38d9f75a684475f32678efe8ffb22457c34",
      "parents": [
        "bdad0db7dbdb37d0bb3c7d0f65cd3ff599ea6ecb"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@bitplanet.net",
        "time": "Tue Dec 01 15:05:01 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 02 09:30:18 2009 +0100"
      },
      "message": "perf: Don\u0027t free perf_mmap_data until work has been done\n\nIn the CONFIG_PERF_USE_VMALLOC case, perf_mmap_data_free() only\nschedules the cleanup of the perf_mmap_data struct.  In that\ncase we have to wait until the work has been done before we free\ndata.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@bitplanet.net\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1259697901-1747-1-git-send-email-krh@bitplanet.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "59d069eb5ae9b033ed1c124c92e1532c4a958991",
      "tree": "c9668a2163edbb9055f8888e883920f6133d836b",
      "parents": [
        "b498ce1f2753b9724b2fc05d2057f7d1490cfa93"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Tue Dec 01 17:30:08 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 01 11:19:07 2009 +0100"
      },
      "message": "perf_event: Initialize data.period in perf_swevent_hrtimer()\n\nIn current code in perf_swevent_hrtimer(), data.period is not\ninitialized, The result is obvious wrong:\n\n # ./perf record -f -e cpu-clock make\n # ./perf report\n # Samples: 1740\n #\n # Overhead   Command                                   ......\n # ........  ........  ..........................................\n #\n   1025422183050275328.00%        sh  libc-2.9.90.so ...\n   1025422183050275328.00%      perl  libperl.so     ...\n   1025422168240043264.00%      perl  [kernel]       ...\n   1025422030011210752.00%      perl  [kernel]       ...\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c4B14E220.2050107@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b2e74a265ded1a185f762ebaab967e9e0d008dd8",
      "tree": "bdfefc2d8376bde15f1defab28201c341c9d6e0c",
      "parents": [
        "4d795fb17a02a87e35782773b88b7a63acfbeaae"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Nov 26 09:24:30 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 18:49:59 2009 +0100"
      },
      "message": "perf_events: Fix read() bogus counts when in error state\n\nWhen a pinned group cannot be scheduled it goes into error state.\n\nNormally a group cannot go out of error state without being\nexplicitly re-enabled or disabled. There was a bug in per-thread\nmode, whereby upon termination of the thread, the group would\ntransition from error to off leading to bogus counts and timing\ninformation returned by read().\n\nFix it by clearing the error state.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: perfmon2-devel@lists.sourceforge.net\nLKML-Reference: \u003c4b0eb9ce.0508d00a.573b.ffffeab6@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80bbf6b641c8843b9d751a1f299aa7ee073ab9d4",
      "tree": "c46005b9160e6a5fba1f026918e0af2a4a758b08",
      "parents": [
        "11e6635763bdc0e24b39a38876574660755acffc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Nov 25 21:20:53 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 10:40:51 2009 +0100"
      },
      "message": "hw-breakpoints: Fix unused function in off-case\n\nbp_perf_event_destroy() is unused in its off-case version, let\u0027s\nremove it to fix the following warning reported by Stephen\nRothwell in linux-next:\n\n  kernel/perf_event.c:4306: warning: \u0027bp_perf_event_destroy\u0027 defined but not used\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c1259180453-5813-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6567f642e20bcc79abed030f44be5b0d6da2ded",
      "tree": "eff0dee5075d220b46019019f8e0d8e8a7bd30f3",
      "parents": [
        "d99be40aff88722ab03ee295e4f6c13a4cca9a3d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Nov 26 05:35:41 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 09:29:21 2009 +0100"
      },
      "message": "hw-breakpoints: Improve in-kernel event creation error granularity\n\nIn fail case, perf_event_create_kernel_counter() returns NULL\ninstead of an error, which doesn\u0027t help us to inform the user\nabout the origin of the problem from the outer most callers.\nOften we can just return -EINVAL, which doesn\u0027t help anyone when\nit\u0027s eventually about a memory allocation failure.\n\nThen, this patch makes perf_event_create_kernel_counter() always\nreturn a detailed error code.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c1259210142-5714-2-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fe6126722718e51fba4879517c11ac12d9775bcc",
      "tree": "12a2c8f0f39fd1051dfa0a1132f5c07f9a733362",
      "parents": [
        "1261a02a0c0ab8e643125705f0d1d83e5090e4d1"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Nov 24 20:38:22 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 24 21:34:00 2009 +0100"
      },
      "message": "perf_events: Fix bad software/trace event recursion counting\n\nCommit 4ed7c92d68a5387ba5f7030dc76eab03558e27f5\n(perf_events: Undo some recursion damage) has introduced a bad\nreference counting of the recursion context. putting the context\nbehaves like getting it, dropping every software/trace events\nafter the first one in a context.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1259091502-5171-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "184d3da8ef0ca552dffa0fdd35c046e058a2cf9a",
      "tree": "4f7bc687cea6ce6ee13a8beec59d8ae7081dfb64",
      "parents": [
        "b23d5767a5818caec8547d0bce1588b02bdecd30"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Nov 23 21:40:49 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Nov 24 08:55:27 2009 +0100"
      },
      "message": "perf_events: Fix bogus copy_to_user() in perf_event_read_group()\n\nWhen using an event group, the value and id for non leaders events\nwere wrong due to invalid offset into the outgoing buffer.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: paulus@samba.org\nCc: perfmon2-devel@lists.sourceforge.net\nLKML-Reference: \u003c4b0b71e1.0508d00a.075e.ffff84a3@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f5ffe02e5046003ae7e2ce70d3d1c2a73331268b",
      "tree": "ed300505d80941e2ea95746f65a1b9eacfd4562f",
      "parents": [
        "fdf6bc95229821e3d9405eba28925b76e92b74d0"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Nov 23 15:42:34 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 18:18:31 2009 +0100"
      },
      "message": "perf: Add kernel side syscall events support for breakpoints\n\nAdd the remaining necessary bits to support breakpoints created\nthrough perf syscall.\n\nWe don\u0027t use the software counter interface as:\n\n- We don\u0027t need to check against recursion, this is already done\n  in hardware breakpoints arch level.\n\n- We already know the perf event we are dealing with when the\n  event is to be committed.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c1258987355-8751-3-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acd1d7c1f8f3d848a3c5327dc09f8c1efb971678",
      "tree": "88ec283110f78cf803c71a3d1d919a422f2f13c5",
      "parents": [
        "4ed7c92d68a5387ba5f7030dc76eab03558e27f5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Nov 23 15:00:36 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 15:22:19 2009 +0100"
      },
      "message": "perf_events: Restore sanity to scaling land\n\nIt is quite possible to call update_event_times() on a context\nthat isn\u0027t actually running and thereby confuse the thing.\n\nperf stat was reporting !100% scale values for software counters\n(2e2af50b perf_events: Disable events when we detach them,\nsolved the worst of that, but there was still some left).\n\nThe thing that happens is that because we are not self-reaping\n(we have a caring parent) there is a time between the last\nschedule (out) and having do_exit() called which will detach the\nevents.\n\nThis period would be accounted as enabled,!running because the\nevent-\u003estate\u003d\u003dINACTIVE, even though !event-\u003ectx-\u003eis_active.\n\nSimilar issues could have been observed by calling read() on a\nevent while the attached task was not scheduled in.\n\nSolve this by teaching update_event_times() about\nctx-\u003eis_active.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1258984836.4531.480.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4ed7c92d68a5387ba5f7030dc76eab03558e27f5",
      "tree": "38d758819c41261275c2dbd6f64976f824c5fd27",
      "parents": [
        "f67218c3e93abaf0f480bb94b53d234853ffe4de"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:29 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:57 2009 +0100"
      },
      "message": "perf_events: Undo some recursion damage\n\nMake perf_swevent_get_recursion_context return a context number\nand disable preemption.\n\nThis could be used to remove the IRQ disable from the trace bit\nand index the per-cpu buffer with.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091123103819.993226816@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f67218c3e93abaf0f480bb94b53d234853ffe4de",
      "tree": "8b82587c79c53376b9295e543932d746fd725260",
      "parents": [
        "5e942bb33371254a474653123cd9e13a4c89ee44"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:27 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:57 2009 +0100"
      },
      "message": "perf_events: Fix __perf_event_exit_task() vs. update_event_times() locking\n\nMove the update_event_times() call in __perf_event_exit_task()\ninto list_del_event() because that holds the proper lock\n(ctx-\u003elock) and seems a more natural place to do the last time\nupdate.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091123103819.842455480@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e942bb33371254a474653123cd9e13a4c89ee44",
      "tree": "2159878d96ea60de9b530b052390b8ca069f1e98",
      "parents": [
        "2e2af50b1fab3c40636839a7f439c167ae559533"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:26 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:56 2009 +0100"
      },
      "message": "perf_events: Update the context time on exit\n\nIt appeared we did call update_event_times() on exit, but we\nfailed to update the context time, which renders the former\nmoot.\n\nLocking is a bit iffy, we call update_event_times under\nctx-\u003emutex instead of ctx-\u003elock - the next patch fixes this.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091123103819.764207355@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e2af50b1fab3c40636839a7f439c167ae559533",
      "tree": "227e0bfd12757fb90d403440f318e7337144c468",
      "parents": [
        "6c2bfcbe58e0dd39554be88940149f5aa11e17d1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:25 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:56 2009 +0100"
      },
      "message": "perf_events: Disable events when we detach them\n\nIf we leave the event in STATE_INACTIVE, any read of the event\nafter the detach will increase the running count but not the\nenabled count and cause funny scaling artefacts.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091123103819.689055515@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c2bfcbe58e0dd39554be88940149f5aa11e17d1",
      "tree": "05b8246173a23f418c2b724d111c37a6429e426d",
      "parents": [
        "a66a3052e2d4c5815d7ad26887b1d4193206e691"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:24 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:55 2009 +0100"
      },
      "message": "perf_events: Fix style nits\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20091123103819.613427378@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a66a3052e2d4c5815d7ad26887b1d4193206e691",
      "tree": "4f8043ef4bccf3779b5d7d180d82cf18f451e025",
      "parents": [
        "a4234bfcf4d72a10a99176cdef007345e9c3b4aa"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 23 11:37:23 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:49:55 2009 +0100"
      },
      "message": "perf_events: Undo copy/paste damage\n\nWe had two almost identical functions, avoid the duplication.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003c20091123103819.537537928@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4234bfcf4d72a10a99176cdef007345e9c3b4aa",
      "tree": "240da1dbbdd6d2f88e9491774e623dc82caaa911",
      "parents": [
        "6e3d8330ae2c4b2c11a9577a0130d2ecda1c610d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 10:57:59 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 23 11:48:27 2009 +0100"
      },
      "message": "perf_events: Optimize the swcounter hotpath\n\nThe structure init creates a bit memcpy, which shows\nup big time in perf annotate output:\n\n          :      ffffffff810a859d \u003c__perf_sw_event\u003e:\n     1.68 :      ffffffff810a859d:       55                      push   %rbp\n     1.69 :      ffffffff810a859e:       41 89 fa                mov    %edi,%r10d\n     0.01 :      ffffffff810a85a1:       49 89 c9                mov    %rcx,%r9\n     0.00 :      ffffffff810a85a4:       31 c0                   xor    %eax,%eax\n     1.71 :      ffffffff810a85a6:       b9 16 00 00 00          mov    $0x16,%ecx\n     0.00 :      ffffffff810a85ab:       48 89 e5                mov    %rsp,%rbp\n     0.00 :      ffffffff810a85ae:       48 83 ec 60             sub    $0x60,%rsp\n     1.52 :      ffffffff810a85b2:       48 8d 7d a0             lea    -0x60(%rbp),%rdi\n    85.20 :      ffffffff810a85b6:       f3 ab                   rep stos %eax,%es:(%rdi)\n\nNone of the callees depends on the structure being pre-initialized,\nso only initialize -\u003eaddr. This gets rid of the memcpy overhead.\n\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "645e8cc0c9f01f07f384fd522b782e5e6ae9de18",
      "tree": "8db943dfb81ebb18015442089963e43a489e8619",
      "parents": [
        "e57cfcdac6badd846a1cd831de54a1359c2d1eea"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 12:20:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 12:21:33 2009 +0100"
      },
      "message": "perf_events: Fix modular build\n\nFix:\n\n  ERROR: \"perf_swevent_put_recursion_context\" [fs/ext4/ext4.ko] undefined!\n  ERROR: \"perf_swevent_get_recursion_context\" [fs/ext4/ext4.ko] undefined!\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003c1258864015-10579-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96b02d78a7e47cd189f6b307c5513fec6b2155dc",
      "tree": "0bdd5060e9a01366cc2fab1ae8359743ad15e77d",
      "parents": [
        "5093ebad5f2348076fdc3dac7d2358b1ad7f85f7"
      ],
      "author": {
        "name": "Márton Németh",
        "email": "nm127@freemail.hu",
        "time": "Sat Nov 21 23:10:15 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 09:49:26 2009 +0100"
      },
      "message": "perf_event: Remove redundant zero fill\n\nThe buffer is first zeroed out by memset(). Then strncpy() is\nused to fill the content. The strncpy() function also pads the\nstring till the end of the specified length, which is redundant.\nThe strncpy() does not ensures that the string will be properly\nclosed with 0. Use strlcpy() instead.\n\nThe semantic match that finds this kind of pattern is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression buffer;\nexpression size;\nexpression str;\n@@\n\tmemset(buffer, 0, size);\n\t...\n-\tstrncpy(\n+\tstrlcpy(\n\tbuffer, str, sizeof(buffer)\n\t);\n@@\nexpression buffer;\nexpression size;\nexpression str;\n@@\n\tmemset(\u0026buffer, 0, size);\n\t...\n-\tstrncpy(\n+\tstrlcpy(\n\t\u0026buffer, str, sizeof(buffer));\n@@\nexpression buffer;\nidentifier field;\nexpression size;\nexpression str;\n@@\n\tmemset(buffer, 0, size);\n\t...\n-\tstrncpy(\n+\tstrlcpy(\n\tbuffer-\u003efield, str, sizeof(buffer-\u003efield)\n\t);\n@@\nexpression buffer;\nidentifier field;\nexpression size;\nexpression str;\n@@\n\tmemset(\u0026buffer, 0, size);\n\t...\n-\tstrncpy(\n+\tstrlcpy(\n\tbuffer.field, str, sizeof(buffer.field));\n// \u003c/smpl\u003e\n\nOn strncpy() vs strlcpy() see\nhttp://www.gratisoft.us/todd/papers/strlcpy.html .\n\nSigned-off-by: Márton Németh \u003cnm127@freemail.hu\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: cocci@diku.dk\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c4B086547.5040100@freemail.hu\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ce71b9df8893ec954e56c5979df6da274f20f65e",
      "tree": "76e8a5e33393c2f4fca4083628fc142dcbb55250",
      "parents": [
        "e25613683bd5c46d3e8c8ae6416dccc9f357dcdc"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Nov 22 05:26:55 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 22 09:03:42 2009 +0100"
      },
      "message": "tracing: Use the perf recursion protection from trace event\n\nWhen we commit a trace to perf, we first check if we are\nrecursing in the same buffer so that we don\u0027t mess-up the buffer\nwith a recursing trace. But later on, we do the same check from\nperf to avoid commit recursion. The recursion check is desired\nearly before we touch the buffer but we want to do this check\nonly once.\n\nThen export the recursion protection from perf and use it from\nthe trace events before submitting a trace.\n\nv2: Put appropriate Reported-by tag\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003c1258864015-10579-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8904b18046c2f050107f6449e887e7c1142b9ab9",
      "tree": "c0a23af5059b60f3dd565e2a2a88c8737979588f",
      "parents": [
        "6f10581aeaa5543a3b7a8c7a87a064375ec357f8"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@gmail.com",
        "time": "Fri Nov 20 22:19:57 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:41 2009 +0100"
      },
      "message": "perf_events: Fix default watermark calculation\n\nThis patch fixes the default watermark value for the sampling\nbuffer. With the existing calculation (watermark \u003d\nmax(PAGE_SIZE, max_size / 2)), no notification was ever received\nwhen the buffer was exactly 1 page. This was because you would\nnever cross the threshold (there is no partial samples).\n\nIn certain configuration, there was no possibilty detecting the\nproblem because there was not enough space left to store the\nLOST record.In fact, there may be a more generic problem here.\nThe kernel should ensure that there is alaways enough space to\nstore one LOST record.\n\nThis patch sets the default watermark to half the buffer size.\nWith such limit, we are guaranteed to get a notification even\nwith a single page buffer assuming no sample is bigger than a\npage.\n\nSigned-off-by: Stephane Eranian \u003ceranian@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212509.344964101@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nLKML-Reference: \u003c1256302576-6169-1-git-send-email-eranian@gmail.com\u003e\n"
    },
    {
      "commit": "6f10581aeaa5543a3b7a8c7a87a064375ec357f8",
      "tree": "57b94ae6f96d8a2e12bd8537a54b75d652636e00",
      "parents": [
        "59ed446f792cc07d37b1536b9c4664d14e25e425"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:56 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:40 2009 +0100"
      },
      "message": "perf: Fix locking for PERF_FORMAT_GROUP\n\nWe should hold event-\u003echild_mutex when iterating the inherited\ncounters, we should hold ctx-\u003emutex when iterating siblings.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212509.251030114@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "59ed446f792cc07d37b1536b9c4664d14e25e425",
      "tree": "707c009e252b082ffac5c5209f4bdc013b1b5c62",
      "parents": [
        "2b8988c9f7defe319cffe0cd362a7cd356c86f62"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:55 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:40 2009 +0100"
      },
      "message": "perf: Fix event scaling for inherited counters\n\nProperly account the full hierarchy of counters for both the\ncount (we already did so) and the scale times (new).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212509.153379276@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2b8988c9f7defe319cffe0cd362a7cd356c86f62",
      "tree": "0b9dde7d4c4304eaa1b701897609b1918d72e0f3",
      "parents": [
        "58e5ad1de3d6ad931c84f0cc8ef0655c922f30ad"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:54 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:39 2009 +0100"
      },
      "message": "perf: Fix time locking\n\nMost sites updating ctx-\u003etime and event times do so under\nctx-\u003elock, make sure they all do.\n\nThis was made possible by removing the __perf_event_read() call\nfrom __perf_event_sync_stat(), which already had this lock\ntaken.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212509.102316434@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "58e5ad1de3d6ad931c84f0cc8ef0655c922f30ad",
      "tree": "f3b018f0f8ceaf21747b5e1d912ad30b40d00779",
      "parents": [
        "3dbebf15c5d3e265f751eec72c1538a00da4be27"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:53 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:39 2009 +0100"
      },
      "message": "perf: Simplify __perf_event_read\n\ncpuctx is always active, task context is always active for\ncurrent\n\nthe previous condition verifies that if its a task context its\nfor current, hence we can assume ctx-\u003eis_active.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212509.000272254@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3dbebf15c5d3e265f751eec72c1538a00da4be27",
      "tree": "66aa74aee095f2031b7c79a3762e22ca2a765174",
      "parents": [
        "f6f83785222b0ee037f7be90731f62a649292b5e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:52 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:39 2009 +0100"
      },
      "message": "perf: Simplify __perf_event_sync_stat\n\nRemoves constraints from __perf_event_read() by leaving it with\na single callsite; this callsite had ctx-\u003elock held, the other\none does not.\n\nRemoves some superfluous code from __perf_event_sync_stat().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.918544317@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6f83785222b0ee037f7be90731f62a649292b5e",
      "tree": "fcafe2c4addc41ac2d65eb29c45ff2cee240efc3",
      "parents": [
        "02ffdbc866c8b1c8644601e9aa6155700eed4c91"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:51 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:38 2009 +0100"
      },
      "message": "perf: Optimize __perf_event_read()\n\nBoth callers actually have IRQs disabled, no need doing so\nagain.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.863685796@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "02ffdbc866c8b1c8644601e9aa6155700eed4c91",
      "tree": "fd5c0cfbbadc22e123aa25c17c74ac69f8b14887",
      "parents": [
        "abf4868b8548cae18d4fe8bbfb4e207443be01be"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:50 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:38 2009 +0100"
      },
      "message": "perf: Optimize perf_event_task_sched_out\n\nRemove an update_context_time() call from the\nperf_event_task_sched_out() path and into the branch its needed.\n\nThe call was both superfluous, because __perf_event_sched_out()\nalready does it, and wrong, because it was done without holding\nctx-\u003elock.\n\nPlace it in perf_event_sync_stat(), which is the only place it\nis needed and which does already hold ctx-\u003elock.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.779516394@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "abf4868b8548cae18d4fe8bbfb4e207443be01be",
      "tree": "0a8900bb5413826bc1f3ac9ccc435c4750dfedab",
      "parents": [
        "f6d9dd237da400effb265f3554c64413f8a3e7b4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:49 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:37 2009 +0100"
      },
      "message": "perf: Fix PERF_FORMAT_GROUP scale info\n\nAs Corey reported, the total_enabled and total_running times\ncould occasionally be 0, even though there were events counted.\n\nIt turns out this is because we record the times before reading\nthe counter while the latter updates the times.\n\nThis patch corrects that.\n\nWhile looking at this code I found that there is a lot of\nlocking iffyness around, the following patches correct most of\nthat.\n\nReported-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.685559857@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6d9dd237da400effb265f3554c64413f8a3e7b4",
      "tree": "d06e7ec3385697a638b18c6890c087f0ac8e329b",
      "parents": [
        "f6595f3a9680c86b6332f881a7ae2cbbcfdc8619"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:37 2009 +0100"
      },
      "message": "perf: Optimize perf_event_mmap_ctx()\n\nRemove a rcu_read_{,un}lock() pair and a few conditionals.\n\nWe can remove the rcu_read_lock() by increasing the scope of one\nin the calling function.\n\nWe can do away with the system_state check if the machine still\nboots after this patch (seems to be the case).\n\nWe can do away with the list_empty() check because the bare\nlist_for_each_entry_rcu() reduces to that now that we\u0027ve removed\neverything else.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.606459548@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f6595f3a9680c86b6332f881a7ae2cbbcfdc8619",
      "tree": "e536eae39be3de42c2c48b5ab3a7eef198aa201f",
      "parents": [
        "d6ff86cfb50a72df820e7e839836d55d245306fb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:47 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:36 2009 +0100"
      },
      "message": "perf: Optimize perf_event_comm_ctx()\n\nRemove a rcu_read_{,un}lock() pair and a few conditionals.\n\nWe can remove the rcu_read_lock() by increasing the scope of one\nin the calling function.\n\nWe can do away with the system_state check if the machine still\nboots after this patch (seems to be the case).\n\nWe can do away with the list_empty() check because the bare\nlist_for_each_entry_rcu() reduces to that now that we\u0027ve removed\neverything else.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.527608793@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6ff86cfb50a72df820e7e839836d55d245306fb",
      "tree": "e615cbbc693da8c5000d5eb3a022207c7f85605a",
      "parents": [
        "81520183878a8813c71c9372de28bb70913ba549"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:36 2009 +0100"
      },
      "message": "perf: Optimize perf_event_task_ctx()\n\nRemove a rcu_read_{,un}lock() pair and a few conditionals.\n\nWe can remove the rcu_read_lock() by increasing the scope of one\nin the calling function.\n\nWe can do away with the system_state check if the machine still\nboots after this patch (seems to be the case).\n\nWe can do away with the list_empty() check because the bare\nlist_for_each_entry_rcu() reduces to that now that we\u0027ve removed\neverything else.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.452227115@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "81520183878a8813c71c9372de28bb70913ba549",
      "tree": "06604995dae8879091a310a3c9a9cb18d38cf62f",
      "parents": [
        "0cff784ae41cc125368ae77f1c01328ae2fdc6b3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:35 2009 +0100"
      },
      "message": "perf: Optimize perf_swevent_ctx_event()\n\nRemove a rcu_read_{,un}lock() pair and a few conditionals.\n\nWe can remove the rcu_read_lock() by increasing the scope of one\nin the calling function.\n\nWe can do away with the system_state check if the machine still\nboots after this patch (seems to be the case).\n\nWe can do away with the list_empty() check because the bare\nlist_for_each_entry_rcu() reduces to that now that we\u0027ve removed\neverything else.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.378188589@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0cff784ae41cc125368ae77f1c01328ae2fdc6b3",
      "tree": "54e6f387d945d724c00bb33118ef138831a68d10",
      "parents": [
        "453f19eea7dbad837425e9b07d84568d14898794"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:44 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:35 2009 +0100"
      },
      "message": "perf: Optimize some swcounter attr.sample_period\u003d\u003d1 paths\n\nAvoid the rather expensive perf_swevent_set_period() if we know\nwe have to sample every single event anyway.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.299508332@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "453f19eea7dbad837425e9b07d84568d14898794",
      "tree": "3b1d757a72512b5ab566649b9eda59e032734993",
      "parents": [
        "ef6ae724253429ac70d81e65d052f6a346d330bd"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 20 22:19:43 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:11:35 2009 +0100"
      },
      "message": "perf: Allow for custom overflow handlers\n\nin-kernel perf users might wish to have custom actions on the\nsample interrupt.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20091120212508.222339539@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96200591a34f8ecb98481c626125df43a2463b55",
      "tree": "314c376b01f254d04f9aaf449b1f9147ad177fa6",
      "parents": [
        "7031281e02bf951a2259849217193fb9d75a9762",
        "68efa37df779b3e04280598e8b5b3a1919b65fee"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:07:23 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Nov 21 14:07:23 2009 +0100"
      },
      "message": "Merge branch \u0027tracing/hw-breakpoints\u0027 into perf/core\n\nConflicts:\n\tarch/x86/kernel/kprobes.c\n\tkernel/trace/Makefile\n\nMerge reason: hw-breakpoints perf integration is looking\n              good in testing and in reviews, plus conflicts\n              are mounting up - so merge \u0026 resolve.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "559fdc3c1b624edb1933a875022fe7e27934d11c",
      "tree": "b722805dbebd9584ffb981e2be84385ee0e22c67",
      "parents": [
        "7255fe2a42c612f2b8fe4c347f0a5f0c97d85a46"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Nov 16 12:45:14 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Nov 16 13:27:45 2009 +0100"
      },
      "message": "perf_event: Optimize perf_output_lock()\n\nThe purpose of perf_output_{un,}lock() is to:\n\n 1) avoid publishing incomplete data\n    [ possible when publishing a head that is ahead of an entry\n      that is still being written ]\n\n 2) guarantee fwd progress\n    [ a simple refcount on pending writers doesn\u0027t need to drop to\n      0, making it so would end up implementing something like forced\n      quiecent states of RCU ]\n\nTo satisfy the above without undue complexity it serializes\nbetween CPUs, this means that a pending writer can only be the\nsame cpu in a nested context, and since (under normal operation)\na cpu always makes progress we\u0027re good -- if the head is only\npublished when the bottom  most writer completes.\n\nNow we don\u0027t need to disable IRQs in order to serialize between\nCPUs, disabling preemption ought to be sufficient, esp since we\nalready deal with nesting due to NMIs.\n\nThis avoids potentially expensive (and needless) local IRQ\ndisable/enable ops.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1258373161.26714.254.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0ffa798d947f5f5e40690cc9d38e678080a34f87",
      "tree": "a9e25ba4431de513d4c83201429e9ff301cbaf50",
      "parents": [
        "39dc78b6510323848e3356452f7dab9499736978",
        "c86e2eaded39843e1bf4f07d1adfab4494f20894",
        "c5659b74f052150791750234f92dcfb29d27efa5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 15 09:51:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 15 09:51:24 2009 +0100"
      },
      "message": "Merge branches \u0027perf/powerpc\u0027 and \u0027perf/bench\u0027 into perf/core\n\nMerge reason: Both \u0027perf bench\u0027 and the pending PowerPC changes\n              are now ready for the next merge window.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "24f1e32c60c45c89a997c73395b69c8af6f0a84e"
}
