)]}'
{
  "log": [
    {
      "commit": "ad0cf3478de8677f720ee06393b3147819568d6a",
      "tree": "cd007170b0f20f724924ff53897bf534847e14c4",
      "parents": [
        "29979aa8bd69becd94cbad59093807a417ce2a9e"
      ],
      "author": {
        "name": "John Blackwood",
        "email": "john.blackwood@ccur.com",
        "time": "Tue Sep 28 18:03:11 2010 -0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 12 11:45:01 2010 +0200"
      },
      "message": "perf: Fix incorrect copy_from_user() usage\n\nperf events: repair incorrect use of copy_from_user\n\nThis makes the perf_event_period() return 0 instead of\n-EFAULT on success.\n\nSigned-off-by: John Blackwood\u003cjohn.blackwood@ccur.com\u003e\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20100928220311.GA18145@tsunami.ccur.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e11637e2c929e34dcc0fbbfb48bdb638937701a",
      "tree": "ed782662362ee0ea5ac888588664aeb97e6f1312",
      "parents": [
        "9cb627d5f38830ca19aa0dca52d1d3a633018bf7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 11 13:35:08 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:38:52 2010 +0200"
      },
      "message": "perf: Fix CPU hotplug\n\nSince we have UP_PREPARE, we should also have UP_CANCELED.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa66f07aa1f0950e1dc78b7ab39728b3f8aa77a1",
      "tree": "4ad4612c2fc07f159e192fae9145f9d87a697592",
      "parents": [
        "5225c45899e872383ca39f5533d28ec63c54b39e"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Thu Aug 26 16:40:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Aug 30 12:16:55 2010 +0200"
      },
      "message": "perf_events: Fix time tracking for events with pid !\u003d -1 and cpu !\u003d -1\n\nPer-thread events with a cpu filter, i.e., cpu !\u003d -1, were not\nreporting correct timings when the thread never ran on the\nmonitored cpu. The time enabled was reported as a negative\nvalue.\n\nThis patch fixes the problem by updating tstamp_stopped,\ntstamp_running in event_sched_out() for events with filters and\nwhich are marked as INACTIVE.\n\nThe function group_sched_out() is modified to systematically\ncall into event_sched_out() to avoid duplicating the timing\nadjustment code twice.\n\nWith the patch, I now get:\n\n$ task_cpu -i -e unhalted_core_cycles,unhalted_core_cycles\nnoploop 2 noploop for 2 seconds\nCPU0 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\nCPU0 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\n\nCPU1 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\nCPU1 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\n\nCPU2 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\nCPU2 0\t\t   unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d0)\n\nCPU3 4,747,990,931 unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d1,991,136,594)\nCPU3 4,747,990,931 unhalted_core_cycles (ena\u003d1,991,136,594, run\u003d1,991,136,594)\n\nSigned-off-by: Stephane Eranian \u003ceranian@gmail.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus@samba.org\nCc: davem@davemloft.net\nCc: fweisbec@gmail.com\nCc: perfmon2-devel@lists.sf.net\nCc: eranian@google.com\nLKML-Reference: \u003c4c76802d.aae9d80a.115d.70fe@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c4efd6b569b2646e1346a08a4c40286f8bcb5f11",
      "tree": "bf33e8594ac4e628cc95f2ef25513788b8273601",
      "parents": [
        "4aed2fd8e3181fea7c09ba79cf64e7e3f4413bf9",
        "0bcfe75807944106a3aa655a54bb610d62f3a7f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:39:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:39:22 2010 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)\n  sched: Use correct macro to display sched_child_runs_first in /proc/sched_debug\n  sched: No need for bootmem special cases\n  sched: Revert nohz_ratelimit() for now\n  sched: Reduce update_group_power() calls\n  sched: Update rq-\u003eclock for nohz balanced cpus\n  sched: Fix spelling of sibling\n  sched, cpuset: Drop __cpuexit from cpu hotplug callbacks\n  sched: Fix the racy usage of thread_group_cputimer() in fastpath_timer_check()\n  sched: run_posix_cpu_timers: Don\u0027t check -\u003eexit_state, use lock_task_sighand()\n  sched: thread_group_cputime: Simplify, document the \"alive\" check\n  sched: Remove the obsolete exit_state/signal hacks\n  sched: task_tick_rt: Remove the obsolete -\u003esignal !\u003d NULL check\n  sched: __sched_setscheduler: Read the RLIMIT_RTPRIO value lockless\n  sched: Fix comments to make them DocBook happy\n  sched: Fix fix_small_capacity\n  powerpc: Exclude arch_sd_sibiling_asym_packing() on UP\n  powerpc: Enable asymmetric SMT scheduling on POWER7\n  sched: Add asymmetric group packing option for sibling domain\n  sched: Fix capacity calculations for SMT4\n  sched: Change nohz idle load balancing logic to push model\n  ...\n"
    },
    {
      "commit": "4cb6948e5365ab874bb71ac35fb6b7c6dd305765",
      "tree": "0af0f44cce9043f3d66b7259536c6c99b790d9b0",
      "parents": [
        "89275d59b572b92b1e2f6ddb63c49deecb801ff9",
        "7e27d6e778cd87b6f2415515d7127eba53fe5d02"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 18 10:46:31 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 18 10:46:35 2010 +0200"
      },
      "message": "Merge commit \u0027v2.6.35-rc3\u0027 into sched/core\n\nMerge reason: Update to the latest -rc.\n"
    },
    {
      "commit": "c726b61c6a5acc54c55ed7a0e7638cc4c5a100a8",
      "tree": "3f44aa013d31d34951e9610e79ff14c1148ad6ac",
      "parents": [
        "7be7923633a142402266d642ccebf74f556a649b",
        "018378c55b03f88ff513aba4e0e93b8d4a9cf241"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 18:55:20 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 18:55:57 2010 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "e78505958cf123048fb48cb56b79cebb8edd15fb",
      "tree": "3688d124cdc906cbe9f6587c8671ba0a14c95262",
      "parents": [
        "a6e6dea68c18f705957573ee5596097c7e82d0e5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 21 14:43:08 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 11:12:37 2010 +0200"
      },
      "message": "perf: Convert perf_event to local_t\n\nSince now all modification to event-\u003ecount (and -\u003eprev_count\nand -\u003eperiod_left) are local to a cpu, change then to local64_t so we\navoid the LOCK\u0027ed ops.\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": "a6e6dea68c18f705957573ee5596097c7e82d0e5",
      "tree": "2e8d302800fa4c57cc6604d856e6d680d3ee120f",
      "parents": [
        "b5e58793c7a8ec35e72ea6ec6c353499dd189809"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 21 14:27:58 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 11:12:37 2010 +0200"
      },
      "message": "perf: Add perf_event::child_count\n\nOnly child counters adding back their values into the parent counter\nare responsible for cross-cpu updates to event-\u003ecount.\n\nSo if we pull that out into a new child_count variable, we get an\nevent-\u003ecount that is only modified locally.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5e58793c7a8ec35e72ea6ec6c353499dd189809",
      "tree": "b416db400eb1f67c0b078bd15d60aa9a561d7edf",
      "parents": [
        "1996bda2a42480c275656233e631ee0966574be4"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 21 14:43:12 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 11:12:36 2010 +0200"
      },
      "message": "perf: Add perf_event_count()\n\nCreate a helper function for those sites that want to read the event count.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d57e34fdd60be7ffd0b1d86bfa1a553df86b7172",
      "tree": "f6044a0b2c2a757d56ad47e88cfa662bfc5bf424",
      "parents": [
        "ca5135e6b4a3cbc7e187737520fbc4b508f6f7a2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 28 19:41:35 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 11:12:35 2010 +0200"
      },
      "message": "perf: Simplify the ring-buffer logic: make perf_buffer_alloc() do everything needed\n\nCurrently there are perf_buffer_alloc() + perf_buffer_init() + some\nseparate bits, fold it all into a single perf_buffer_alloc() and only\nleave the attachment to the event separate.\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": "ca5135e6b4a3cbc7e187737520fbc4b508f6f7a2",
      "tree": "b9bf928206d397f9c0474b1d2ea8f777cf4d22d7",
      "parents": [
        "68aa00ac0a82e9a876c799bf6be7622b8f1c8517"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 28 19:33:23 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 11:12:35 2010 +0200"
      },
      "message": "perf: Rename perf_mmap_data to perf_buffer\n\nRename to clarify code.\n\ns/perf_mmap_data/perf_buffer/g and selective s/data/buffer/g\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8d2cacbbb8deadfae78aa16e4e1ee619bdd7019e",
      "tree": "79fcb319d1c99e348b0a04056e016c85c3666b35",
      "parents": [
        "3af9e859281bda7eb7c20b51879cf43aa788ac2e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 25 17:49:05 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 11:12:34 2010 +0200"
      },
      "message": "perf: Cleanup {start,commit,cancel}_txn details\n\nClarify some of the transactional group scheduling API details\nand change it so that a successfull -\u003ecommit_txn also closes\nthe transaction.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1274803086.5882.1752.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3af9e859281bda7eb7c20b51879cf43aa788ac2e",
      "tree": "cddb7fc788abc826551e12bba5892c6b26942392",
      "parents": [
        "8ed92280be013180e24c84456ab6babcb07037cc"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "ebmunson@us.ibm.com",
        "time": "Tue May 18 15:30:49 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 11:12:34 2010 +0200"
      },
      "message": "perf: Add non-exec mmap() tracking\n\nAdd the capacility to track data mmap()s. This can be used together\nwith PERF_SAMPLE_ADDR for data profiling.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\n[Updated code for stable perf ABI]\nSigned-off-by: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1274193049-25997-1-git-send-email-ebmunson@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8ed92280be013180e24c84456ab6babcb07037cc",
      "tree": "5b0826219599532cc1a17ed823bd2358a2bef666",
      "parents": [
        "ecc55f84b2e9741f29daa787ded93986df6cbe17"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 21 15:13:59 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 11:12:33 2010 +0200"
      },
      "message": "perf, trace: Remove superfluous rcu_read_lock()\n\n__DO_TRACE() already calls the callbacks under rcu_read_lock_sched(),\nwhich is sufficient for our needs, avoid doing it again.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ecc55f84b2e9741f29daa787ded93986df6cbe17",
      "tree": "9da1012eb14faf8133e7e432b0da581ed55de6ee",
      "parents": [
        "e768aee89c687a50e6a2110e30c5cae1fbf0d2da"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri May 21 15:11:34 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 11:12:33 2010 +0200"
      },
      "message": "perf, trace: Inline perf_swevent_put_recursion_context()\n\nInline perf_swevent_put_recursion_context into perf_tp_event(), this\nshrinks the per trace template code footprint and saves a function\ncall.\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": "c676329abb2b8359d9a5d734dec0c81779823fd6",
      "tree": "b6c33715176221a87100228399c2a6f5049e44ea",
      "parents": [
        "95ae3c59fa8ad616c73745e21154b5af0fb10168"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 25 10:48:51 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jun 09 10:34:49 2010 +0200"
      },
      "message": "sched_clock: Add local_clock() API and improve documentation\n\nFor people who otherwise get to write: cpu_clock(smp_processor_id()),\nthere is now: local_clock().\n\nAlso, as per suggestion from Andrew, provide some documentation on\nthe various clock interfaces, and minimize the unsigned long long vs\nu64 mess.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nLKML-Reference: \u003c1275052414.1645.52.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b0f82b81fe6bbcf78d478071f33e44554726bc81",
      "tree": "6305c095b927f956a791b9dce687cb94a21718e6",
      "parents": [
        "c9cf4dbb4d9ca715d8fedf13301a53296429abc6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 20 07:47:21 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jun 08 23:31:27 2010 +0200"
      },
      "message": "perf: Drop the skip argument from perf_arch_fetch_regs_caller\n\nDrop this argument now that we always want to rewind only to the\nstate of the first caller.\nIt means frame pointers are not necessary anymore to reliably get\nthe source of an event. But this also means we need this helper\nto be a macro now, as an inline function is not an option since\nwe need to know when to provide a default implentation.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "f6ab91add6355e231e1c47897027b2a6ee4fa268",
      "tree": "74dffdf3b78c290d38a78b73788dce64e4c1e857",
      "parents": [
        "58cc1a9e3b11a84e66c4d3a4cc9073f2cb0ecabb"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 04 15:18:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 08 18:43:00 2010 +0200"
      },
      "message": "perf: Fix signed comparison in perf_adjust_period()\n\nFrederic reported that frequency driven swevents didn\u0027t work properly\nand even caused a division-by-zero error.\n\nIt turns out there are two bugs, the division-by-zero comes from a\nfailure to deal with that in perf_calculate_period().\n\nThe other was more interesting and turned out to be a wrong comparison\nin perf_adjust_period(). The comparison was between an s64 and u64 and\ngot implicitly converted to an unsigned comparison. The problem is\nthat period_left is typically \u003c 0, so it ended up being always true.\n\nCure this by making the local period variables s64.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6df8d5ab87a246942d138321e1721edbb69f6e1",
      "tree": "4fa2965d148c3e7ea456ab889d278d5c16d25d17",
      "parents": [
        "da3fd1a0010ccc9fe6fd5ae2b9e85e1aacc03e4d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 03 11:21:20 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 03 17:03:08 2010 +0200"
      },
      "message": "perf: Fix crash in swevents\n\nFrederic reported that because swevents handling doesn\u0027t disable IRQs\nanymore, we can get a recursion of perf_adjust_period(), once from\noverflow handling and once from the tick.\n\nIf both call -\u003edisable, we get a double hlist_del_rcu() and trigger\na LIST_POISON2 dereference.\n\nSince we don\u0027t actually need to stop/start a swevent to re-programm\nthe hardware (lack of hardware to program), simply nop out these\ncallbacks for the swevent pmu.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1275557609.27810.35218.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74048f895fa8cbf8119b4999f1f44881a825f954",
      "tree": "16c38467e68c730d459dd64cee7f749f1745c782",
      "parents": [
        "90151c35b19633e0cab5a6c80f1ba4a51e7c913b"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 27 21:34:58 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:46:10 2010 +0200"
      },
      "message": "perf_events: Fix unincremented buffer base on partial copy\n\nIf a sample size crosses to the next page boundary, the copy\nwill be made in more than one step. However we forget to advance\nthe source offset for the next copy, leading to unexpected double\ncopies that completely mess up the traces.\n\nThis fixes various kinds of bad traces that have irrelevant\ndata inside, as an example:\n\n\tgeany-4979  [001]  5758.077775: sched_switch: prev_comm\u003d! prev_pid\u003d121\n\t\tprev_prio\u003d0 prev_state\u003dS|D|Z|X|x \u003d\u003d\u003e next_comm\u003d next_pid\u003d7497072\n\t\tnext_prio\u003d0\n\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\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1274988898-5639-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "90151c35b19633e0cab5a6c80f1ba4a51e7c913b",
      "tree": "448c86520eef5b9dc0f06c59a8a96abfd4096fab",
      "parents": [
        "2e97942fe57864588774f173cf4cd7bb68968b76"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue May 25 16:23:10 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:46:10 2010 +0200"
      },
      "message": "perf_events: Fix event scheduling issues introduced by transactional API\n\nThe transactional API patch between the generic and model-specific\ncode introduced several important bugs with event scheduling, at\nleast on X86. If you had pinned events, e.g., watchdog,  and were\nover-committing the PMU, you would get bogus counts. The bug was\nshowing up on Intel CPU because events would move around more\noften that on AMD. But the problem also existed on AMD, though\nharder to expose.\n\nThe issues were:\n\n - group_sched_in() was missing a cancel_txn() in the error path\n\n - cpuc-\u003en_added was not properly maintained, leading to missing\n   actions in hw_perf_enable(), i.e., n_running being 0. You cannot\n   update n_added until you know the transaction has succeeded. In\n   case of failed transaction n_added was not adjusted back.\n\n - in case of failed transactions, event_sched_out() was called\n   and eventually invoked x86_disable_event() to touch the HW reg.\n   But with transactions, on X86, event_sched_in() does not touch\n   HW registers, it simply collects events into a list. Thus, you\n   could end up calling x86_disable_event() on a counter which\n   did not correspond to the current event when idx !\u003d -1.\n\nThe patch modifies the generic and X86 code to avoid all those problems.\n\nFirst, we keep track of the number of events added last. In case the\ntransaction fails, we substract them from n_added. This approach is\nnecessary (as opposed to delaying updates to n_added) because not all\nevent updates use the transaction API, e.g., single events.\n\nSecond, we encapsulate the event_sched_in() and event_sched_out() in\ngroup_sched_in() inside the transaction. That makes the operations\nsymmetrical and you can also detect that you are inside a transaction\nand skip the HW reg access by checking cpuc-\u003egroup_flag.\n\nWith this patch, you can now overcommit the PMU even with pinned\nsystem-wide events present and still get valid counts.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1274796225.5882.1389.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8a49542c0554af7d0073aac0ee73ee65b807ef34",
      "tree": "73e82ee5a624012ac723c3af21bb1945b7bd675f",
      "parents": [
        "ac9721f3f54b27a16c7e1afb2481e7ee95a70318"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 27 15:47:49 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:46:09 2010 +0200"
      },
      "message": "perf_events: Fix races in group composition\n\nGroup siblings don\u0027t pin each-other or the parent, so when we destroy\nevents we must make sure to clean up all cross referencing pointers.\n\nIn particular, for destruction of a group leader we must be able to\nfind all its siblings and remove their reference to it.\n\nThis means that detaching an event from its context must not detach it\nfrom the group, otherwise we can end up failing to clear all pointers.\n\nSolve this by clearly separating the attachment to a context and\nattachment to a group, and keep the group composed until we destroy\nthe events.\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": "ac9721f3f54b27a16c7e1afb2481e7ee95a70318",
      "tree": "a9f21d60c7c4c1910696553a6f8273edcca03c64",
      "parents": [
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 27 12:54:41 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon May 31 08:46:08 2010 +0200"
      },
      "message": "perf_events: Fix races and clean up perf_event and perf_mmap_data interaction\n\nIn order to move toward separate buffer objects, rework the whole\nperf_mmap_data construct to be a more self-sufficient entity, one\nwith its own lifetime rules.\n\nThis greatly sanitizes the whole output redirection code, which\nwas riddled with bugs and races.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ea635c64e007061f6468ece5cc9cc62d41d4ecf2",
      "tree": "eaa7123e7749893e8f542d12cba616664bc2c848",
      "parents": [
        "d7065da038227a4d09a244e6014e0186a6bd21d0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 26 17:40:29 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:03:08 2010 -0400"
      },
      "message": "Fix racy use of anon_inode_getfd() in perf_event.c\n\nonce anon_inode_getfd() is called, you can\u0027t expect *anything* about\nstruct file that descriptor points to - another thread might be doing\nwhatever it likes with descriptor table at that point.\n\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "580d607cd666dfabfc1c7b0fb08c8ac690c7c87f",
      "tree": "6d7c87d60b12adbacd4dbcb8c784975bc1203228",
      "parents": [
        "a94ffaaf55552769af328eaca9260fe6291c66c7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 20:54:31 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:38:00 2010 +0200"
      },
      "message": "perf: Optimize perf_tp_event_match()\n\nSince we know tracepoints come from kernel context,\navoid conditionals that try and establish that very\nfact.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.904944001@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a94ffaaf55552769af328eaca9260fe6291c66c7",
      "tree": "39339b21a962b50c6f8be09786fcb41cdc4a8459",
      "parents": [
        "3cafa9fbb5c1d564b7b8e7224f493effbf04ffee"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 19:50:07 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:59 2010 +0200"
      },
      "message": "perf: Remove more code from the fastpath\n\nSanity checks cost instructions.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.852926930@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3cafa9fbb5c1d564b7b8e7224f493effbf04ffee",
      "tree": "c046895789900e8a031b241e79e7f0d45d7e39f0",
      "parents": [
        "5d967a8be636a4f301a8daad642bd1007299d9ec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 19:07:56 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:59 2010 +0200"
      },
      "message": "perf: Optimize the !vmalloc backed buffer\n\nReduce code and data by using the knowledge that for\n!PERF_USE_VMALLOC data_order is always 0.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.795019386@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d967a8be636a4f301a8daad642bd1007299d9ec",
      "tree": "a55fa9c068f4a25a0de62797994353a36e165ca5",
      "parents": [
        "adb8e118f288dc4c569ac9a89010b81a4745fbf0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 16:46:39 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:59 2010 +0200"
      },
      "message": "perf: Optimize perf_output_copy()\n\nReduce the clutter in perf_output_copy() by keeping\nan interator in perf_output_handle.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.742809176@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "adb8e118f288dc4c569ac9a89010b81a4745fbf0",
      "tree": "40f2bbbe7c59fb4b4a44120fa9cc79822b68e545",
      "parents": [
        "0e2e63dd608bf5844ffae7bf7d860de18a62724c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 16:21:55 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:58 2010 +0200"
      },
      "message": "perf: Fix wakeup storm for RO mmap()s\n\nRO mmap()s don\u0027t update the tail pointer, so\ncomparing against it for determining the written data\nsize doesn\u0027t really do any good.\n\nKeep track of when we last did a wakeup, and compare\nagainst that.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.684479310@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0f139300c9057c16b5833a4636b715b104fe0baa",
      "tree": "e7b19c4fc8599fb683cee1b618b28a8aa16208e2",
      "parents": [
        "1c024eca51fdc965290acf342ae16a476c2189d0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 20 14:35:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:57 2010 +0200"
      },
      "message": "perf: Ensure that IOC_OUTPUT isn\u0027t used to create multi-writer buffers\n\nSince we want to ensure buffers only have a single\nwriter, we must avoid creating one with multiple.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.528215873@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1c024eca51fdc965290acf342ae16a476c2189d0",
      "tree": "28dc160cc70a20eeb8b8825d6d52ea88a6188413",
      "parents": [
        "b7e2ecef92d2e7785e6d76b41e5ba8bcbc45259d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed May 19 14:02:22 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 21 11:37:56 2010 +0200"
      },
      "message": "perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track events\n\nAvoid the swevent hash-table by using per-tracepoint\nhlists.\n\nAlso, avoid conditionals on the fast path by ordering\nwith probe unregister so that we should never get on\nthe callback path without the data being there.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20100521090710.473188012@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "acd35a463cb2a8d2b28e094d718cf6e653ad7191",
      "tree": "65f9392ef5b670eafa819138602a8c49458040ab",
      "parents": [
        "dfacc4d6c98b89609250269f518c1f54c30454ef"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 20 21:28:34 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 20 21:28:34 2010 +0200"
      },
      "message": "perf: Fix forgotten preempt_enable by nested writers\n\nA writer that gets a reference to the buffer handle disables\npreemption. When we put that reference, we check if we are\nthe outer most writer and if not, we simply return and defer\nthe head update to the outer most writer. The problem here\nis that preemption is only reenabled by the outer most, that\nproduces preemption count imbalance for every nested writer\nthat exit.\n\nSo just don\u0027t forget to always re-enable preemption when we\nput the buffer reference, whoever we are.\n\nFixes lots of sleeping in atomic warnings, visible with lock\nevents recording.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "dfacc4d6c98b89609250269f518c1f54c30454ef",
      "tree": "e7effbee7bdc85d18f7b26ab9cb5c9f700d1481a",
      "parents": [
        "f869097e884d8cb65b2bb7831ca57b7dffb66fdd",
        "85cb68b27c428d477169f3aa46c72dba103a17bd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 20 14:38:55 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu May 20 14:38:55 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "49f135ed02828a58b2401f149926c2e3c9cb0116",
      "tree": "6f5541da5ad60131eb32beb42083443705351750",
      "parents": [
        "cbb5cf7ff6b298beacfe23db3386335b0b9c0a2d"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 20 10:17:46 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu May 20 10:40:37 2010 +0200"
      },
      "message": "perf: Comply with new rcu checks API\n\nThe software events hlist doesn\u0027t fully comply with the new\nrcu checks api.\n\nWe need to consider three different sides that access the hlist:\n\n- the hlist allocation/release side. This side happens when an\n  events is created or released, accesses to the hlist are\n  serialized under the cpuctx mutex.\n\n- the events insertion/removal in the hlist. This side is always\n  serialized against the above one. The hlist is always present\n  during such operations. This side happens when a software event\n  is scheduled in/out. The serialization that ensures the software\n  event is really attached to the context is made under the\n  ctx-\u003elock.\n\n- events triggering. This is the read side, it can happen\n  concurrently with any update side.\n\nThis patch deals with them one by one and anticipates with the\nseparate rcu mem space patches in preparation.\n\nThis patch fixes various annoying rcu warnings.\n\nReported-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "6d1acfd5c6bfd5231c13a8f2858d7f2afbaa1b62",
      "tree": "abcfa95947cafc94c978a255b814472fe67cad22",
      "parents": [
        "fa5881514ef9c9bcb29319aad85cf2d8889d91f1"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 18 11:12:48 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:49 2010 +0200"
      },
      "message": "perf: Optimize perf_output_*() by avoiding local_xchg()\n\nSince the x86 XCHG ins implies LOCK, avoid the use by\nusing a sequence count instead.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa5881514ef9c9bcb29319aad85cf2d8889d91f1",
      "tree": "4ca8bc35591b05adc8556358fb91498d2057c394",
      "parents": [
        "ef60777c9abd999db5eb4e338aae3eb593ae8e10"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 18 10:54:20 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:49 2010 +0200"
      },
      "message": "perf: Optimize the hotpath by converting the perf output buffer to local_t\n\nSince there is now only a single writer, we can use\nlocal_t instead and avoid all these pesky LOCK insn.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ef60777c9abd999db5eb4e338aae3eb593ae8e10",
      "tree": "2dee468a922ebea2241d1c1ec10e581d62bf2db6",
      "parents": [
        "c7920614cebbf269a7c8397ff959a8dcf727465c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 18 10:50:41 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:48 2010 +0200"
      },
      "message": "perf: Optimize the perf_output() path by removing IRQ-disables\n\nSince we can now assume there is only a single writer\nto each buffer, we can remove per-cpu lock thingy and\nuse a simply nest-count to the same effect.\n\nThis removes the need to disable IRQs.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c7920614cebbf269a7c8397ff959a8dcf727465c",
      "tree": "d1ca38ee77cb4160660efb97b8bdc2e5c44967c1",
      "parents": [
        "a19d35c11fd559dd7dfd5a2078df7c9af74a5d88"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 18 10:33:24 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:48 2010 +0200"
      },
      "message": "perf: Disallow mmap() on per-task inherited events\n\nSince we now have working per-task-per-cpu events for\na while, disallow mmap() on per-task inherited\nevents. Those things were a performance problem\nanyway, and doing away with it allows us to optimize\nthe buffer somewhat by assuming there is only a\nsingle writer.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a19d35c11fd559dd7dfd5a2078df7c9af74a5d88",
      "tree": "54cc4f3f5813eb7afd81d089d581a098df896f11",
      "parents": [
        "00d1d0b095ba4e5c0958cb228b2a9c445d4a339d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon May 17 18:48:00 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:47 2010 +0200"
      },
      "message": "perf: Optimize buffer placement by allocating buffers NUMA aware\n\nEnsure cpu bound buffers live on the right NUMA node.\n\nSuggested-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c1274114880.5605.5236.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "00d1d0b095ba4e5c0958cb228b2a9c445d4a339d",
      "tree": "68e96107d3297f97c232dac4a5548a8abb9bf42f",
      "parents": [
        "4f41c013f553957765902fb01475972f0af3e8e7"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon May 17 12:46:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:47 2010 +0200"
      },
      "message": "perf: Fix errors path in perf_output_begin()\n\nIn case the sampling buffer has no \"payload\" pages,\nnr_pages is 0. The problem is that the error path in\nperf_output_begin() skips to a label which assumes\nperf_output_lock() has been issued which is not the\ncase. That triggers a WARN_ON() in\nperf_output_unlock().\n\nThis patch fixes the problem by skipping\nperf_output_unlock() in case data-\u003enr_pages is 0.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c4bf13674.014fd80a.6c82.ffffb20c@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4f41c013f553957765902fb01475972f0af3e8e7",
      "tree": "ddaa54947cc990094a4b270f2f8b3d6da195044f",
      "parents": [
        "ef4f30f54e265c2f6f9ac9eda4db158a4e16050b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 18 18:08:32 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 18 18:35:46 2010 +0200"
      },
      "message": "perf/ftrace: Optimize perf/tracepoint interaction for single events\n\nWhen we\u0027ve got but a single event per tracepoint\nthere is no reason to try and multiplex it so don\u0027t.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "96c21a460a37880abfbc8445d5b098dbab958a29",
      "tree": "57b6ae2ecb8713b720fb5ee86ebbf3d1b2638856",
      "parents": [
        "050735b08ca8a016bbace4445fa025b88fee770b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue May 11 16:19:10 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 11 17:08:24 2010 +0200"
      },
      "message": "perf: Fix exit() vs event-groups\n\nCorey reported that the value scale times of group siblings are not\nupdated when the monitored task dies.\n\nThe problem appears to be that we only update the group leader\u0027s\ntime values, fix it by updating the whole group.\n\nReported-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e # .34.x\nLKML-Reference: \u003c1273588935.1810.6.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "050735b08ca8a016bbace4445fa025b88fee770b",
      "tree": "68ce73ebb40dfcb66c9c18db9d31bfdb82c2e795",
      "parents": [
        "e3174cfd2a1e28fff774681f00a0eef3d31da970"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Tue May 11 11:51:53 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 11 15:46:43 2010 +0200"
      },
      "message": "perf: Fix exit() vs PERF_FORMAT_GROUP\n\nBoth Stephane and Corey reported that PERF_FORMAT_GROUP didn\u0027t\nwork as expected if the task the counters were attached to quit\nbefore the read() call.\n\nThe cause is that we unconditionally destroy the grouping when\nwe remove counters from their context. Fix this by splitting off\nthe group destroy from the list removal such that\nperf_event_remove_from_context() does not do this and change\nperf_event_release() to do so.\n\nReported-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: \u003cstable@kernel.org\u003e # .34.x\nLKML-Reference: \u003c1273571513.5605.3527.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e3174cfd2a1e28fff774681f00a0eef3d31da970",
      "tree": "5706316d689a9b1fe11df562bed391295deff537",
      "parents": [
        "e61a639a794063d78fd248a37ce2c21d5c81fc19"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 11 08:31:49 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue May 11 08:31:49 2010 +0200"
      },
      "message": "Revert \"perf: Fix exit() vs PERF_FORMAT_GROUP\"\n\nThis reverts commit 4fd38e4595e2f6c9d27732c042a0e16b2753049c.\n\nIt causes various crashes and hangs when events are activated.\n\nThe cause is not fully understood yet but we need to revert it\nbecause the effects are severe.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nReported-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6e85158cf5a2385264316870256fb6ad681156a0",
      "tree": "39d5a0c81c4cc54c8051a9f62b587f17b0a2077a",
      "parents": [
        "ed82702155b6343727ee732f7eae6d72e8b453fe"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sat May 08 20:58:00 2010 +1000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 08 13:16:55 2010 +0200"
      },
      "message": "perf_event: Make software events work again\n\nCommit 6bde9b6ce0127e2a56228a2071536d422be31336 (\"perf: Add\ngroup scheduling transactional APIs\") added code to allow a\ngroup to be scheduled in a single transaction.  However, it\nintroduced a bug in handling events whose pmu does not implement\ntransactions -- at the end of scheduling in the events in the\ngroup, in the non-transactional case the code now falls through\nto the group_error label, and proceeds to unschedule all the\nevents in the group and return failure.\n\nThis fixes it by returning 0 (success) in the non-transactional\ncase.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: eranian@gmail.com\nLKML-Reference: \u003c20100508105800.GB10650@brick.ozlabs.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6bde9b6ce0127e2a56228a2071536d422be31336",
      "tree": "1a1f2fe3dbb741d81b0c08f1822ef7c0af01f91d",
      "parents": [
        "ab608344bcbde4f55ec4cd911b686b0ce3eae076"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Fri Apr 23 13:56:00 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:31:02 2010 +0200"
      },
      "message": "perf: Add group scheduling transactional APIs\n\nAdd group scheduling transactional APIs to struct pmu.\nThese APIs will be implemented in arch code, based on Peter\u0027s idea as\nbelow.\n\n\u003e the idea behind hw_perf_group_sched_in() is to not perform\n\u003e schedulability tests on each event in the group, but to add the group\n\u003e as a whole and then perform one test.\n\u003e\n\u003e Of course, when that test fails, you\u0027ll have to roll-back the whole\n\u003e group again.\n\u003e\n\u003e So start_txn (or a better name) would simply toggle a flag in the pmu\n\u003e implementation that will make pmu::enable() not perform the\n\u003e schedulablilty test.\n\u003e\n\u003e Then commit_txn() will perform the schedulability test (so note the\n\u003e method has to have a !void return value.\n\u003e\n\u003e This will allow us to use the regular\n\u003e kernel/perf_event.c::group_sched_in() and all the rollback code.\n\u003e Currently each hw_perf_group_sched_in() implementation duplicates all\n\u003e the rolllback code (with various bugs).\n\n-\u003estart_txn:\nStart group events scheduling transaction, set a flag to make\npmu::enable() not perform the schedulability test, it will be performed\nat commit time.\n\n-\u003ecommit_txn:\nCommit group events scheduling transaction, perform the group\nschedulability as a whole\n\n-\u003ecancel_txn:\nStop group events scheduling transaction, clear the flag so\npmu::enable() will perform the schedulability test.\n\nReviewed-by: Stephane Eranian \u003ceranian@google.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1272002160.5707.60.camel@minggr.sh.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a0507c84bf47dfd204299774f45fd16da33f0619",
      "tree": "d40bf7628ebb9935fb1ef6727337dcd9e2c94fd5",
      "parents": [
        "cce913178118b0b36742eb7544c2b38a0c957ee7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 06 15:42:53 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:30:59 2010 +0200"
      },
      "message": "perf: Annotate perf_event_read_group() vs perf_event_release_kernel()\n\nStephane reported a lockdep warning while using PERF_FORMAT_GROUP.\n\nThe issue is that perf_event_read_group() takes faults while holding\nthe ctx-\u003emutex, while perf_event_release_kernel() can be called from\nmunmap(). Which makes for an AB-BA deadlock.\n\nExcept we can never establish the deadlock because we\u0027ll only ever\ncall perf_event_release_kernel() after all file descriptors are dead\nso there is no concurrency possible.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "cce913178118b0b36742eb7544c2b38a0c957ee7",
      "tree": "25a6d7b4e01fea2932e6e2962a75f7a3d8c19a4f",
      "parents": [
        "d9f599e1e6d019968b35d2dc63074b9e8964fa69",
        "4fd38e4595e2f6c9d27732c042a0e16b2753049c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:30:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:30:30 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: Resolve patch dependency\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4fd38e4595e2f6c9d27732c042a0e16b2753049c",
      "tree": "bb18024a183691b81062f97fbc3de4938a1d6086",
      "parents": [
        "722154e4cacf015161efe60009ae9be23d492296"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu May 06 17:31:38 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri May 07 11:30:17 2010 +0200"
      },
      "message": "perf: Fix exit() vs PERF_FORMAT_GROUP\n\nBoth Stephane and Corey reported that PERF_FORMAT_GROUP didn\u0027t work\nas expected if the task the counters were attached to quit before\nthe read() call.\n\nThe cause is that we unconditionally destroy the grouping when we\nremove counters from their context. Fix this by only doing this when\nwe free the counter itself.\n\nReported-by: Corey Ashford \u003ccjashfor@linux.vnet.ibm.com\u003e\nReported-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1273160566.5605.404.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "048c852051d2bd5da54a4488bc1f16b0fc74c695",
      "tree": "c1482ae433455c1aa5f2f20c68773f79b60881c8",
      "parents": [
        "66f41d4c5c8a5deed66fdcc84509376c9a0bf9d8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat May 01 10:11:35 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat May 01 13:11:25 2010 +0200"
      },
      "message": "perf: Fix resource leak in failure path of perf_event_open()\n\nperf_event_open() kfrees event after init failure which doesn\u0027t\nrelease all resources allocated by perf_event_alloc().  Use\nfree_event() instead.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Paul Mackerras \u003cpaulus@au1.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c4BDBE237.1040809@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "39447b386c846bbf1c56f6403c5282837486200f",
      "tree": "5ceaf9900919e4bd269b92c55df15e33039fefd1",
      "parents": [
        "b5a80b7e91d6c067339e4d81a0176a835e9bf910"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Mon Apr 19 13:32:41 2010 +0800"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Apr 19 12:35:33 2010 +0300"
      },
      "message": "perf: Enhance perf to allow for guest statistic collection from host\n\nBelow patch introduces perf_guest_info_callbacks and related\nregister/unregister functions. Add more PERF_RECORD_MISC_XXX bits\nmeaning guest kernel and guest user space.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "95476b64ab11d528de2557366ec584977c215b9e",
      "tree": "a01e04ca53b5ffd93f3149f6e9d18ab049268cd8",
      "parents": [
        "df8290bf7ea6b3051e2f315579a6e829309ec1ed"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 14 23:42:18 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 15 01:34:46 2010 +0200"
      },
      "message": "perf: Fix hlist related build error\n\nhlist helpers need to be available for all software events, not\nonly trace events.\n\nPull them out outside the ifdef CONFIG_EVENT_TRACING section.\n\nFixes:\n\tkernel/perf_event.c:4573: error: implicit declaration of function \u0027swevent_hlist_put\u0027\n\tkernel/perf_event.c:4614: error: implicit declaration of function \u0027swevent_hlist_get\u0027\n\tkernel/perf_event.c:5534: error: implicit declaration of function \u0027swevent_hlist_release\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c1271281338-23491-1-git-send-regression-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "df8290bf7ea6b3051e2f315579a6e829309ec1ed",
      "tree": "e142ed95335a9e1790deabc11448ee6e215bb855",
      "parents": [
        "76e1d9047e4edefb8ada20aa90d5762306082bd6"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Apr 09 00:28:14 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 14 18:20:33 2010 +0200"
      },
      "message": "perf: Make clock software events consistent with general exclusion rules\n\nThe cpu/task clock events implement their own version of exclusion\non top of exclude_user and exclude_kernel.\n\nThe result is that when the event triggered in the kernel but we\nhave exclude_kernel set, we try to rewind using task_pt_regs.\nThere are two side effects of this:\n\n- we call task_pt_regs even on kernel threads, which doesn\u0027t give\n  us the desired result.\n- if the event occured in the kernel, we shouldn\u0027t rewind to the\n  user context. We want to actually ignore the event.\n\nget_irq_regs() will always give us the right interrupted context, so\nuse its result and submit it to perf_exclude_context() that knows\nwhen an event must be ignored.\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\n"
    },
    {
      "commit": "76e1d9047e4edefb8ada20aa90d5762306082bd6",
      "tree": "60384bd206878d2c440e07b33d97b1bb00a103dc",
      "parents": [
        "c05556421742eb47f80301767653a4bcb19de9de"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Apr 05 15:35:57 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 14 18:20:33 2010 +0200"
      },
      "message": "perf: Store active software events in a hashlist\n\nEach time a software event triggers, we need to walk through\nthe entire list of events from the current cpu and task contexts\nto retrieve a running perf event that matches.\nWe also need to check a matching perf event is actually counting.\n\nThis walk is wasteful and makes the event fast path scaling\ndown with a growing number of events running on the same\ncontexts.\n\nTo solve this, we store the running perf events in a hashlist to\nget an immediate access to them against their type:event_id when\nthey trigger.\n\nv2: - Fix SWEVENT_HLIST_SIZE definition (and re-learn some basic\n      maths along the way)\n    - Only allocate hlist for online cpus, but keep track of the\n      refcount on offline possible cpus too, so that we allocate it\n      if needed when it becomes online.\n    - Drop the kref use as it\u0027s not adapted to our tricks anymore.\n\nv3: - Fix bad refcount check (address instead of value). Thanks to\n      Eric Dumazet who spotted this.\n    - While exiting cpu, move the hlist release out of the IPI path\n      to lock the hlist mutex sanely.\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\n"
    },
    {
      "commit": "ca7e0c612005937a4a5a75d3fed90459993de65c",
      "tree": "b574fc0f0189b52ffc87ba20c418228db556faa1",
      "parents": [
        "8141d0050d76e5695011b5ab577ec66fb51a998c",
        "f5284e7635787224dda1a2bf82a4c56b1c75671f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 08 13:36:36 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 08 13:37:18 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nSemantic conflict: arch/x86/kernel/cpu/perf_event_intel_ds.c\n\nMerge reason: pick up latest fixes, fix the conflict\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "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": "3326c1ceee234e63160852720d48be8a8f7a6d08",
      "tree": "18aa2c9ebe2985c558e61c778f7a1e6cd8ab6393",
      "parents": [
        "6cc8a7c1d8560c042f486b23318a6291569ab96b"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@relay.de.ibm.com",
        "time": "Tue Mar 23 19:09:33 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sun Apr 04 15:27:58 2010 +0200"
      },
      "message": "perf_event: Make perf fd non seekable\n\nPerf_event does not need seeking, so prevent it in order to\nget rid of default_llseek, which uses the BKL.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\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\n[drop the nonseekable_open, not needed for anon inodes]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "22a4e4c435bbc0edccc2e7e5143ce4fbe9679e2d",
      "tree": "9981477f6f9e4527a9598e636d0ffc7705a322a4",
      "parents": [
        "70a7c1271e2bfca8ad2bf71f44c516ea2763b9ed",
        "6e03bb5ad363fdbe4e1e227cfb78f7978c662e18"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 03 18:17:55 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Apr 03 18:17:55 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\ttools/perf/Makefile\n\nMerge reason: resolve the conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\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": "ec5e61aabeac58670691bd0613388d16697d0d81",
      "tree": "59838509358f27334874b90756505785cde29b02",
      "parents": [
        "75ec5a245c7763c397f31ec8964d0a46c54a7386",
        "8bb39f9aa068262732fe44b965d7a6eb5a5a7d67"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 02 19:37:50 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 02 19:38:10 2010 +0200"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\tarch/x86/kernel/cpu/perf_event.c\n\nMerge reason: Resolve the conflict, pick up fixes\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "1d199b1ad606ae8b88acebd295b101c4e1cf2a57",
      "tree": "1d08629d41f7d0fa6ffd7780fd3caf3d18ca8de7",
      "parents": [
        "d06d92b7c9b99ea52bdaeb13f544675529891b8a"
      ],
      "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": "Tue Mar 16 09:27:27 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": "937779db13fb6cb621e28d9ae0a6cf1d05b57d05",
      "tree": "6c27402677c347c4dc01980de78c270630588847",
      "parents": [
        "6230f2c7ef01a69e2ba9370326572c287209d32a",
        "9f591fd76afdc0e5192e9ed00a36f8efc0b4dfe6"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 12 10:20:57 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 12 10:20:59 2010 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: We want to queue up a dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9b33fa6ba0e2f90fdf407501db801c2511121564",
      "tree": "f5314e450afae1f1d4a9feadb0693e20584f62a6",
      "parents": [
        "caa0142d84ceb0fc83e28f0475d0a7316cb6df77"
      ],
      "author": {
        "name": "eranian@google.com",
        "email": "eranian@google.com",
        "time": "Wed Mar 10 22:26:05 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 11 15:23:28 2010 +0100"
      },
      "message": "perf_events: Improve task_sched_in()\n\nThis patch is an optimization in perf_event_task_sched_in() to avoid\nscheduling the events twice in a row.\n\nWithout it, the perf_disable()/perf_enable() pair is invoked twice,\nthereby pinned events counts while scheduling flexible events and we go\nthrouh hw_perf_enable() twice.\n\nBy encapsulating, the whole sequence into perf_disable()/perf_enable() we\nensure, hw_perf_enable() is going to be invoked only once because of the\nrefcount protection.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1268288765-5326-1-git-send-email-eranian@google.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"
    }
  ],
  "next": "61405fea92c42d072d9b8bd189689f1502a838af"
}
