)]}'
{
  "log": [
    {
      "commit": "38b435b16c36b0d863efcf3f07b34a6fac9873fd",
      "tree": "017a36f9883767175f8018f43fac937a9fc22a24",
      "parents": [
        "ee643c4179c3a18b018de3a4c07a7bb3a75c8e4e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Mar 15 14:37:10 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 16 14:04:14 2011 +0100"
      },
      "message": "perf: Fix tear-down of inherited group events\n\nWhen destroying inherited events, we need to destroy groups too,\notherwise the event iteration in perf_event_exit_task_context() will\nmiss group siblings and we leak events with all the consequences.\n\nReported-and-tested-by: Vince Weaver \u003cvweaver1@eecs.utk.edu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: \u003cstable@kernel.org\u003e # .35+\nLKML-Reference: \u003c1300196470.2203.61.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a0f7d0f7fc02465bb9758501f611f63381792996",
      "tree": "efa09496d88cb336cc855fe407ccd40ddef7f7fb",
      "parents": [
        "91b2f482e62ad0d444222253026a5cbca28c4ab9"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Mar 07 21:27:09 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 16 14:04:14 2011 +0100"
      },
      "message": "perf: Handle stopped state with tracepoints\n\nWe toggle the state from start and stop callbacks but actually\ndon\u0027t check it when the event triggers. Do it so that\nthese callbacks actually work.\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\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1299529629-18280-2-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "91b2f482e62ad0d444222253026a5cbca28c4ab9",
      "tree": "4ce0c4bd27c85182481e5330033de2546e322873",
      "parents": [
        "0837e3242c73566fc1c0196b4ec61779c25ffc93"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Mar 07 21:27:08 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 16 14:04:13 2011 +0100"
      },
      "message": "perf: Fix the software events state check\n\nFix the mistakenly inverted check of events state.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c1299529629-18280-1-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08309379b7083a9ceec0f9bb96a629058fb623c4",
      "tree": "c2863e7e97922e3e3bb3f97ca281b0ed6bf16aa0",
      "parents": [
        "2d0f25201ee210a0666ec9c41538ba05a07f8bc6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Mar 03 11:31:20 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 11:32:52 2011 +0100"
      },
      "message": "perf: Fix cgroup vs jump_label problem\n\nLi Zefan reported that the jump label code sleeps and we\u0027re calling it\nunder a spinlock, *fail* ;-)\n\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\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": "1b15d0558e82df9b3659804ceb44187b98eda354",
      "tree": "5ef63c23940d606bed12ae23a0ab5839c55fa919",
      "parents": [
        "f75e18cb9627b1d3d752b83a0b5563da0042c50a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Mar 03 14:26:06 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 11:32:51 2011 +0100"
      },
      "message": "perf cgroup: Clean up perf_cgroup_create()\n\n- Use kzalloc() to replace kmalloc() + memset().\n\n- Remove redundant initialization, since alloc_percpu() returns\n  zero-filled percpu memory.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4D6F347E.2010806@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f75e18cb9627b1d3d752b83a0b5563da0042c50a",
      "tree": "8cb13db9321012434faad540289ecd120a4671d4",
      "parents": [
        "3db272c0494900fcb905a201180a78cae3addd6e"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Mar 03 14:25:50 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 11:32:51 2011 +0100"
      },
      "message": "perf cgroup: Fix unmatched call to perf_detach_cgroup()\n\nIn the failure path, we call perf_detach_cgroup(), but we didn\u0027t\ncall perf_get_cgroup() prio to it.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4D6F346E.9070606@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3db272c0494900fcb905a201180a78cae3addd6e",
      "tree": "cc15a5c4004c26d847162353f752dad4d9dbb03e",
      "parents": [
        "940c5b2971de443df22eed0441bc74fb0116e9f5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Mar 03 14:25:37 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 11:32:50 2011 +0100"
      },
      "message": "perf cgroup: Fix leak of file reference count\n\nIn perf_cgroup_connect(), fput_light() is missing in a failure path.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4D6F3461.6060406@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "940c5b2971de443df22eed0441bc74fb0116e9f5",
      "tree": "7264bdfcc08d5c6f0223d0d45ba7db4e47cf9957",
      "parents": [
        "888a8a3e9d79cbb9d83e53955f684998248580ec"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Sun Feb 27 21:13:31 2011 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 04 11:32:50 2011 +0100"
      },
      "message": "perf: Fix the missing event initialization when pmu is found in idr\n\nCurrently, the event is not initialized if pmu is found in idr. This\nnever causes bug just because now no pmu is associated with the idr\nid.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1298812411.2699.9.camel@localhost\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "768a06e2ca49cdf72389208cfc056a36cf8bc5e3",
      "tree": "cd3e40f7d83526747785e7d4954ce96a5a3d69c7",
      "parents": [
        "3f7cce3c18188a067d463749168bdda5abc5b0f7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Feb 22 16:52:24 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 23 11:35:47 2011 +0100"
      },
      "message": "perf: Simplify task_clock_event_read()\n\nThere is no point in us having different code paths for nmi and !nmi\nhere, so remove the !nmi one.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3f7cce3c18188a067d463749168bdda5abc5b0f7",
      "tree": "9c161a970a19176f26dc29811dc9ae4d64bfe8a8",
      "parents": [
        "c97cf42219b7b6037d2f96c27a5f114f2383f828"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Fri Feb 18 14:40:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 23 11:35:46 2011 +0100"
      },
      "message": "perf_events: Fix rcu and locking issues with cgroup support\n\nThis patches ensures that we do not end up calling\nperf_cgroup_from_task() when there is no cgroup event.\nThis avoids potential RCU and locking issues.\n\nThe change in perf_cgroup_set_timestamp() ensures we\ncheck against ctx-\u003enr_cgroups. It also avoids calling\nperf_clock() tiwce in a row. It also ensures we do need\nto grab ctx-\u003elock before calling the function.\n\nWe drop update_cgrp_time() from task_clock_event_read()\nbecause it is not needed. This also avoids having to\ndeal with perf_cgroup_from_task().\n\nThanks to Peter Zijlstra for his help on this.\n\nSigned-off-by: Stephane Eranian \u003ceranian@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4d5e76b8.815bdf0a.7ac3.774f@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ba3dd36c6775264ee6e7354ba1aabcd6e86d7298",
      "tree": "f48441ff3179a91b4acde6c785726a34e6dc856a",
      "parents": [
        "163ec4354a5135c6c38c3f4a9b46a31900ebdf48"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Feb 15 12:41:46 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:30:57 2011 +0100"
      },
      "message": "perf: Optimize hrtimer events\n\nThere is no need to re-initialize the hrtimer every time we start it,\nso don\u0027t do that (shaves a few cycles). Also, since we know hrtimers\nrun at a fixed rate (nanoseconds) we can pre-compute the desired\nfrequency at which they tick. This avoids us having to go through the\nwhole adaptive frequency feedback logic (shaves another few cycles).\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1297448589.5226.47.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "163ec4354a5135c6c38c3f4a9b46a31900ebdf48",
      "tree": "59063e726453ace397c66d95cab09ac43265be41",
      "parents": [
        "4979d2729af22f6ce8faa325fc60a85a2c2daa02"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 16 11:22:34 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:30:55 2011 +0100"
      },
      "message": "perf: Optimize throttling code\n\nBy pre-computing the maximum number of samples per tick we can avoid a\nmultiplication and a conditional since MAX_INTERRUPTS \u003e\nmax_samples_per_tick.\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": "e5d1367f17ba6a6fed5fd8b74e4d5720923e0c25",
      "tree": "5862b4cddb7c88e0513e503cb3f46c60da2eeb6f",
      "parents": [
        "d41d5a01631af821d3a3447e6613a316f5ee6c25"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Feb 14 11:20:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:30:48 2011 +0100"
      },
      "message": "perf: Add cgroup support\n\nThis kernel patch adds the ability to filter monitoring based on\ncontainer groups (cgroups). This is for use in per-cpu mode only.\n\nThe cgroup to monitor is passed as a file descriptor in the pid\nargument to the syscall. The file descriptor must be opened to\nthe cgroup name in the cgroup filesystem. For instance, if the\ncgroup name is foo and cgroupfs is mounted in /cgroup, then the\nfile descriptor is opened to /cgroup/foo. Cgroup mode is\nactivated by passing PERF_FLAG_PID_CGROUP in the flags argument\nto the syscall.\n\nFor instance to measure in cgroup foo on CPU1 assuming\ncgroupfs is mounted under /cgroup:\n\nstruct perf_event_attr attr;\nint cgroup_fd, fd;\n\ncgroup_fd \u003d open(\"/cgroup/foo\", O_RDONLY);\nfd \u003d perf_event_open(\u0026attr, cgroup_fd, 1, -1, PERF_FLAG_PID_CGROUP);\nclose(cgroup_fd);\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\n[ added perf_cgroup_{exit,attach} ]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4d590250.114ddf0a.689e.4482@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b00560f2d4de69bb12f66f9605985b516df98d77",
      "tree": "0c92fc994125dc3ddb635842715be29d8b16808b",
      "parents": [
        "bf1af3a809506645b9130755b713b008da14737f",
        "4fe757dd48a9e95e1a071291f15dda5421dacb66"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:27:18 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:27:23 2011 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: we need to queue up dependent patch\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4fe757dd48a9e95e1a071291f15dda5421dacb66",
      "tree": "9981eaf986d477d096cdb0388e0f95a80eeb2c38",
      "parents": [
        "7d44ec193d95416d1342cdd86392a1eeb7461186"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Feb 15 22:26:07 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 16 13:25:29 2011 +0100"
      },
      "message": "perf: Fix throttle logic\n\nIt was possible to call pmu::start() on an already running event. In\nparticular this lead so some wreckage as the hrtimer events would\nre-initialize active timers.\n\nThis was due to throttled events being activated again by scheduling.\nScheduling in a context would add and force start events, resulting in\nrunning events with a possible throttle status. The next tick to hit\nthat task will then try to unthrottle the event and call -\u003estart() on\nan already running event.\n\nReported-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: \u003cstable@kernel.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": "c7f9a6f377fa64e5a74f8c128d4349765c28fab1",
      "tree": "e71eaf08c5f9179d6fd6c7e08d8539358dc76ad1",
      "parents": [
        "fe4b04fa31a6dcf4358aa84cf81e5a7fd079469b",
        "8dbdea8444d303a772bceb1ba963f0e3273bfc5e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 07 08:44:11 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 07 08:44:26 2011 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/core\n\nMerge reason: Pick up perf fixes that are now upstream\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "542e72fc90f5ed9eecb574f80f70868c7f296093",
      "tree": "b42abb2d44ed771759eee63ce00378df02d689ca",
      "parents": [
        "9ffdc6c37df131f89d52001e0ef03091b158826f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 26 15:38:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 03 12:15:46 2011 +0100"
      },
      "message": "perf: Fix reading in perf_event_read()\n\nIt is quite possible for the event to have been disabled between\nperf_event_read() sending the IPI and the CPU servicing the IPI and\ncalling __perf_event_read(), hence revalidate the state.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\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": "fe4b04fa31a6dcf4358aa84cf81e5a7fd079469b",
      "tree": "20a6db874d0db2a2f2e38e3ff77df4bdaa5f1cfe",
      "parents": [
        "b84defe6036e6dea782d41b80a4590e54f249671"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 02 13:19:09 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 03 12:14:43 2011 +0100"
      },
      "message": "perf: Cure task_oncpu_function_call() races\n\nOleg reported that on architectures with\n__ARCH_WANT_INTERRUPTS_ON_CTXSW the IPI from\ntask_oncpu_function_call() can land before perf_event_task_sched_in()\nand cause interesting situations for eg. perf_install_in_context().\n\nThis patch reworks the task_oncpu_function_call() interface to give a\nmore usable primitive as well as rework all its users to hopefully be\nmore obvious as well as remove the races.\n\nWhile looking at the code I also found a number of races against\nperf_event_task_sched_out() which can flip contexts between tasks so\nplug those too.\n\nReported-and-reviewed-by: Oleg Nesterov \u003coleg@redhat.com\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": "88d4f0db7fa8785859c1d637f9aac210932b6216",
      "tree": "c03e79daa9101295614147dcb9b24ed04aef9a99",
      "parents": [
        "6fb1b304255efc5c4c93874ac8c066272e257e28"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 25 19:40:51 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 27 19:21:50 2011 +0100"
      },
      "message": "perf: Fix alloc_callchain_buffers()\n\nCommit 927c7a9e92c4 (\"perf: Fix race in callchains\") introduced\na mismatch in the sizing of struct callchain_cpus_entries.\n\nnr_cpu_ids must be used instead of num_possible_cpus(), or we\nmight get out of bound memory accesses on some machines.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: 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: David Miller \u003cdavem@davemloft.net\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCC: stable@kernel.org\nLKML-Reference: \u003c1295980851.3588.351.camel@edumazet-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "806839b22cbda90176d7f8d421889bddd7826e93",
      "tree": "3ee967f97fa5e29ada85fb1d60142c75503e0ffd",
      "parents": [
        "547e9fd7d328af261f184bf66effc5033c886498"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Jan 21 18:45:47 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 21 22:08:16 2011 +0100"
      },
      "message": "perf: perf_event_exit_task_context: s/rcu_dereference/rcu_dereference_raw/\n\nIn theory, almost every user of task-\u003echild-\u003eperf_event_ctxp[]\nis wrong. find_get_context() can install the new context at any\nmoment, we need read_barrier_depends().\n\ndbe08d82ce3967ccdf459f7951d02589cf967300 \"perf: Fix\nfind_get_context() vs perf_event_exit_task() race\" added\nrcu_dereference() into perf_event_exit_task_context() to make\nthe precedent, but this makes __rcu_dereference_check() unhappy.\nUse rcu_dereference_raw() to shut up the warning.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: acme@redhat.com\nCc: paulus@samba.org\nCc: stern@rowland.harvard.edu\nCc: a.p.zijlstra@chello.nl\nCc: fweisbec@gmail.com\nCc: roland@redhat.com\nCc: prasad@linux.vnet.ibm.com\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c20110121174547.GA8796@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "547e9fd7d328af261f184bf66effc5033c886498",
      "tree": "88c2cbe138029a017769d4465798db181b1c5461",
      "parents": [
        "8c8a9b25b5de3f1eeac721cf34f4379e56d5d694"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 19 12:51:39 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 21 16:32:42 2011 +0100"
      },
      "message": "perf: Annotate cpuctx-\u003ectx.mutex to avoid a lockdep splat\n\nLockdep spotted:\n\n\tloop_1b_instruc/1899 is trying to acquire lock:\n\t (event_mutex){+.+.+.}, at: [\u003cffffffff810e1908\u003e] perf_trace_init+0x3b/0x2f7\n\n\tbut task is already holding lock:\n\t (\u0026ctx-\u003emutex){+.+.+.}, at: [\u003cffffffff810eb45b\u003e] perf_event_init_context+0xc0/0x218\n\n\twhich lock already depends on the new lock.\n\n\tthe existing dependency chain (in reverse order) is:\n\n\t-\u003e #3 (\u0026ctx-\u003emutex){+.+.+.}:\n\t-\u003e #2 (cpu_hotplug.lock){+.+.+.}:\n\t-\u003e #1 (module_mutex){+.+...}:\n\t-\u003e #0 (event_mutex){+.+.+.}:\n\nBut because the deadlock would be cpuhotplug (cpu-event) vs fork\n(task-event) it cannot, in fact, happen. We can annotate this by giving the\nperf_event_context used for the cpuctx a different lock class from those\nused by tasks.\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": "8550d7cb6ed6c89add49c3b6ad4c753ab8a3d7f9",
      "tree": "9942aa32e7706bbb9bf52b9aecd542008f50d5aa",
      "parents": [
        "dbe08d82ce3967ccdf459f7951d02589cf967300"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jan 19 19:22:28 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 20:04:28 2011 +0100"
      },
      "message": "perf: Fix perf_event_init_task()/perf_event_free_task() interaction\n\nperf_event_init_task() should clear child-\u003eperf_event_ctxp[]\nbefore anything else. Otherwise, if\nperf_event_init_context(perf_hw_context) fails,\nperf_event_free_task() can free perf_event_ctxp[perf_sw_context]\ncopied from parent-\u003eperf_event_ctxp[] by dup_task_struct().\n\nAlso move the initialization of perf_event_mutex and\nperf_event_list from perf_event_init_context() to\nperf_event_init_context().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\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: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nLKML-Reference: \u003c20110119182228.GC12183@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dbe08d82ce3967ccdf459f7951d02589cf967300",
      "tree": "2f8fc95749e47ff0de4b369f298898e4db5ad391",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jan 19 19:22:07 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 19 20:04:27 2011 +0100"
      },
      "message": "perf: Fix find_get_context() vs perf_event_exit_task() race\n\nfind_get_context() must not install the new perf_event_context\nif the task has already passed perf_event_exit_task().\n\nIf nothing else, this means the memory leak. Initially\nctx-\u003erefcount \u003d\u003d 2, it is supposed that\nperf_event_exit_task_context() should participate and do the\nnecessary put_ctx().\n\nfind_lively_task_by_vpid() checks PF_EXITING but this buys\nnothing, by the time we call find_get_context() this task can be\nalready dead. To the point, cmpxchg() can succeed when the task\nhas already done the last schedule().\n\nChange find_get_context() to populate task-\u003eperf_event_ctxp[]\nunder task-\u003eperf_event_mutex, this way we can trust PF_EXITING\nbecause perf_event_exit_task() takes the same mutex.\n\nAlso, change perf_event_exit_task_context() to use\nrcu_dereference(). Probably this is not strictly needed, but\nwith or without this change find_get_context() can race with\nsetup_new_exec()-\u003eperf_event_exit_task(), rcu_dereference()\nlooks better.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\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: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nLKML-Reference: \u003c20110119182207.GB12183@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "335bc70b6b5fdc9b4e28cb56c27f10124064f9da",
      "tree": "7f5a1594a09cdcb2ea9a5d768ea72c0256f6aa3c",
      "parents": [
        "404cbbd52f10d1d5719ad82ce8ba903890779255",
        "66832eb4baaaa9abe4c993ddf9113a79e39b9915"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 14:29:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 14:29:37 2011 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf: Validate cpu early in perf_event_alloc()\n  perf: Find_get_context: fix the per-cpu-counter check\n  perf: Fix contexted inheritance\n"
    },
    {
      "commit": "66832eb4baaaa9abe4c993ddf9113a79e39b9915",
      "tree": "bc1b60069c5313231a5ddca0f0dcab953489bb1e",
      "parents": [
        "22a4ec729017ba613337a28f306f94ba5023fe2e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 18 17:10:32 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 19:34:23 2011 +0100"
      },
      "message": "perf: Validate cpu early in perf_event_alloc()\n\nStarting from perf_event_alloc()-\u003eperf_init_event(), the kernel\nassumes that event-\u003ecpu is either -1 or the valid CPU number.\n\nChange perf_event_alloc() to validate this argument early. This\nalso means we can remove the similar check in\nfind_get_context().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\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: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: gregkh@suse.de\nCc: stable@kernel.org\nLKML-Reference: \u003c20110118161032.GC693@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "22a4ec729017ba613337a28f306f94ba5023fe2e",
      "tree": "a0e6ad7131088b4e1cf1072f76f9b34ead7e9065",
      "parents": [
        "c5ed5145591774bd9a2960ba4ca45a02fc70aad1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Jan 18 17:10:08 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 19:34:23 2011 +0100"
      },
      "message": "perf: Find_get_context: fix the per-cpu-counter check\n\nIf task \u003d\u003d NULL, find_get_context() should always check that cpu\nis correct.\n\nAfaics, the bug was introduced by 38a81da2 \"perf events: Clean\nup pid passing\", but even before that commit \"\u0026\u0026 cpu !\u003d -1\" was\nnot exactly right, -ESRCH from find_task_by_vpid() is not\naccurate.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\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: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: gregkh@suse.de\nCc: stable@kernel.org\nLKML-Reference: \u003c20110118161008.GB693@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c5ed5145591774bd9a2960ba4ca45a02fc70aad1",
      "tree": "f7e53164a33e1a0a41a4b3a7b508835361e39689",
      "parents": [
        "ad7f4e3f7b966ac09c8f98dbc5024813a1685775"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jan 17 13:45:37 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 18 15:10:35 2011 +0100"
      },
      "message": "perf: Fix contexted inheritance\n\nLinus reported that the RCU lockdep annotation bits triggered for this\nrcu_dereference() because we\u0027re not holding rcu_read_lock().\n\nGoing over the code I cannot convince myself its correct:\n\n - holding a ref on the parent_ctx, doesn\u0027t avoid it being uncloned\n   concurrently (as the comment says), so we can race with a free.\n\n - holding parent_ctx-\u003emutex doesn\u0027t avoid the above free from taking\n   place either, it would at best avoid parent_ctx from being freed.\n\nI.e. the warning is correct. To fix the bug, serialize against the\nunclone_ctx() call by extending the reach of the parent_ctx-\u003elock.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "4158755d3136f4cb05c1a8a260e9c06f93baeb48",
      "tree": "4ca2b7b020582a4b353af84d5684a91d4bcf995d",
      "parents": [
        "5632ab12e9e1fcd7e94058567e181d8f35e83798"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jan 03 18:20:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:08:51 2011 +0100"
      },
      "message": "perf_events: Add perf_event_time()\n\nAdds perf_event_time() to try and centralize access to event\ntiming and in particular ctx-\u003etime. Prepares for cgroup support.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4d22059c.122ae30a.5e0e.ffff8b8b@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5632ab12e9e1fcd7e94058567e181d8f35e83798",
      "tree": "70b077bd489e889bb049ded097119ea382a254f3",
      "parents": [
        "0b3fcf178deefd7b64154c2c0760a2c63df0b74f"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jan 03 18:20:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:08:51 2011 +0100"
      },
      "message": "perf_events: Generalize use of event_filter_match()\n\nReplace all occurrences of:\n\tevent-\u003ecpu !\u003d -1 \u0026\u0026 event-\u003ecpu \u003d\u003d smp_processor_id()\nby a call to:\n\tevent_filter_match(event)\n\nThis makes the code more consistent and will make the cgroup\npatch smaller.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4d220593.2308e30a.48c5.ffff8ae9@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0b3fcf178deefd7b64154c2c0760a2c63df0b74f",
      "tree": "b84509c9ac5935ac41f6fc9c444bc406cd2c54d8",
      "parents": [
        "23a2f3ab46596d9fd0b0e592d2101bea90970594"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Jan 03 18:20:01 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:08:50 2011 +0100"
      },
      "message": "perf_events: Move code around to prepare for cgroup\n\nIn particular this patch move perf_event_exit_task() before\ncgroup_exit() to allow for cgroup support. The cgroup_exit()\nfunction detaches the cgroups attached to a task.\n\nOther movements include hoisting some definitions and inlines\nat the top of perf_event.c\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4d22058b.cdace30a.4657.ffff95b1@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4b7bd364700d9ac8372eff48832062b936d0793b",
      "tree": "0dbf78c95456a0b02d07fcd473281f04a87e266d",
      "parents": [
        "c0d8768af260e2cbb4bf659ae6094a262c86b085",
        "90a8a73c06cc32b609a880d48449d7083327e11a"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Wed Dec 22 18:57:02 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nConflicts:\n\tMAINTAINERS\n\tarch/arm/mach-omap2/pm24xx.c\n\tdrivers/scsi/bfa/bfa_fcpim.c\n\nNeeded to update to apply fixes for which the old branch was too\noutdated.\n"
    },
    {
      "commit": "abe43400579d5de0078c2d3a760e6598e183f871",
      "tree": "1f6faf8a1ab60f3f9bfb26265c84c2725e6c4aaa",
      "parents": [
        "2e80a82a49c4c7eca4e35734380f28298ba5db19"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 17 23:17:37 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:36:43 2010 +0100"
      },
      "message": "perf: Sysfs enumeration\n\nSimple sysfs emumeration of the PMUs.\n\nUse a \"event_source\" bus, and add PMU devices using their name.\n\nEach PMU device has a type attribute which contrains the value needed\nfor perf_event_attr::type to identify this PMU.\n\nThis is the minimal stub needed to start using this interface,\nwe\u0027ll consider extending the sysfs usage later.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101117222056.316982569@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e80a82a49c4c7eca4e35734380f28298ba5db19",
      "tree": "c60fe1cc6696c893a2c6c5891981bf8e81d9ab90",
      "parents": [
        "9f58a205c62d0dad1df38d076324a89b1a0f1d65"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 17 23:17:36 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:36:43 2010 +0100"
      },
      "message": "perf: Dynamic pmu types\n\nExtend the perf_pmu_register() interface to allow for named and\ndynamic pmu types.\n\nBecause we need to support the existing static types we cannot use\ndynamic types for everything, hence provide a type argument.\n\nIf we want to enumerate the PMUs they need a name, provide one.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101117222056.259707703@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "006b20fe4c69189b0d854e5eabf269e50ca86cdd",
      "tree": "948b08825a36114c85ddc2bfcd965c261e32810f",
      "parents": [
        "5f29805a4f4627e766f862ff9f10c14f5f314359",
        "d949750fed168b6553ca11ed19e4affd19d7a4d7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:22:25 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:22:27 2010 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: We want to apply a dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ce677831a4abd0f9f957c90ac6f6a0d0472bafb4",
      "tree": "755fb098fa0e27bfa710272cd5686dabc7922360",
      "parents": [
        "5167695753c63444a9e6cbbef136200a16c7a225"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sun Oct 24 21:50:42 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 16 11:14:31 2010 +0100"
      },
      "message": "perf: Fix off by one in perf_swevent_init()\n\nThe perf_swevent_enabled[] array has PERF_COUNT_SW_MAX elements.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101024195041.GT5985@bicker\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c277443cfc29b1623b4923219ff0bdb48b91b589",
      "tree": "0655516f81164a42dfb06e416b54c50cac33f433",
      "parents": [
        "c079c791c5a0627fc7b752d31d72e274e0596ba8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Dec 08 15:29:02 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:16:31 2010 +0100"
      },
      "message": "perf: Stop all counters on reboot\n\nUse the reboot notifier to detach all running counters on reboot, this\nsolves a problem with kexec where the new kernel doesn\u0027t expect\nrunning counters (rightly so).\n\nIt will however decrease the coverage of the NMI watchdog. Making a\nkexec specific reboot notifier callback would be best, however that\nwould require touching all notifier callback handlers as they are not\nproperly structured to deal with new state.\n\nAs a compromise, place the perf reboot notifier at the very last\nposition in the list.\n\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Don Zickus \u003cdzickus@redhat.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5167695753c63444a9e6cbbef136200a16c7a225",
      "tree": "6394b1e620027882556beb2e899449805dd3c3cc",
      "parents": [
        "6313e3c21743cc88bb5bd8aa72948ee1e83937b6"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Dec 07 14:18:20 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 08 20:14:08 2010 +0100"
      },
      "message": "perf: Fix duplicate events with multiple-pmu vs software events\n\nBecause the multi-pmu bits can share contexts between struct pmu\ninstances we could get duplicate events by iterating the pmu list.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c980d1091810df13f21aabbce545fd98f545bbf7",
      "tree": "ccf26c6f97ac4965dee6daa7a91dde6b4108b94e",
      "parents": [
        "6844c09d849aeb00e8ddfe9525e8567a531c22d0"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Dec 04 23:02:20 2010 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Dec 04 23:02:20 2010 -0200"
      },
      "message": "perf events: Make sample_type identity fields available in all PERF_RECORD_ events\n\nIf perf_event_attr.sample_id_all is set it will add the PERF_SAMPLE_ identity\ninfo:\n\nTID, TIME, ID, CPU, STREAM_ID\n\nAs a trailer, so that older perf tools can process new files, just ignoring the\nextra payload.\n\nWith this its possible to do further analysis on problems in the event stream,\nlike detecting reordering of MMAP and FORK events, etc.\n\nV2: Fixup header size in comm, mmap and task processing, as we have to take into\naccount different sample_types for each matching event, noticed by Thomas Gleixner.\n\nThomas also noticed a problem in v2 where if we didn\u0027t had space in the buffer we\nwouldn\u0027t restore the header size.\n\nTested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "6844c09d849aeb00e8ddfe9525e8567a531c22d0",
      "tree": "6377067b6979199b249596aa6f3c9204d38cb8eb",
      "parents": [
        "614b6780eb0c393d2fb49ff62d61f29b877bd07e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Dec 03 16:36:35 2010 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Dec 04 22:56:48 2010 -0200"
      },
      "message": "perf events: Separate the routines handling the PERF_SAMPLE_ identity fields\n\nThose will be made available in sample like events like MMAP, EXEC, etc in a\nfollowup patch. So precalculate the extra id header space and have a separate\nroutine to fill them up.\n\nV2: Thomas noticed that the id header needs to be precalculated at\ninherit_events too:\n\nLKML-Reference: \u003calpine.LFD.2.00.1012031245220.2653@localhost6.localdomain6\u003e\n\nTested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLKML-Reference: \u003c1291318772-30880-2-git-send-email-acme@infradead.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "614b6780eb0c393d2fb49ff62d61f29b877bd07e",
      "tree": "6c366435b7960dfa84f5592486a2fad8f4526205",
      "parents": [
        "e4b546a3643fbfc510d5ef7db538e4d3ab00effb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 03 16:24:32 2010 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Dec 04 22:56:11 2010 -0200"
      },
      "message": "perf events: Fix event inherit fallout of precalculated headers\n\nThe precalculated header size is not updated when an event is inherited. That\nresults in bogus sample entries for all child events. Bug introduced in c320c7b.\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLKML-Reference: \u003calpine.LFD.2.00.1012031245220.2653@localhost6.localdomain6\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "c320c7b7d380e630f595de1236d9d085b035d5b4",
      "tree": "e1544fa8cc259a1d300fac9104dd3c46458572fe",
      "parents": [
        "068ffaa8bfb67c2ddb3ecaf38cc90f94a1a92fe3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Oct 20 12:50:11 2010 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Nov 30 19:19:04 2010 -0200"
      },
      "message": "perf events: Precalculate the header space for PERF_SAMPLE_ fields\n\nPERF_SAMPLE_{CALLCHAIN,RAW} have variable lenghts per sample, but the others\ncan be precalculated, reducing a bit the per sample cost.\n\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ian Munsie \u003cimunsie@au1.ibm.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "fa9f90be745d3b600a9d97a063be404c5e5d9071",
      "tree": "b1d3a0c309c2518effde9df050c2714d116f98e9",
      "parents": [
        "73d8c34f3d78ccf90a431c221df10377affce650"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sun Nov 28 21:39:34 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Nov 28 23:08:04 2010 +0100"
      },
      "message": "Kill off a bunch of warning: ‘inline’ is not at beginning of declaration\n\nThese warnings are spewed during a build of a \u0027allnoconfig\u0027 kernel\n(especially the ones from u64_stats_sync.h show up a lot) when building\nwith -Wextra (which I often do)..\nThey are\n  a) annoying\n  b) easy to get rid of.\nThis patch kills them off.\n\ninclude/linux/u64_stats_sync.h:70:1: warning: ‘inline’ is not at beginning of declaration\ninclude/linux/u64_stats_sync.h:77:1: warning: ‘inline’ is not at beginning of declaration\ninclude/linux/u64_stats_sync.h:84:1: warning: ‘inline’ is not at beginning of declaration\ninclude/linux/u64_stats_sync.h:96:1: warning: ‘inline’ is not at beginning of declaration\ninclude/linux/u64_stats_sync.h:115:1: warning: ‘inline’ is not at beginning of declaration\ninclude/linux/u64_stats_sync.h:127:1: warning: ‘inline’ is not at beginning of declaration\nkernel/time.c:241:1: warning: ‘inline’ is not at beginning of declaration\nkernel/time.c:257:1: warning: ‘inline’ is not at beginning of declaration\nkernel/perf_event.c:4513:1: warning: ‘inline’ is not at beginning of declaration\nmm/page_alloc.c:4012:1: warning: ‘inline’ is not at beginning of declaration\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "963988262c3c8f4234f64a0dde59446a295e07bb",
      "tree": "4bdb97b340fe0432f7259bfcc7b64b4bc8d65c2d",
      "parents": [
        "5d508e820a23d9b6e8a149dfaa8ba5cbedf3d95c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 24 18:55:29 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:14:55 2010 +0100"
      },
      "message": "perf: Ignore non-sampling overflows\n\nSome arch implementations call perf_event_overflow() by \u0027accident\u0027,\nignore this.\n\nReported-by: Francis Moreau \u003cfrancis.moro@gmail.com\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": "5d508e820a23d9b6e8a149dfaa8ba5cbedf3d95c",
      "tree": "f11741710e4a2bb6b5c50e0d0b8c8cea0e6d9d6d",
      "parents": [
        "2e939d1da9b5628642314c1e68b4319e61263c94"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "fbuihuu@gmail.com",
        "time": "Tue Nov 23 16:21:45 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:14:55 2010 +0100"
      },
      "message": "perf: Don\u0027t bother to init the hrtimer for no SW sampling counters\n\nSigned-off-by: Franck Bui-Huu \u003cfbuihuu@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290525705-6265-3-git-send-email-fbuihuu@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2e939d1da9b5628642314c1e68b4319e61263c94",
      "tree": "6f950949dcacdb1332b8001351fb317777df4930",
      "parents": [
        "6c7e550f13f8ad82efb6a5653ae628c2543c1768"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "fbuihuu@gmail.com",
        "time": "Tue Nov 23 16:21:44 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:14:55 2010 +0100"
      },
      "message": "perf: Limit event refresh to sampling event\n\nSigned-off-by: Franck Bui-Huu \u003cfbuihuu@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290525705-6265-2-git-send-email-fbuihuu@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c7e550f13f8ad82efb6a5653ae628c2543c1768",
      "tree": "1c994b999648fbe51ffe4312e2d6827aedd5f012",
      "parents": [
        "35d3778a8fe3c8b4a7513565e34d3bde00ce43ec"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "fbuihuu@gmail.com",
        "time": "Tue Nov 23 16:21:43 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:14:54 2010 +0100"
      },
      "message": "perf: Introduce is_sampling_event()\n\nand use it when appropriate.\n\nSigned-off-by: Franck Bui-Huu \u003cfbuihuu@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1290525705-6265-1-git-send-email-fbuihuu@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6c869e772c72d509d0db243a56c205ef48a29baf",
      "tree": "9a290f1742526a8816f94560cb09bc0a09c910de",
      "parents": [
        "e4e91ac410356da3a518188f371e9d3b52ee38ee",
        "ee6dcfa40a50fe12a3ae0fb4d2653c66c3ed6556"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:07:02 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:07:02 2010 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\tarch/x86/kernel/apic/hw_nmi.c\n\nMerge reason: Resolve conflict, queue up dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee6dcfa40a50fe12a3ae0fb4d2653c66c3ed6556",
      "tree": "e77ac01a6bf2106f7a2c22f00e43cb2960d72ba5",
      "parents": [
        "cc2067a51424dd25c10c1b1230b4222d8baec94d"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Nov 26 13:49:04 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:00:59 2010 +0100"
      },
      "message": "perf: Fix the software context switch counter\n\nStephane noticed that because the perf_sw_event() call is inside the\nperf_event_task_sched_out() call it won\u0027t get called unless we\nhave a per-task counter.\n\nReported-by: Stephane Eranian \u003ceranian@google.com\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": "dddd3379a619a4cb8247bfd3c94ca9ae3797aa2e",
      "tree": "9b090784b46956d236b51c4addfcd97f575f205e",
      "parents": [
        "02a9d03772aa1ff33a26180a2da0bfb191240eda"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 24 10:05:55 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Nov 26 15:00:56 2010 +0100"
      },
      "message": "perf: Fix inherit vs. context rotation bug\n\nIt was found that sometimes children of tasks with inherited events had\none extra event. Eventually it turned out to be due to the list rotation\nno being exclusive with the list iteration in the inheritance code.\n\nCure this by temporarily disabling the rotation while we inherit the events.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\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": "ae51ce9061b1ddc0fde363913c932bee5b9bc5fd",
      "tree": "40fd3d633714d2a53fdbd2bdd172fb61232d999a",
      "parents": [
        "072b198a4ad48bd722ec6d203d65422a4698eae7",
        "423478cde453eebdfcfebf4b8d378d8f5d49b853"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 20:07:12 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 20:07:12 2010 +0100"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core\n"
    },
    {
      "commit": "61c32659b12c44e62de32fbf99f7e4ca783dc38b",
      "tree": "231c285da4178f7602deb75241b3bb5b02caf898",
      "parents": [
        "9c0729dc8062bed96189bd14ac6d4920f3958743"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Nov 18 01:39:17 2010 +0100"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Nov 18 14:37:40 2010 +0100"
      },
      "message": "tracing: New flag to allow non privileged users to use a trace event\n\nThis adds a new trace event internal flag that allows them to be\nused in perf by non privileged users in case of task bound tracing.\n\nThis is desired for syscalls tracepoint because they don\u0027t leak\nglobal system informations, like some other tracepoints.\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: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\n"
    },
    {
      "commit": "8882135bcd332f294df5455747ea43ba9e6f77ad",
      "tree": "758f26d26750fd5007e885cc28125f7c1fa24ca6",
      "parents": [
        "fcf48a725a176ba12aa7be64c50190deaa2f86df"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 09 19:01:43 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:18:46 2010 +0100"
      },
      "message": "perf: Fix owner-list vs exit\n\nOleg noticed that a perf-fd keeping a reference on the creating task\nleads to a few funny side effects.\n\nThere\u0027s two different aspects to this:\n\n  - kernel based perf-events, these should not take out\n    a reference on the creating task and appear on the task\u0027s\n    event list since they\u0027re not bound to fds nor visible\n    to userspace.\n\n  - fork() and pthread_create(), these can lead to the creating\n    task dying (and thus the task\u0027s event-list becomming useless)\n    but keeping the list and ref alive until the event is closed.\n\nCombined they lead to malfunction of the ptrace hw_tracepoints.\n\nCure this by not considering kernel based perf_events for the\nowner-list and destroying the owner-list when the owner dies.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nLKML-Reference: \u003c1289576883.2084.286.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fcf48a725a176ba12aa7be64c50190deaa2f86df",
      "tree": "5d611ba5b1eb4dd821c93ca2f9d08078b563305a",
      "parents": [
        "0e2af2a9abf94b408ff70679b692a8644fed4aab",
        "3c502e7a0255d82621ff25d60cc816624830497e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 10:37:51 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 10:37:51 2010 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/urgent\n"
    },
    {
      "commit": "3c502e7a0255d82621ff25d60cc816624830497e",
      "tree": "1f30638f22ef9ed748fac1f73cb18169efe49ae7",
      "parents": [
        "6c0aca288e726405b01dacb12cac556454d34b2a"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Nov 04 17:33:01 2010 -0500"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Nov 12 14:51:55 2010 +0100"
      },
      "message": "perf,hw_breakpoint: Initialize hardware api earlier\n\nWhen using early debugging, the kernel does not initialize the\nhw_breakpoint API early enough and causes the late initialization of\nthe kernel debugger to fail. The boot arguments are:\n\n    earlyprintk\u003dvga ekgdboc\u003dkbd kgdbwait\n\nThen simply type \"go\" at the kdb prompt and boot. The kernel will\nlater emit the message:\n\n    kgdb: Could not allocate hwbreakpoints\n\nAnd at that point the kernel debugger will cease to work correctly.\n\nThe solution is to initialize the hw_breakpoint at the same time that\nall the other perf call backs are initialized instead of using a\ncore_initcall() initialization which happens well after the kernel\ndebugger can make use of hardware breakpoints.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCC: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCC: Ingo Molnar \u003cmingo@elte.hu\u003e\nCC: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4CD3396D.1090308@windriver.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "eed01528a45dc4138e9a08064b4b6cc1a9426899",
      "tree": "c7b4256b4158abc74338f14ac2071ec33c52d7e6",
      "parents": [
        "7e55055e5bb00085051ca59c570c83a820e1e0ee"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Tue Oct 26 16:08:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Nov 10 22:58:39 2010 +0100"
      },
      "message": "perf_events: Fix time tracking in samples\n\nThis patch corrects time tracking in samples. Without this patch\nboth time_enabled and time_running are bogus when user asks for\nPERF_SAMPLE_READ.\n\nOne uses PERF_SAMPLE_READ to sample the values of other counters\nin each sample. Because of multiplexing, it is necessary to know\nboth time_enabled, time_running to be able to scale counts correctly.\n\nIn this second version of the patch, we maintain a shadow\ncopy of ctx-\u003etime which allows us to compute ctx-\u003etime without\ncalling update_context_time() from NMI context. We avoid the\nissue that update_context_time() must always be called with\nctx-\u003elock held.\n\nWe do not keep shadow copies of the other event timings\nbecause if the lead event is overflowing then it is active\nand thus it\u0027s been scheduled in via event_sched_in() in\nwhich case neither tstamp_stopped, tstamp_running can be modified.\n\nThis timing logic only applies to samples when PERF_SAMPLE_READ\nis used.\n\nNote that this patch does not address timing issues related\nto sampling inheritance between tasks. This will be addressed\nin a future patch.\n\nWith this patch, the libpfm4 example task_smpl now reports\ncorrect counts (shown on 2.4GHz Core 2):\n\n$ task_smpl -p 2400000000 -e unhalted_core_cycles:u,instructions_retired:u,baclears  noploop 5\nnoploop for 5 seconds\nIIP:0x000000004006d6 PID:5596 TID:5596 TIME:466,210,211,430 STREAM_ID:33 PERIOD:2,400,000,000 ENA\u003d1,010,157,814 RUN\u003d1,010,157,814 NR\u003d3\n\t2,400,000,254 unhalted_core_cycles:u (33)\n\t2,399,273,744 instructions_retired:u (34)\n\t53,340 baclears (35)\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4cc6e14b.1e07e30a.256e.5190@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d7842da470f244d258f21c5f72cd8388b3541d04",
      "tree": "02196f905f3c27ab9dfc85b26dbb32348d943d60",
      "parents": [
        "9ffcfa6f1f63eeac15555b745c292eb9f59130f6"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Wed Oct 20 15:25:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 22 14:18:27 2010 +0200"
      },
      "message": "perf_events: Fix for transaction recovery in group_sched_in()\n\nThis new version (see commit 8e5fc1a) is much simpler and ensures that\nin case of error in group_sched_in() during event_sched_in(), the\nevents up to the failed event go through regular event_sched_out().\nBut the failed event and the remaining events in the group have their\ntimings adjusted as if they had also gone through event_sched_in() and\nevent_sched_out(). This ensures timing uniformity across all events in\na group. This also takes care of the tstamp_stopped problem in case\nthe group could never be scheduled. The tstamp_stopped is updated as\nif the event had actually run.\n\nWith this patch, the following now reports correct time_enabled,\nin case the NMI watchdog is active:\n\n$ task -e unhalted_core_cycles,instructions_retired,baclears,baclears\nnoploop 1\nnoploop for 1 seconds\n\n0 unhalted_core_cycles (100.00% scaling, ena\u003d997,552,872, run\u003d0)\n0 instructions_retired (100.00% scaling, ena\u003d997,552,872, run\u003d0)\n0 baclears (100.00% scaling, ena\u003d997,552,872, run\u003d0)\n0 baclears (100.00% scaling, ena\u003d997,552,872, run\u003d0)\n\nAnd the older test case also works:\n\n$ task -einstructions_retired,baclears,baclears -e\nunhalted_core_cycles,baclears,baclears sleep 5\n\n1680885 instructions_retired (69.39% scaling, ena\u003d950756, run\u003d291006)\n  10735 baclears (69.39% scaling, ena\u003d950756, run\u003d291006)\n  10735 baclears (69.39% scaling, ena\u003d950756, run\u003d291006)\n\n      0 unhalted_core_cycles (100.00% scaling, ena\u003d817932, run\u003d0)\n      0 baclears (100.00% scaling, ena\u003d817932, run\u003d0)\n      0 baclears (100.00% scaling, ena\u003d817932, run\u003d0)\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4cbeeebc.8ee7d80a.5a28.0d5f@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9ffcfa6f1f63eeac15555b745c292eb9f59130f6",
      "tree": "803cc11f312da98713fdfc366b7ec79351dffa55",
      "parents": [
        "96681fc3c9e7d1f89ab64e5eec40b6467c97680f"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Wed Oct 20 15:25:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Oct 22 14:18:27 2010 +0200"
      },
      "message": "perf_events: Revert: Fix transaction recovery in group_sched_in()\n\nThis patch reverts commit 8e5fc1a (perf_events: Fix transaction\nrecovery in group_sched_in()) because it had one flaw in case the\ngroup could never be scheduled. It would cause time_enabled to get\nnegative.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4cbeeeb7.0aefd80a.6e40.0e2f@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d70f79b5ef6ea2de4f72a37b2d96e2601e40a22",
      "tree": "a0d6de0930ba83ecf4629c2e2e261f5eaa2d8f33",
      "parents": [
        "888a6f77e0418b049f83d37547c209b904d30af4",
        "750ed158bf6c782d2813da1bca2c824365a0b777"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 21 12:54:49 2010 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (163 commits)\n  tracing: Fix compile issue for trace_sched_wakeup.c\n  [S390] hardirq: remove pointless header file includes\n  [IA64] Move local_softirq_pending() definition\n  perf, powerpc: Fix power_pmu_event_init to not use event-\u003ectx\n  ftrace: Remove recursion between recordmcount and scripts/mod/empty\n  jump_label: Add COND_STMT(), reducer wrappery\n  perf: Optimize sw events\n  perf: Use jump_labels to optimize the scheduler hooks\n  jump_label: Add atomic_t interface\n  jump_label: Use more consistent naming\n  perf, hw_breakpoint: Fix crash in hw_breakpoint creation\n  perf: Find task before event alloc\n  perf: Fix task refcount bugs\n  perf: Fix group moving\n  irq_work: Add generic hardirq context callbacks\n  perf_events: Fix transaction recovery in group_sched_in()\n  perf_events: Fix bogus AMD64 generic TLB events\n  perf_events: Fix bogus context time tracking\n  tracing: Remove parent recording in latency tracer graph options\n  tracing: Use one prologue for the preempt irqs off tracer function tracers\n  ...\n"
    },
    {
      "commit": "7e54a5a0b655734326dc78c2b5efc1eb35497bb6",
      "tree": "71346dfdb01ef387ad1aaaccbf72b3127814ce92",
      "parents": [
        "82cd6def9806dcb6a325fb6abbc1d61388a15f6a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 14 22:32:45 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 19:58:59 2010 +0200"
      },
      "message": "perf: Optimize sw events\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\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": "82cd6def9806dcb6a325fb6abbc1d61388a15f6a",
      "tree": "569ce440f8a0619adb8c3791d6b68eecdb2fd29c",
      "parents": [
        "8b92538d84e50062560ba33adbaed7887b6e4a42"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 14 17:57:23 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 19:58:58 2010 +0200"
      },
      "message": "perf: Use jump_labels to optimize the scheduler hooks\n\nTrades a call + conditional + ret for an unconditional jmp.\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101014203625.501657727@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d580ff8699e8811a9af37e9de4dea375401bdeec",
      "tree": "f2789d8a8628b856ad902c0bfbb1899e6cc67697",
      "parents": [
        "c6be5a5cb62592d9d661899a2aa78236eb00ffa5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 14 17:43:23 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 19:58:55 2010 +0200"
      },
      "message": "perf, hw_breakpoint: Fix crash in hw_breakpoint creation\n\nhw_breakpoint creation needs to account stuff per-task to ensure there\nis always sufficient hardware resources to back these things due to\nptrace.\n\nWith the perf per pmu context changes the event initialization no\nlonger has access to the event context, for the simple reason that we\nneed to first find the pmu (result of initialization) before we can\nfind the context.\n\nThis makes hw_breakpoints unhappy, because it can no longer do per\ntask accounting, cure this by frobbing a task pointer in the event::hw\nbits for now...\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003c20101014203625.391543667@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c6be5a5cb62592d9d661899a2aa78236eb00ffa5",
      "tree": "510a7b92a65a2faf7395f6ab37be44328f0186cf",
      "parents": [
        "e7d0bc047548d76feee6b23f7d3d9da927189a50"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 14 16:59:46 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 19:58:54 2010 +0200"
      },
      "message": "perf: Find task before event alloc\n\nSo that we can pass the task pointer to the event allocation, so that\nwe can use task associated data during event initialization.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101014203625.340789919@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e7d0bc047548d76feee6b23f7d3d9da927189a50",
      "tree": "be1cd1fc48f6458a2efa4d0bfac53808938208dc",
      "parents": [
        "74c3337c2fc6389d3a57a622a936036b6db6b2e8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 14 16:54:51 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 19:58:52 2010 +0200"
      },
      "message": "perf: Fix task refcount bugs\n\nCurrently it looks like find_lively_task_by_vpid() takes a task ref\nand relies on find_get_context() to drop it.\n\nThe problem is that perf_event_create_kernel_counter() shouldn\u0027t be\ndropping task refs.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nLKML-Reference: \u003c20101014203625.278436085@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74c3337c2fc6389d3a57a622a936036b6db6b2e8",
      "tree": "d87232b7cc19eef0f1fe0a0bb167868513819b31",
      "parents": [
        "e360adbe29241a0194e10e20595360dd7b98a2b3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Oct 15 11:40:29 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 19:58:51 2010 +0200"
      },
      "message": "perf: Fix group moving\n\nMatt found we trigger the WARN_ON_ONCE() in perf_group_attach() when we take\nthe move_group path in perf_event_open().\n\nSince we cannot de-construct the group (we rely on it to move the events), we\nhave to simply ignore the double attach. The group state is context invariant\nand doesn\u0027t need changing.\n\nReported-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c1287135757.29097.1368.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e360adbe29241a0194e10e20595360dd7b98a2b3",
      "tree": "ef5fa5f50a895096bfb25bc11b25949603158238",
      "parents": [
        "8e5fc1a7320baf6076391607515dceb61319b36a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 14 14:01:34 2010 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 19:58:50 2010 +0200"
      },
      "message": "irq_work: Add generic hardirq context callbacks\n\nProvide a mechanism that allows running code in IRQ context. It is\nmost useful for NMI code that needs to interact with the rest of the\nsystem -- like wakeup a task to drain buffers.\n\nPerf currently has such a mechanism, so extract that and provide it as\na generic feature, independent of perf so that others may also\nbenefit.\n\nThe IRQ context callback is generated through self-IPIs where\npossible, or on architectures like powerpc the decrementer (the\nbuilt-in timer facility) is set to generate an interrupt immediately.\n\nArchitectures that don\u0027t have anything like this get to do with a\ncallback from the timer tick. These architectures can call\nirq_work_run() at the tail of any IRQ handlers that might enqueue such\nwork (like the perf IRQ handler) to avoid undue latencies in\nprocessing the work.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n[ various fixes ]\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nLKML-Reference: \u003c1287036094.7768.291.camel@yhuang-dev\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8e5fc1a7320baf6076391607515dceb61319b36a",
      "tree": "24a5e7ac4bbd8a960fa90ce2a668b9475a3f0b16",
      "parents": [
        "ba0cef3d149ce4db293c572bf36ed352b11ce7b9"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Fri Oct 15 16:54:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 19:58:49 2010 +0200"
      },
      "message": "perf_events: Fix transaction recovery in group_sched_in()\n\nThe group_sched_in() function uses a transactional approach to schedule\na group of events. In a group, either all events can be scheduled or\nnone are. To schedule each event in, the function calls event_sched_in().\nIn case of error, event_sched_out() is called on each event in the group.\n\nThe problem is that event_sched_out() does not completely cancel the\neffects of event_sched_in(). Furthermore event_sched_out() changes the\nstate of the event as if it had run which is not true is this particular\ncase.\n\nThose inconsistencies impact time tracking fields and may lead to events\nin a group not all reporting the same time_enabled and time_running values.\nThis is demonstrated with the example below:\n\n$ task -eunhalted_core_cycles,baclears,baclears -e unhalted_core_cycles,baclears,baclears sleep 5\n1946101 unhalted_core_cycles (32.85% scaling, ena\u003d829181, run\u003d556827)\n  11423 baclears (32.85% scaling, ena\u003d829181, run\u003d556827)\n   7671 baclears (0.00% scaling, ena\u003d556827, run\u003d556827)\n\n2250443 unhalted_core_cycles (57.83% scaling, ena\u003d962822, run\u003d405995)\n  11705 baclears (57.83% scaling, ena\u003d962822, run\u003d405995)\n  11705 baclears (57.83% scaling, ena\u003d962822, run\u003d405995)\n\nNotice that in the first group, the last baclears event does not\nreport the same timings as its siblings.\n\nThis issue comes from the fact that tstamp_stopped is updated\nby event_sched_out() as if the event had actually run.\n\nTo solve the issue, we must ensure that, in case of error, there is\nno change in the event state whatsoever. That means timings must\nremain as they were when entering group_sched_in().\n\nTo do this we defer updating tstamp_running until we know the\ntransaction succeeded. Therefore, we have split event_sched_in()\nin two parts separating the update to tstamp_running.\n\nSimilarly, in case of error, we do not want to update tstamp_stopped.\nTherefore, we have split event_sched_out() in two parts separating\nthe update to tstamp_stopped.\n\nWith this patch, we now get the following output:\n\n$ task -eunhalted_core_cycles,baclears,baclears -e unhalted_core_cycles,baclears,baclears sleep 5\n2492050 unhalted_core_cycles (71.75% scaling, ena\u003d1093330, run\u003d308841)\n  11243 baclears (71.75% scaling, ena\u003d1093330, run\u003d308841)\n  11243 baclears (71.75% scaling, ena\u003d1093330, run\u003d308841)\n\n1852746 unhalted_core_cycles (0.00% scaling, ena\u003d784489, run\u003d784489)\n   9253 baclears (0.00% scaling, ena\u003d784489, run\u003d784489)\n   9253 baclears (0.00% scaling, ena\u003d784489, run\u003d784489)\n\nNote that the uneven timing between groups is a side effect of\nthe process spending most of its time sleeping, i.e., not enough\nevent rotations (but that\u0027s a separate issue).\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c4cb86b4c.41e9d80a.44e9.3e19@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c530ccd9a1864a44a7ff35826681229ce9f2357a",
      "tree": "51cb7ae96aa2b6e144686e850255344b2d94b888",
      "parents": [
        "f92f6e6ee35d2779aa62e70f78ad8e1cd417eb52"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Fri Oct 15 15:26:01 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 19:58:46 2010 +0200"
      },
      "message": "perf_events: Fix bogus context time tracking\n\nYou can only call update_context_time() when the context\nis active, i.e., the thread it is attached to is still running.\n\nHowever, perf_event_read() can be called even when the context\nis inactive, e.g., user read() the counters. The call to\nupdate_context_time() must be conditioned on the status of\nthe context, otherwise, bogus time_enabled, time_running may\nbe returned. Here is an example on AMD64. The task program\nis an example from libpfm4. The -p prints deltas every 1s.\n\n$ task -p -e cpu_clk_unhalted sleep 5\n    2,266,610 cpu_clk_unhalted (0.00% scaling, ena\u003d2,158,982, run\u003d2,158,982)\n\t    0 cpu_clk_unhalted (0.00% scaling, ena\u003d2,158,982, run\u003d2,158,982)\n\t    0 cpu_clk_unhalted (0.00% scaling, ena\u003d2,158,982, run\u003d2,158,982)\n\t    0 cpu_clk_unhalted (0.00% scaling, ena\u003d2,158,982, run\u003d2,158,982)\n\t    0 cpu_clk_unhalted (0.00% scaling, ena\u003d2,158,982, run\u003d2,158,982)\n5,242,358,071 cpu_clk_unhalted (99.95% scaling, ena\u003d5,000,359,984, run\u003d2,319,270)\n\nWhereas if you don\u0027t read deltas, e.g., no call to perf_event_read() until\nthe process terminates:\n\n$ task -e cpu_clk_unhalted sleep 5\n    2,497,783 cpu_clk_unhalted (0.00% scaling, ena\u003d2,376,899, run\u003d2,376,899)\n\nNotice that time_enable, time_running are bogus in the first example\ncausing bogus scaling.\n\nThis patch fixes the problem, by conditionally calling update_context_time()\nin perf_event_read().\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: stable@kernel.org\nLKML-Reference: \u003c4cb856dc.51edd80a.5ae0.38fb@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6268464b370e234e0255330190f9bd5d19386ad7",
      "tree": "5742641092ce64227dd2086d78baaede57da1f80",
      "parents": [
        "7df01d96b295e400167e78061b81d4c91630b12d",
        "0fdf13606b67f830559abdaad15980c7f4f05ec4"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Oct 15 12:45:00 2010 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Fri Oct 15 12:45:00 2010 +0200"
      },
      "message": "Merge remote branch \u0027tip/perf/core\u0027 into oprofile/core\n\nConflicts:\n\tarch/arm/oprofile/common.c\n\tkernel/perf_event.c\n"
    },
    {
      "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": "ad0f7cfaa85fc033523a09ab1f3dd6b8ded3dff5",
      "tree": "2565121e4b9945d953e02c77a2e53065b3789aa4",
      "parents": [
        "86c8c04792f152c5469023885510140dd34817bc",
        "c7a27aa4652c63172489a73f3961455650a79a7f"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Oct 11 19:26:50 2010 +0200"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Oct 11 19:26:50 2010 +0200"
      },
      "message": "Merge branch \u0027oprofile/urgent\u0027 (early part) into oprofile/perf\n"
    },
    {
      "commit": "84c7991059c9c4530cc911137c5bf508a41ed129",
      "tree": "1fc9f7c8139f680f3d899328128a38e5087c30c7",
      "parents": [
        "3bf101ba42a1c89b5afbc7492e7647dae5e18735"
      ],
      "author": {
        "name": "Matt Fleming",
        "email": "matt@console-pimps.org",
        "time": "Sun Oct 03 21:41:13 2010 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Mon Oct 11 17:45:49 2010 +0200"
      },
      "message": "perf: New helper function for pmu name\n\nIntroduce perf_pmu_name() helper function that returns the name of the\npmu. This gives us a generic way to get the name of a pmu regardless of\nhow an architecture identifies it internally.\n\nSigned-off-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "540804b5c52065a87d826f7714b18a3ec0b269f9",
      "tree": "71144b372d615c9c188860f9eaea062bdb8cb1c5",
      "parents": [
        "d6dad199a10423ce37b8bfec1f055c380dc4a3d5"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Mon Oct 04 12:00:02 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 04 12:47:20 2010 +0200"
      },
      "message": "perf_events: Fix invalid pointer when pid is invalid\n\nThis patch fixes an error in perf_event_open() when the pid\nprovided by the user is invalid. find_lively_task_by_vpid()\ndoes not return NULL on error but an error code. Without the\nfix the error code was silently passed to find_get_context()\nwhich would eventually cause a invalid pointer dereference.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nCc: peterz@infradead.org\nCc: paulus@samba.org\nCc: davem@davemloft.net\nCc: fweisbec@gmail.com\nCc: perfmon2-devel@lists.sf.net\nCc: eranian@gmail.com\nCc: robert.richter@amd.com\nLKML-Reference: \u003c4ca9a5d1.e8e9d80a.3dbb.ffff8f2e@mx.google.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "41945f6ccf1e86f87fddf6b32db9cf431c05fb54",
      "tree": "cf64d47bfff06ff4560efcaa23a067fa99db34dd",
      "parents": [
        "8b8e2ec1eeca7f6941bc81cefc9663018d6ceb57"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 16 19:17:24 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 21 13:55:44 2010 +0200"
      },
      "message": "perf: Avoid RCU vs preemption assumptions\n\nThe per-pmu per-cpu context patch converted things from\nget_cpu_var() to this_cpu_ptr(), but that only works if\nrcu_read_lock() actually disables preemption, and since\nthere is no such guarantee, we need to fix that.\n\nUse the newly introduced {get,put}_cpu_ptr().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nLKML-Reference: \u003c20100917093009.308453028@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e9d2b064149ff7ef4acbc65a1b9374ac8b218d3e",
      "tree": "6ce885c6052a6e05046b9937376107e4bcf378fe",
      "parents": [
        "917bdd1c9b7b0f4c22f2504c2f0c1074c8ab9df7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 17 11:28:50 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 17 12:48:48 2010 +0200"
      },
      "message": "perf: Undo the per cpu-context timer stuff\n\nRevert the timer per cpu-context timers because of unfortunate\nnohz interaction. Fixing that would have been somewhat ugly, so\ngo back to driving things from the regular tick. Provide a\njiffies interval feature for people who want slower rotations.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nLKML-Reference: \u003c20100917093009.519845633@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "917bdd1c9b7b0f4c22f2504c2f0c1074c8ab9df7",
      "tree": "63b408a2b5951580d5c1bba7d64932ddee2c6d12",
      "parents": [
        "b04243ef7006cda301819f54ee7ce0a3632489e3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 17 11:28:49 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 17 12:48:48 2010 +0200"
      },
      "message": "perf: Fix perf_event_exit_cpu_context()\n\nUse the right cpu-context.. spotted by preempt warning on\nhot-unplug\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nLKML-Reference: \u003c20100917093009.461794357@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b04243ef7006cda301819f54ee7ce0a3632489e3",
      "tree": "e8e83c53d40dce08ad5bfc37ec1e58b3a5aa7adc",
      "parents": [
        "d14b12d7adbf214f33eb59f800b5c3d5ed9268e8"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 17 11:28:48 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 17 12:48:48 2010 +0200"
      },
      "message": "perf: Complete software pmu grouping\n\nAside from allowing software events into a !software group,\nallow adding !software events to pure software groups.\n\nOnce we\u0027ve moved the software group and attached the first\n!software event, the group will no longer be a pure software\ngroup and hence no longer be eligible for movement, at which\npoint the straight ctx comparison is correct again.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Stephane Eranian \u003ceranian@google.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nLKML-Reference: \u003c20100917093009.410784731@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d14b12d7adbf214f33eb59f800b5c3d5ed9268e8",
      "tree": "005705157545c70db6b751f38ae28702714fb1ed",
      "parents": [
        "74704ac6ea402d50c9543cb28247e6d9f521f7ae"
      ],
      "author": {
        "name": "Stephane Eranian",
        "email": "eranian@google.com",
        "time": "Fri Sep 17 11:28:47 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 17 12:48:47 2010 +0200"
      },
      "message": "perf_events: Fix broken event grouping\n\nEvents were not grouped anymore. The reason was that in\nperf_event_open(), the field event-\u003egroup_leader was\ninitialized before the function looked up the group_fd\nto find the event leader. This patch fixes this by\nreordering the code correctly.\n\nSigned-off-by: Stephane Eranian \u003ceranian@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nLKML-Reference: \u003c20100917093009.360420946@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "38a81da2205f94e8a2a834b51a6b99c91fc7c2e8",
      "tree": "5227c665f37d1c472608a44aaad0a04be68befb2",
      "parents": [
        "2ebd4ffb6d0cb877787b1e42be8485820158857e"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Mon Sep 13 13:01:20 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:44:00 2010 +0200"
      },
      "message": "perf events: Clean up pid passing\n\nThe kernel perf event creation path shouldn\u0027t use find_task_by_vpid()\nbecause a vpid exists in a specific namespace. find_task_by_vpid() uses\ncurrent\u0027s pid namespace which isn\u0027t always the correct namespace to use\nfor the vpid in all the places perf_event_create_kernel_counter() (and\nthus find_get_context()) is called.\n\nThe goal is to clean up pid namespace handling and prevent bugs like:\n\n\thttps://bugzilla.kernel.org/show_bug.cgi?id\u003d17281\n\nInstead of using pids switch find_get_context() to use task struct\npointers directly. The syscall is responsible for resolving the pid to\na task struct. This moves the pid namespace resolution into the syscall\nmuch like every other syscall that takes pid parameters.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Robin Green \u003cgreenrd@greenrd.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Mahesh Salgaonkar \u003cmahesh@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003ca134e5e392ab0204961fd1a62c84a222bf5874a9.1284407763.git.matthltc@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2ebd4ffb6d0cb877787b1e42be8485820158857e",
      "tree": "21db710a8f3de28f9554674e947da796a23d2e92",
      "parents": [
        "d958077d007d98125766d11e82da2fd6497b91d6"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Mon Sep 13 13:01:19 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 15 10:44:00 2010 +0200"
      },
      "message": "perf events: Split out task search into helper\n\nSplit out the code which searches for non-exiting tasks into its own\nhelper. Creating this helper not only makes the code slightly more\nreadable it prepares to move the search out of find_get_context() in\na subsequent commit.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Robin Green \u003cgreenrd@greenrd.org\u003e\nCc: Prasad \u003cprasad@linux.vnet.ibm.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Mahesh Salgaonkar \u003cmahesh@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003c561205417b450b8a4bf7488374541d64b4690431.1284407762.git.matthltc@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0c67b40872326a5340cab51d79a192a5fbaeb484",
      "tree": "e92b420dcb1375e159842d8ffa03a5230976ab3a",
      "parents": [
        "cde8e88498c8de69271fcb6d4dd974979368fa67"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 13 11:15:58 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 13 17:08:42 2010 +0200"
      },
      "message": "perf: Fix free_event()\n\nWith the context rework stuff we can actually end up freeing an event\nbefore it gets attached to a context.\n\nReported-by: Cyrill Gorcunov \u003cgorcunov@gmail.com\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": "cde8e88498c8de69271fcb6d4dd974979368fa67",
      "tree": "34eb745cc6f3e5a5dbe0918f4920424be70bcfff",
      "parents": [
        "b0b2072df3b544f56b90173c2cde7a374c51546b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 13 11:06:55 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Sep 13 17:08:42 2010 +0200"
      },
      "message": "perf: Sanitize the RCU logic\n\nSimplify things and simply synchronize against two RCU variants for\nPMU unregister -- we don\u0027t care about performance, its module unload\nif anything.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e5f4d3394a52ac351f1a479fe136d92fa5228eff",
      "tree": "57adeb66c5e98bf86613c15295e07cbb07952be3",
      "parents": [
        "cee010ec5211b96f33c5c2208f5c14ebb04b634a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 10 17:38:06 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 10 17:41:55 2010 +0200"
      },
      "message": "perf: Fix perf_init_event()\n\nWe ought to return -ENOENT when non of the registered PMUs\nrecognise the requested event.\n\nThis fixes a boot crash that occurs if no PMU is available\nbut the NMI watchdog tries to register an event.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\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": "cee010ec5211b96f33c5c2208f5c14ebb04b634a",
      "tree": "dae35fd772d7e18db94b320a0ffc97e55e719d0e",
      "parents": [
        "3b8fad3e2f5f69bfd8e42d099ca8582fb2342edf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Sep 10 12:51:54 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Sep 10 16:24:33 2010 +0200"
      },
      "message": "perf: Ensure we call add_event_to_ctx() with the right locks held\n\nEven though we call it from the inherit path, where the child is\nnot yet accessible, we need to hold ctx-\u003elock, add_event_to_ctx()\nassumes IRQs are disabled.\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": "4e231c7962ce711c7d8c2a4dc23ecd1e8fc28363",
      "tree": "05af30e5c2f1084d8e77c89f0e55beaafa2194c0",
      "parents": [
        "1b9a644fece117cfa5474a2388d6b89d1baf8ddf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 09 21:01:59 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 21:07:09 2010 +0200"
      },
      "message": "perf: Fix up delayed_put_task_struct()\n\nI missed a perf_event_ctxp user when converting it to an array. Pull this\nlast user into perf_event.c as well and fix it up.\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": "1b9a644fece117cfa5474a2388d6b89d1baf8ddf",
      "tree": "c89be6de269578501a365f7526a81fb64cb6ba93",
      "parents": [
        "89a1e18731959e9953fae15ddc1a983eb15a4f19"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 07 18:32:22 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:34 2010 +0200"
      },
      "message": "perf: Optimize context ops\n\nAssuming we don\u0027t mix events of different pmus onto a single context\n(with the exeption of software events inside a hardware group) we can\nnow assume that all events on a particular context belong to the same\npmu, hence we can disable the pmu for the entire context operations.\n\nThis reduces the amount of hardware writes.\n\nThe exception for swevents comes from the fact that the sw pmu disable\nis a nop.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "89a1e18731959e9953fae15ddc1a983eb15a4f19",
      "tree": "5a52e77acb23f47254c94e23eb6ed35a422fce1d",
      "parents": [
        "8dc85d547285668e509f86c177bcd4ea055bcaaf"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 07 17:34:50 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:34 2010 +0200"
      },
      "message": "perf: Provide a separate task context for swevents\n\nSince software events are always schedulable, mixing them up with\nhardware events (who are not) can lead to funny scheduling oddities.\n\nGiving them their own context solves this.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8dc85d547285668e509f86c177bcd4ea055bcaaf",
      "tree": "5474dd6c31952b342f0a3f1bcec09e3049129264",
      "parents": [
        "eb184479874238393ac186c4e054d24311c34aaa"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Sep 02 16:50:03 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:33 2010 +0200"
      },
      "message": "perf: Multiple task contexts\n\nProvide the infrastructure for multiple task contexts.\n\nA more flexible approach would have resulted in more pointer chases\nin the scheduling hot-paths. This approach has the limitation of a\nstatic number of task contexts.\n\nSince I expect most external PMUs to be system wide, or at least node\nwide (as per the intel uncore unit) they won\u0027t actually need a task\ncontext.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "eb184479874238393ac186c4e054d24311c34aaa",
      "tree": "ac7206becfb3e0d18600252d8f5aa15478c32390",
      "parents": [
        "97dee4f3206622f31396dede2b5ddb8670458f56"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 07 15:55:13 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:33 2010 +0200"
      },
      "message": "perf: Clean up perf_event_context allocation\n\nUnify the two perf_event_context allocation sites.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "97dee4f3206622f31396dede2b5ddb8670458f56",
      "tree": "0698df23dc32aa44cfc75968163825841c534160",
      "parents": [
        "108b02cfce04ee90b0a07ee0b104baffd39f5934"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Sep 07 15:35:33 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:33 2010 +0200"
      },
      "message": "perf: Move some code around\n\nMove all inherit code near each other.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "108b02cfce04ee90b0a07ee0b104baffd39f5934",
      "tree": "e209d5fe01cda90df2cc0241c6247fd934cc5087",
      "parents": [
        "b5ab4cd563e7ab49b27957704112a8ecade54e1f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 06 14:32:03 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:32 2010 +0200"
      },
      "message": "perf: Per-pmu-per-cpu contexts\n\nAllocate per-cpu contexts per pmu.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b5ab4cd563e7ab49b27957704112a8ecade54e1f",
      "tree": "a5d1194e001a1203c679e1f0014d3b40118a725d",
      "parents": [
        "b28ab83c595e767f2028276b7398d17f2253cec0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 06 16:32:21 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:32 2010 +0200"
      },
      "message": "perf: Per cpu-context rotation timer\n\nGive each cpu-context its own timer so that it is a self contained\nentity, this eases the way for per-pmu-per-cpu contexts as well as\nprovides the basic infrastructure to allow different rotation\ntimes per pmu.\n\nThings to look at:\n - folding the tick and these TICK_NSEC timers\n - separate task context rotation\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b28ab83c595e767f2028276b7398d17f2253cec0",
      "tree": "ae52b2d4c10d1317ec7a5906bea56847e95b5f43",
      "parents": [
        "c3f00c70276d8ae82578c8b773e2db657f69a478"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 06 14:48:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:32 2010 +0200"
      },
      "message": "perf: Remove the swevent hash-table from the cpu context\n\nSeparate the swevent hash-table from the cpu_context bits in\npreparation for per pmu cpu contexts.\n\nThis keeps the swevent hash a global entity.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c3f00c70276d8ae82578c8b773e2db657f69a478",
      "tree": "d941c7ffd4ca6918140690023a2611be3b055006",
      "parents": [
        "15ac9a395a753cb28c674e7ea80386ffdff21785"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Aug 18 14:37:15 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:31 2010 +0200"
      },
      "message": "perf: Separate find_get_context() from event initialization\n\nSeparate find_get_context() from the event allocation and\ninitialization so that we may make find_get_context() depend\non the event pmu in a later patch.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "15ac9a395a753cb28c674e7ea80386ffdff21785",
      "tree": "63879e3031a6ed8e372ffd254ef97ff703a4d478",
      "parents": [
        "a4eaf7f14675cb512d69f0c928055e73d0c6d252"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Sep 06 15:51:45 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:31 2010 +0200"
      },
      "message": "perf: Remove the sysfs bits\n\nNeither the overcommit nor the reservation sysfs parameter were\nactually working, remove them as they\u0027ll only get in the way.\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": "a4eaf7f14675cb512d69f0c928055e73d0c6d252",
      "tree": "e8a0f631fc28d4bd9becd2e9e2c71743c64ee3ec",
      "parents": [
        "fa407f35e0298d841e4088f95a7f9cf6e725c6d5"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jun 16 14:37:10 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:30 2010 +0200"
      },
      "message": "perf: Rework the PMU methods\n\nReplace pmu::{enable,disable,start,stop,unthrottle} with\npmu::{add,del,start,stop}, all of which take a flags argument.\n\nThe new interface extends the capability to stop a counter while\nkeeping it scheduled on the PMU. We replace the throttled state with\nthe generic stopped state.\n\nThis also allows us to efficiently stop/start counters over certain\ncode paths (like IRQ handlers).\n\nIt also allows scheduling a counter without it starting, allowing for\na generic frozen state (useful for rotating stopped counters).\n\nThe stopped state is implemented in two different ways, depending on\nhow the architecture implemented the throttled state:\n\n 1) We disable the counter:\n    a) the pmu has per-counter enable bits, we flip that\n    b) we program a NOP event, preserving the counter state\n\n 2) We store the counter state and ignore all read/overflow events\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fa407f35e0298d841e4088f95a7f9cf6e725c6d5",
      "tree": "8ffb9141278688835de02e1940a8535c54a87cd7",
      "parents": [
        "ad5133b7030d04ce7701aa7cbe98f561347c79c2"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jun 24 12:35:12 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:30 2010 +0200"
      },
      "message": "perf: Shrink hw_perf_event\n\nUse hw_perf_event::period_left instead of hw_perf_event::remaining\nand win back 8 bytes.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.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": "ad5133b7030d04ce7701aa7cbe98f561347c79c2",
      "tree": "b0593f2cdc40432ad2d91c5eaa9485df328ab97b",
      "parents": [
        "33696fc0d141bbbcb12f75b69608ea83282e3117"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jun 15 12:22:39 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:30 2010 +0200"
      },
      "message": "perf: Default PMU ops\n\nProvide default implementations for the pmu txn methods, this\nallows us to remove some conditional code.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "33696fc0d141bbbcb12f75b69608ea83282e3117",
      "tree": "72e08dba377d57eb7dd8c08a937a6de10e8af9c4",
      "parents": [
        "24cd7f54a0d47e1d5b3de29e2456bfbd2d8447b7"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Jun 14 08:49:00 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:29 2010 +0200"
      },
      "message": "perf: Per PMU disable\n\nChanges perf_disable() into perf_pmu_disable().\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "24cd7f54a0d47e1d5b3de29e2456bfbd2d8447b7",
      "tree": "a37d3a4cb101e3f67635a1920f447c9e9e8d8ab2",
      "parents": [
        "9ed6060d286b1eb55974d09080f442f809408c42"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jun 11 17:32:03 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Sep 09 20:46:29 2010 +0200"
      },
      "message": "perf: Reduce perf_disable() usage\n\nSince the current perf_disable() usage is only an optimization,\nremove it for now. This eases the removal of the __weak\nhw_perf_enable() interface.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: paulus \u003cpaulus@samba.org\u003e\nCc: stephane eranian \u003ceranian@googlemail.com\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCc: Lin Ming \u003cming.m.lin@intel.com\u003e\nCc: Yanmin \u003cyanmin_zhang@linux.intel.com\u003e\nCc: Deng-Cheng Zhu \u003cdengcheng.zhu@gmail.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Michael Cree \u003cmcree@orcon.net.nz\u003e\nLKML-Reference: \u003cnew-submission\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "9ed6060d286b1eb55974d09080f442f809408c42"
}
